From: Rudolf Polzer Date: Wed, 20 Oct 2010 14:26:24 +0000 (+0200) Subject: better handle stdin X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=a64bee92230a99413965d160d6ab2f25f16c9208;p=xonotic%2Fdiv0-gittools.git better handle stdin --- diff --git a/git-recurse b/git-recurse index 5a373da..17959bd 100755 --- a/git-recurse +++ b/git-recurse @@ -79,16 +79,19 @@ processargs() "$@" } +# save stdin +exec 3<&0 + # recurse through all sub-repos status=0 # TODO is there a better way to identify all sub-repos? -for GITDIR in `find . -type d -name \*.git -prune`; do +find . -type d -name \*.git -prune | while IFS= read -r GITDIR; do # TODO I would LIKE to do this, but then some commands (like pull) fail #export GIT_DIR="$GITDIR" #export GIT_WORK_TREE="${GITDIR%/.git}" # so I will have to chdir instead - ( cd "$GITDIR/.." && processargs git "$@" ) + ( cd "$GITDIR/.." && processargs git "$@" <&3 3<&- ) # use restored stdin if [ "$?" -gt "$status" ]; then status=$? fi