From: Johannes Sixt Date: Wed, 26 Sep 2007 10:33:50 GMT Subject: Re: [PATCH 5/5] rebase -i: avoid exporting GIT_AUTHOR_* variables Message-ID: <46FA358E.40500@viscovery.net> In-Reply-To: Johannes Schindelin schrieb: > diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh > index 445a299..e3e89dd 100755 > --- a/git-rebase--interactive.sh > +++ b/git-rebase--interactive.sh > @@ -174,7 +174,11 @@ pick_one_preserving_merges () { > eval "$author_script" > msg="$(git cat-file commit $sha1 | sed -e '1,/^$/d')" > # NEEDSWORK: give rerere a chance > - if ! output git merge $STRATEGY -m "$msg" $new_parents > + if ! GIT_AUTHOR_NAME="$GIT_AUTHOR_NAME" \ > + GIT_AUTHOR_EMAIL="$GIT_AUTHOR_EMAIL" \ > + GIT_AUTHOR_DATE="$GIT_AUTHOR_DATE" \ > + output git merge $STRATEGY -m "$msg" \ > + $new_parents > then > printf "%s\n" "$msg" > "$GIT_DIR"/MERGE_MSG > die Error redoing merge $sha1 > @@ -281,7 +285,9 @@ do_next () { > f) > # This is like --amend, but with a different message > eval "$author_script" > - export GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL GIT_AUTHOR_DATE > + GIT_AUTHOR_NAME="$GIT_AUTHOR_NAME" \ > + GIT_AUTHOR_EMAIL="$GIT_AUTHOR_EMAIL" \ > + GIT_AUTHOR_DATE="$GIT_AUTHOR_DATE" \ > $USE_OUTPUT git commit -F "$MSG" $EDIT_COMMIT > ;; > t) According to Herbert Xu's recent post (http://article.gmane.org/gmane.comp.version-control.git/59219) this won't export the variables in all shells since 'output' is a shell function. :-( -- Hannes