clone
Perform the clone step for a newly created submodule.
This performs the necessary git clone to setup a newly-created submodule.
Signature
class Submodule {
clone(
options?: SubmoduleUpdateOptions | null | undefined,
signal?: AbortSignal | null | undefined,
): Promise<Repository>;
}Parameters
- optionsnull | SubmoduleUpdateOptions
The options to use.
- allowFetchboolean
Allow fetching from the submodule's default remote if the target commit isn't found. Default:
true. - checkoutCheckoutOptions
These options are passed to the checkout step.
- allowConflictsboolean
In safe mode, apply safe file updates even when there are conflicts instead of canceling the checkout. Defaults to false.
- ancestorLabelstring
The name of the common ancestor side of conflicts
- conflictStyleDiff3boolean
Indicates whether to include common ancestor data in diff3 format files for conflicts. Defaults to false.
- conflictStyleMergeboolean
Indicate whether a normal merge file should be written for conflicts. Defaults to false.
- dirPermnumber
Set the mode with which new directories are created. Default is 0755
- disableFiltersboolean
Indicate whether to apply filters like CRLF conversion.
- disablePathspecMatchboolean
Treat paths specified in
pathas exact file paths instead of as pathspecs. - dryRunboolean
Indicate that this checkout should perform a dry run by checking for conflicts but not make any actual changes.
- filePermnumber
Set the mode with which new files are created. The default is 0644 or 0755 as dictated by the blob.
- forceboolean
Take any action necessary to get the working directory to match the target including potentially discarding modified files.
- ourLabelstring
The name of the common our side of conflicts
- overwriteIgnoredboolean
Indicate whether ignored files should be overwritten during the checkout. Defaults to true.
- pathstring
Add a path to be checked out. The path is a <a href="https://git-scm.com/docs/gitglossary.html#Documentation/gitglossary.txt-aiddefpathspecapathspec">pathspec</a> pattern, unless
disablePathspecMatchis set. If no paths are specified, then all files are checked out. Otherwise only these specified paths are checked out. - recreateMissingboolean
In safe mode, create files that don't exist. Defaults to false.
- refreshboolean
Indicate whether the index and git attributes should be refreshed from disk before any operations. Defaults to true,
- removeIgnoredboolean
Remove ignored files from the working dir. Defaults to false.
- removeUntrackedboolean
Remove untracked files from the working dir. Defaults to false.
- safeboolean
Indicate that the checkout should be performed safely, allowing new files to be created but not overwriting existing files or changes. This is the default.
- skipUnmergedboolean
Skip files with unmerged index entries. Defaults to false.
- targetDirstring
Set the directory to check out to
- theirLabelstring
The name of the common their side of conflicts
- updateIndexboolean
Prevents checkout from writing the updated files' information to the index. Defaults to true.
- updateOnlyboolean
Only update the contents of files that already exist. If set, files will not be created or deleted. Defaults to false.
- useOursboolean
Indicate whether the checkout should proceed on conflicts by using the stage 2 version of the file ("ours"). Defaults to false.
- useTheirsboolean
Indicate whether the checkout should proceed on conflicts by using the stage 3 version of the file ("theirs"). Defaults to false.
- allowConflictsboolean
- fetchFetchOptions
Options which control the fetch, including callbacks.
- credentialCredential
A interface to represent git credentials in libgit2.
- customHeadersstring[]
Set extra headers for this fetch operation.
- depthnumber
Set fetch depth, a value less or equal to 0 is interpreted as pull everything (effectively the same as not declaring a limit depth).
- downloadTagsAutotagOption
Set how to behave regarding tags on the remote, such as auto-downloading tags for objects we're downloading or downloading all of them. The default is to auto-follow tags.
-
Unspecified: Use the setting from the remote's configuration
-Auto: Ask the server for tags pointing to objects we're already downloading
-None: Don't ask for any tags beyond the refspecs
-All: Ask for all the tags - followRedirectsRemoteRedirect
Set remote redirection settings; whether redirects to another host are permitted. By default, git will follow a redirect on the initial request (
/info/refs), but not subsequent requests.-
None: Do not follow any off-site redirects at any stage of the fetch or push.
-Initial: Allow off-site redirects only upon the initial request. This is the default.
-All: Allow redirects at any stage in the fetch or push. - proxyProxyOptions
Set the proxy options to use for the fetch operation.
- autoboolean
Try to auto-detect the proxy from the git configuration. Note that this will override
urlspecified before. - urlstring
Specify the exact URL of the proxy to use. Note that this will override
autospecified before.
- autoboolean
- pruneFetchPrune
Set whether to perform a prune after the fetch.
-
Unspecified: Use the setting from the configuration.
-On: Force pruning on.
-Off: Force pruning off
- credentialCredential
- allowFetchboolean
- signalnull | AbortSignal
Optional AbortSignal to cancel the operation.
Returns
- Promise<Repository>
The newly created repository object.
