Skip to content

Commit 7b1378b

Browse files
ijcgitster
authored andcommitted
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 <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent d24813c commit 7b1378b

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed

git-filter-branch.sh

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -219,6 +219,13 @@ trap 'cd "$orig_dir"; rm -rf "$tempdir"' 0
219219
ORIG_GIT_DIR="$GIT_DIR"
220220
ORIG_GIT_WORK_TREE="$GIT_WORK_TREE"
221221
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+
222229
GIT_WORK_TREE=.
223230
export GIT_DIR GIT_WORK_TREE
224231

@@ -545,6 +552,8 @@ if [ "$filter_tag_name" ]; then
545552
fi
546553

547554
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
548557
test -z "$ORIG_GIT_DIR" || {
549558
GIT_DIR="$ORIG_GIT_DIR" && export GIT_DIR
550559
}
@@ -556,6 +565,30 @@ test -z "$ORIG_GIT_INDEX_FILE" || {
556565
GIT_INDEX_FILE="$ORIG_GIT_INDEX_FILE" &&
557566
export GIT_INDEX_FILE
558567
}
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+
}
559592

560593
cd "$orig_dir"
561594
rm -rf "$tempdir"

0 commit comments

Comments
 (0)