| Index: git-crup
|
| diff --git a/git-crup b/git-crup
|
| index d07a4283d54b6429415d7656a390bb4a33158b57..155afda63c6629f86336d0076851b00ed1bb4d53 100755
|
| --- a/git-crup
|
| +++ b/git-crup
|
| @@ -45,16 +45,18 @@ fi
|
|
|
| usage() {
|
| cat <<EOF
|
| -Usage: git-crup [-n|--dry-run] [--fetch] [-j|--jobs [jobs]]
|
| +Usage: git-crup [-n|--dry-run] [--fetch|--sync] [-j|--jobs [jobs]]
|
| [--no-hooks] [<args to git-pull or git-fetch>]
|
| EOF
|
| }
|
|
|
| serial_update() {
|
| ( cd "$1"
|
| - $GIT_EXE $pull $pull_args -q origin | sed "s/^/[$1] /g"
|
| - if [ $? -ne 0 ]; then
|
| - return $?
|
| + if test -n "$toplevel_cmd"; then
|
| + $toplevel_cmd | sed "s/^/[$1] /g"
|
| + if [ $? -ne 0 ]; then
|
| + return $?
|
| + fi
|
| fi
|
| $GIT_EXE submodule --quiet sync
|
| $GIT_EXE ls-files -s | grep ^160000 | awk '{print $4}' |
|
| @@ -93,6 +95,9 @@ while test $# -ne 0; do
|
| --fetch)
|
| pull=fetch
|
| ;;
|
| + --sync)
|
| + pull=
|
| + ;;
|
| --no-hooks|--nohooks)
|
| hooks=no
|
| ;;
|
| @@ -124,11 +129,17 @@ else
|
| xargs_parallel=no
|
| fi
|
|
|
| +if test -n "$pull"; then
|
| + toplevel_cmd="$GIT_EXE $pull $pull_args -q origin"
|
| +else
|
| + toplevel_cmd=
|
| +fi
|
| +
|
| set -o pipefail
|
| if test "$xargs_parallel" = "yes"; then
|
| ( ls -d */.git | sed 's/\/\.git$//' |
|
| xargs $max_lines $replace_arg -P "$j" \
|
| - "$crup_runner" replace_arg $GIT_EXE $pull $pull_args -q origin |
|
| + "$crup_runner" replace_arg $toplevel_cmd |
|
| xargs $max_lines -P "$j" "$crup_runner" )
|
| else
|
| ls -d */.git |
|
|
|