import { Repository } from './repository'; import { Buf } from './buf'; import { Oid } from './oid'; import { SubmoduleUpdateOptions } from './submodule-update-options'; export namespace Submodule { const enum IGNORE { UNSPECIFIED = -1, NONE = 1, UNTRACKED = 2, DIRTY = 3, ALL = 4 } const enum RECURSE { NO = 0, YES = 1, ONDEMAND = 2 } const enum STATUS { IN_HEAD = 1, IN_INDEX = 2, IN_CONFIG = 4, IN_WD = 8, INDEX_ADDED = 16, INDEX_DELETED = 32, INDEX_MODIFIED = 64, WD_UNINITIALIZED = 128, WD_ADDED = 256, WD_DELETED = 512, WD_MODIFIED = 1024, WD_INDEX_MODIFIED = 2048, WD_WD_MODIFIED = 4096, WD_UNTRACKED = 8192 } const enum UPDATE { CHECKOUT = 1, REBASE = 2, MERGE = 3, NONE = 4, DEFAULT = 0 } } export class Submodule { /** * * * @static * @param {Repository} repo * @param {string} url * @param {string} path * @param {number} useGitLink * @returns {Promise} * * @memberof Submodule */ static addSetup(repo: Repository, url: string, path: string, useGitLink: number): Promise; /** * * * @static * @param {Repository} repo * @param {Function} callback * @param {*} payload * @returns {Promise} * * @memberof Submodule */ static foreach(repo: Repository, callback: Function, payload: any): Promise; /** * * * @static * @param {Repository} repo * @param {string} name * @returns {Promise} * * @memberof Submodule */ static lookup(repo: Repository, name: string): Promise; /** * * * @static * @param {Repository} repo * @param {string} url * @returns {Promise} * * @memberof Submodule */ static resolveUrl(repo: Repository, url: string): Promise; /** * * * @static * @param {Repository} repo * @param {string} name * @param {string} branch * @returns {number} * * @memberof Submodule */ static setBranch(repo: Repository, name: string, branch: string): number; /** * * * @static * @param {Repository} repo * @param {string} name * @param {number} fetchRecurseSubmodules * @returns {number} * * @memberof Submodule */ static setFetchRecurseSubmodules(repo: Repository, name: string, fetchRecurseSubmodules: number): number; /** * * * @static * @param {Repository} repo * @param {string} name * @param {number} ignore * @returns {Promise} * * @memberof Submodule */ static setIgnore(repo: Repository, name: string, ignore: number): Promise; /** * * * @static * @param {Repository} repo * @param {string} name * @param {number} update * @returns {Promise} * * @memberof Submodule */ static setUpdate(repo: Repository, name: string, update: number): Promise; /** * * * @static * @param {Repository} repo * @param {string} name * @param {string} url * @returns {Promise} * * @memberof Submodule */ static setUrl(repo: Repository, name: string, url: string): Promise; /** * * * @static * @param {Repository} repo * @param {string} name * @param {number} ignore * @returns {Promise} * * @memberof Submodule */ static status(repo: Repository, name: string, ignore: number): Promise; /** * * * @static * @param {SubmoduleUpdateOptions} opts * @param {number} version * @returns {number} * * @memberof Submodule */ static updateInitOptions(opts: SubmoduleUpdateOptions, version: number): number; /** * * * @returns {Promise} * * @memberof Submodule */ addFinalize(): Promise; /** * * * @param {number} writeIndex * @returns {Promise} * * @memberof Submodule */ addToIndex(writeIndex: number): Promise; /** * * * @returns {string} * * @memberof Submodule */ branch(): string; /** * * * @returns {number} * * @memberof Submodule */ fetchRecurseSubmodules(): number; /** * * * * @memberof Submodule */ free(): void; /** * * * @returns {Oid} * * @memberof Submodule */ headId(): Oid; /** * * * @returns {number} * * @memberof Submodule */ ignore(): number; /** * * * @returns {Oid} * * @memberof Submodule */ indexId(): Oid; /** * * * @param {number} overwrite * @returns {Promise} * * @memberof Submodule */ init(overwrite: number): Promise; /** * * * @returns {Promise} * * @memberof Submodule */ location(): Promise; /** * * * @returns {string} * * @memberof Submodule */ name(): string; /** * * * @returns {Promise} * * @memberof Submodule */ open(): Promise; /** * * * @returns {Repository} * * @memberof Submodule */ owner(): Repository; /** * * * @returns {string} * * @memberof Submodule */ path(): string; /** * * * @param {number} force * @returns {number} * * @memberof Submodule */ reload(force: number): number; /** * * * @param {number} useGitLink * @returns {Promise} * * @memberof Submodule */ repoInit(useGitLink: number): Promise; /** * * * @returns {Promise} * * @memberof Submodule */ sync(): Promise; /** * Updates a submodule * * @param {number} init * @param {SubmoduleUpdateOptions} options * @returns {Promise} * * @memberof Submodule */ update(init: number, options: SubmoduleUpdateOptions): Promise; /** * * * @returns {number} * * @memberof Submodule */ updateStrategy(): number; /** * * * @returns {string} * * @memberof Submodule */ url(): string; /** * * * @returns {Oid} * * @memberof Submodule */ wdId(): Oid; }