git-sprig(1)

git-sprig(1) General Commands Manual git-sprig(1)

NAME

git-sprig - Plant git repositories and submodules as plain files, without histories

SYNOPSIS

git-sprig [OPTIONS] [repository] [directory] [--] [<pathspec>...]

DESCRIPTION

Fetches exactly the commit each submodule is pinned to, writes its files and does the same for nested submodules. A positional repository and destination materialize the complete root tree as well. No history and no .git directories are left behind.

Each destination is replaced as a whole, once it has been written completely. Direct mode requires an explicit destination. Pathspecs after -- and --exclude filter only top-level submodules. All output goes to stderr.

OPTIONS

-C, --repo <DIR> [default: .]
Superproject to read the submodules from
--revision <tree-ish> [default: HEAD]
Revision of the source repository to use
-b, --basedir <DIR>
Base directory for submodule-only mode (default: .)
--exclude <pathspec>
Top-level submodule pathspec to exclude; may be repeated
--force
Replace destinations that have a .git of their own, discarding work in them
--stage
Replace the submodules in the superproject's index with their files, ready to commit
--raw
Write files as stored, without .gitattributes conversion
--no-recursive
Do not recurse into submodules of submodules
--max-depth <N> [default: 32]
Levels of submodules to materialize (0 = unlimited)
--remote-url <URL>
Base URL for relative submodule URLs; defaults to the source remote or URL
-c, --config <KEY=VALUE>
Configuration for the fetches, like `git -c`
--tempdir <DIR>
Directory for the temporary repositories
-j, --jobs <N> [default: 8]
Number of submodules fetched at the same time (default: CPUs, at most 8)
--dry-run
Show what would be fetched without changing anything
-q, --quiet
Only print errors
-v, --verbose
Also print how each submodule was fetched and written
-h, --help
Print help (see a summary with '-h')
-V, --version
Print version
[repository]
Local or remote repository to materialize completely
[directory]
Required destination for the complete repository tree

INSTALLATION

--generate-man
Print the manual page, to install as git-sprig(1), and exit
--generate-completions <SHELL>
Print shell completions, for `git sprig` too, and exit

Possible values:

  • bash
  • fish
  • zsh

EXIT STATUS

0
Success.
128
A fatal error, reported after fatal:.
129
A wrong command line.
130
Interrupted, for example by Ctrl-C.

VERSION

v0.2.1

git-sprig 0.2.1