git completion: 'git fetch' for remotes
@@ -14,6 +14,54 @@ module completions {
^git remote | lines | each { |line| $line | str trim }
}
+ # Download objects and refs from another repository
+ export extern "git fetch" [
+ repository?: string@"nu-complete git remotes" # name of the branch to fetch
+ --all # Fetch all remotes
+ --append(-a) # Append ref names and object names to .git/FETCH_HEAD
+ --atomic # Use an atomic transaction to update local refs.
+ --depth: int # Limit fetching to n commits from the tip
+ --deepen: int # Limit fetching to n commits from the current shallow boundary
+ --shallow-since: string # Deepen or shorten the history by date
+ --shallow-exclude: string # Deepen or shorten the history by branch/tag
+ --unshallow # Fetch all available history
+ --update-shallow # Update .git/shallow to accept new refs
+ --negotiation-tip: string # Specify which commit/glob to report while fetching
+ --negotiate-only # Do not fetch, only print common ancestors
+ --dry-run # Show what would be done
+ --write-fetch-head # Write fetched refs in FETCH_HEAD (default)
+ --no-write-fetch-head # Do not write FETCH_HEAD
+ --force(-f) # Always update the local branch
+ --keep(-k) # Keep dowloaded pack
+ --multiple # Allow several arguments to be specified
+ --auto-maintenance # Run 'git maintenance run --auto' at the end (default)
+ --no-auto-maintenance # Don't run 'git maintenance' at the end
+ --auto-gc # Run 'git maintenance run --auto' at the end (default)
+ --no-auto-gc # Don't run 'git maintenance' at the end
+ --write-commit-graph # Write a commit-graph after fetching
+ --no-write-commit-graph # Don't write a commit-graph after fetching
+ --prefetch # Place all refs into the refs/prefetch/ namespace
+ --prune(-p) # Remove obsolete remote-tracking references
+ --prune-tags(-P) # Remove any local tags that do not exist on the remote
+ --no-tags(-n) # Disable automatic tag following
+ --refmap: string # Use this refspec to map the refs to remote-tracking branches
+ --tags(-t) # Fetch all tags
+ --recurse-submodules: string # Fetch new commits of populated submodules (yes/on-demand/no)
+ --jobs(-j): int # Number of parallel children
+ --no-recurse-submodules # Disable recursive fetching of submodules
+ --set-upstream # Add upstream (tracking) reference
+ --submodule-prefix: string # Prepend to paths printed in informative messages
+ --upload-pack: string # Non-default path for remote command
+ --quiet(-q) # Silence internally used git commands
+ --verbose(-v) # Be verbose
+ --progress # Report progress on stderr
+ --server-option(-o): string # Pass options for the server to handle
+ --show-forced-updates # Check if a branch is force-updated
+ --no-show-forced-updates # Don't check if a branch is force-updated
+ -4 # Use IPv4 addresses, ignore IPv6 addresses
+ -6 # Use IPv6 addresses, ignore IPv4 addresses
+ ]
+
# Check out git branches and files
export extern "git checkout" [
...targets: string@"nu-complete git branches" # name of the branch or files to checkout
