[RFC] [submodule] Add depth to submodule update
- From
Fredrik Gustafsson <iveqy@iveqy.com>
- Date
- Jun 23, 2013, 08:04 UTC
- Message-ID
- <1371974698-28685-1-git-send-email-iveqy@iveqy.com>
Used only when a clone is initialized. This is useful when the submodule(s) are huge and you're not really interested in anything but the latest commit.
Signed-off-by: Fredrik Gustafsson <iveqy@iveqy.com> --- git-submodule.sh | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/git-submodule.sh b/git-submodule.sh index 79bfaac..b102fa8 100755 --- a/git-submodule.sh +++ b/git-submodule.sh @@ -211,12 +211,18 @@ module_clone() name=$2 url=$3 reference="$4" + depth=$5 quiet= if test -n "$GIT_QUIET" then quiet=-q fi + if test -n "$depth" + then + depth="--depth=$depth" + fi + gitdir= gitdir_base= base_name=$(dirname "$name") @@ -233,7 +239,7 @@ module_clone() mkdir -p "$gitdir_base" ( clear_local_git_env - git clone $quiet -n ${reference:+"$reference"} \ + git clone $quiet $depth -n ${reference:+"$reference"} \ --separate-git-dir "$gitdir" "$url" "$sm_path" ) || die "$(eval_gettext "Clone of '\$url' into submodule path '\$sm_path' failed")" @@ -676,6 +682,9 @@ cmd_update() --checkout) update="checkout" ;; + --depth) + depth=$2 + ;; --) shift break @@ -735,7 +744,7 @@ Maybe you want to use 'update --init'?")" if ! test -d "$sm_path"/.git -o -f "$sm_path"/.git then - module_clone "$sm_path" "$name" "$url" "$reference" || exit + module_clone "$sm_path" "$name" "$url" "$reference" "$depth" || exit cloned_modules="$cloned_modules;$name" subsha1= else
-- 1.8.0