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

Unified Diff: crup-runner.sh

Issue 11645056: Some polishing... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/depot_tools/
Patch Set: Created 8 years 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 | git-crup » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: crup-runner.sh
===================================================================
--- crup-runner.sh (revision 174277)
+++ crup-runner.sh (working copy)
@@ -9,13 +9,39 @@
cd "$solution"
if [ "$solution" = "$1" ]; then
shift
- $@ | sed "s/^/[$solution] /g" 1>&2
+ # Don't "pull" if checkout is not on a named branch
+ if test "$2" = "pull" && ( ! git symbolic-ref HEAD >/dev/null 2>/dev/null ); then
+ first_args="$1 fetch"
+ else
+ first_args="$1 $2"
+ fi
+ shift 2
+ $first_args $@ | sed "s/^/[$solution] /g" 1>&2
if [ $? -ne 0 ]; then
exit $?
fi
"$GIT_EXE" submodule --quiet sync
"$GIT_EXE" ls-files -s | grep ^160000 | awk '{print $4}' |
- sed "s/^/$solution\//g"
+ while read submod; do
+ # Check whether this submodule should be ignored or updated.
+ # If it's a new submodule, match the os specified in .gitmodules against
+ # the os specified in .git/config.
+ update_policy=$(git config "submodule.$submod.update" 2>/dev/null)
+ if [ -z "$update_policy" ]; then
+ target_os=$(git config target.os 2>/dev/null)
+ submod_os=$(git config -f .gitmodules "submodule.$submod.os" 2>/dev/null)
+ if [ -n "$target_os" -a -n "$submod_os" ] &&
+ [ "$submod_os" != "all" -a "$submod_os" != "$target_os" ]; then
+ update_policy=none
+ else
+ update_policy=checkout
+ fi
+ git config "submodule.$submod.update" $update_policy 2>/dev/null
+ fi
+ if [ "$update_policy" != "none" ]; then
+ echo "$solution/$submod"
+ fi
+ done
status=$?
else
submodule="${1#*/}"
« no previous file with comments | « no previous file | git-crup » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698