filter-branch: preserve and restore $GIT_AUTHOR_* and $GIT_COMMITTER_*

These are modified by set_ident() but a subsequent patch would like to operate on their original values. Signed-off-by: Ian Campbell <ijc@hellion.org.uk> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Ian Campbell committed Sep 21, 2017 at 08:49 UTC 7b1378bd9547f0842128101a56a64e769a440b37
1 file changed +33
git-filter-branch.sh
+33
@@ -219,6 +219,13 @@ trap 'cd "$orig_dir"; rm -rf "$tempdir"' 0
219 ORIG_GIT_DIR="$GIT_DIR"
220 ORIG_GIT_WORK_TREE="$GIT_WORK_TREE"
221 ORIG_GIT_INDEX_FILE="$GIT_INDEX_FILE"
222 +ORIG_GIT_AUTHOR_NAME="$GIT_AUTHOR_NAME"
223 +ORIG_GIT_AUTHOR_EMAIL="$GIT_AUTHOR_EMAIL"
224 +ORIG_GIT_AUTHOR_DATE="$GIT_AUTHOR_DATE"
225 +ORIG_GIT_COMMITTER_NAME="$GIT_COMMITTER_NAME"
226 +ORIG_GIT_COMMITTER_EMAIL="$GIT_COMMITTER_EMAIL"
227 +ORIG_GIT_COMMITTER_DATE="$GIT_COMMITTER_DATE"
228 +
229 GIT_WORK_TREE=.
230 export GIT_DIR GIT_WORK_TREE
231
@@ -545,6 +552,8 @@ if [ "$filter_tag_name" ]; then
552 fi
553
554 unset GIT_DIR GIT_WORK_TREE GIT_INDEX_FILE
555 +unset GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL GIT_AUTHOR_DATE
556 +unset GIT_COMMITTER_NAME GIT_COMMITTER_EMAIL GIT_COMMITTER_DATE
557 test -z "$ORIG_GIT_DIR" || {
558 GIT_DIR="$ORIG_GIT_DIR" && export GIT_DIR
559 }
@@ -556,6 +565,30 @@ test -z "$ORIG_GIT_INDEX_FILE" || {
565 GIT_INDEX_FILE="$ORIG_GIT_INDEX_FILE" &&
566 export GIT_INDEX_FILE
567 }
568 +test -z "$ORIG_GIT_AUTHOR_NAME" || {
569 + GIT_AUTHOR_NAME="$ORIG_GIT_AUTHOR_NAME" &&
570 + export GIT_AUTHOR_NAME
571 +}
572 +test -z "$ORIG_GIT_AUTHOR_EMAIL" || {
573 + GIT_AUTHOR_EMAIL="$ORIG_GIT_AUTHOR_EMAIL" &&
574 + export GIT_AUTHOR_EMAIL
575 +}
576 +test -z "$ORIG_GIT_AUTHOR_DATE" || {
577 + GIT_AUTHOR_DATE="$ORIG_GIT_AUTHOR_DATE" &&
578 + export GIT_AUTHOR_DATE
579 +}
580 +test -z "$ORIG_GIT_COMMITTER_NAME" || {
581 + GIT_COMMITTER_NAME="$ORIG_GIT_COMMITTER_NAME" &&
582 + export GIT_COMMITTER_NAME
583 +}
584 +test -z "$ORIG_GIT_COMMITTER_EMAIL" || {
585 + GIT_COMMITTER_EMAIL="$ORIG_GIT_COMMITTER_EMAIL" &&
586 + export GIT_COMMITTER_EMAIL
587 +}
588 +test -z "$ORIG_GIT_COMMITTER_DATE" || {
589 + GIT_COMMITTER_DATE="$ORIG_GIT_COMMITTER_DATE" &&
590 + export GIT_COMMITTER_DATE
591 +}
592
593 cd "$orig_dir"
594 rm -rf "$tempdir"