Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(39)

Unified Diff: git-crup

Issue 10830108: Fix handling of optional argument to -j. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/depot_tools/
Patch Set: Created 8 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: git-crup
===================================================================
--- git-crup (revision 149648)
+++ git-crup (working copy)
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash
# Copyright (c) 2012 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
@@ -13,6 +13,12 @@
pull_args=
hooks=yes
+if ( echo test | xargs --max-lines=1 true 2>/dev/null ); then
+ max_lines="--max-lines=1"
+else
+ max_lines="-L 1"
+fi
+
usage() {
cat <<EOF 1>&2
Usage: git-crup [-n|--dry-run] [--fetch] [-j|--jobs [jobs]]
@@ -25,30 +31,32 @@
cd "$1"
$ECHO git $pull $pull_args origin
$ECHO git submodule sync
- if ( echo test | xargs --max-lines=1 true 2>/dev/null ); then
- max_lines="--max-lines=1"
- else
- max_lines="-L 1"
- fi
- if ( echo test | xargs -P "$j" true 2>/dev/null )
- then
+ if test "$xargs_parallel" = "yes"; then
git ls-files -s | grep ^160000 | awk '{print $4}' |
xargs $max_lines -P "$j" $ECHO git submodule update --init
else
- echo "Warn: parallel execution is not supported on this platform."
$ECHO git submodule update --init
fi )
}
while test $# -ne 0; do
case "$1" in
+ -j[0-9]*)
+ j=$(echo "$1" | cut -c3-)
+ ;;
+ --jobs=[0-9]*)
+ j=$(echo "$1" | cut -c8-)
+ ;;
-j|--jobs)
- if test -n "$2"; then
- j="$2"
- shift
- else
- j=0
- fi
+ case "$2" in
+ ''|-*)
+ j=0
+ ;;
+ *)
+ j="$2"
+ shift
+ ;;
+ esac
;;
-n|--dry-run)
ECHO=echo
@@ -82,6 +90,15 @@
exit 1
fi
+if ( echo test test | xargs -P 2 true 2>/dev/null ); then
+ xargs_parallel=yes
+else
+ if test "$j" != "1"; then
+ echo "Warning: parallel execution is not supported on this platform." 1>&2
+ fi
+ xargs_parallel=no
+fi
+
ls -d */.git |
while read gitdir; do
parallel_update `dirname $gitdir`
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698