]> git.ipfire.org Git - thirdparty/git.git/commit - .gitignore
submodule: rewrite `module_list` shell function in C
authorStefan Beller <sbeller@google.com>
Wed, 2 Sep 2015 21:42:24 +0000 (14:42 -0700)
committerJunio C Hamano <gitster@pobox.com>
Thu, 3 Sep 2015 21:12:40 +0000 (14:12 -0700)
commit74703a1e4dfc5affcb8944e78b53f0817b492246
treea3f41ccf0a838804fd763bb44fba08d85f91c1ca
parent5a1ba6b48a62bf55f9c8305d9850c3a8d22365c5
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>
.gitignore
Makefile
builtin.h
builtin/submodule--helper.c [new file with mode: 0644]
git-submodule.sh
git.c