diff options
author | Stefan Beller <sbeller@google.com> | 2015-09-02 23:42:24 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2015-09-03 23:12:40 +0200 |
commit | 74703a1e4dfc5affcb8944e78b53f0817b492246 (patch) | |
tree | a3f41ccf0a838804fd763bb44fba08d85f91c1ca /.gitignore | |
parent | Merge 'hv/submodule-config' to 'sb/submodule-helper' (diff) | |
download | git-74703a1e4dfc5affcb8944e78b53f0817b492246.tar.xz git-74703a1e4dfc5affcb8944e78b53f0817b492246.zip |
submodule: rewrite `module_list` shell function in C
Most of the submodule operations work on a set of submodules.
Calculating and using this set is usually done via:
module_list "$@" | {
while read mode sha1 stage sm_path
do
# the actual operation
done
}
Currently the function `module_list` is implemented in the
git-submodule.sh as a shell script wrapping a perl script.
The rewrite is in C, such that it is faster and can later be
easily adapted when other functions are rewritten in C.
git-submodule.sh, similar to the builtin commands, will navigate
to the top-most directory of the repository and keep the
subdirectory as a variable. As the helper is called from
within the git-submodule.sh script, we are already navigated
to the root level, but the path arguments are still relative
to the subdirectory we were in when calling git-submodule.sh.
That's why there is a `--prefix` option pointing to an alternative
path which to anchor relative path arguments.
Signed-off-by: Stefan Beller <sbeller@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to '.gitignore')
-rw-r--r-- | .gitignore | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore index 4fd81baf85..1c2f832138 100644 --- a/.gitignore +++ b/.gitignore @@ -155,6 +155,7 @@ /git-status /git-stripspace /git-submodule +/git-submodule--helper /git-svn /git-symbolic-ref /git-tag |