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 | |