diff --git a/bin/deprecate-email b/bin/deprecate-email index f48fb1a..f4e245c 100755 --- a/bin/deprecate-email +++ b/bin/deprecate-email @@ -15,27 +15,29 @@ new_name="$(git config user.name)" # Replacing author and committer emails has to be done separately to avoid unintentional overwrites # e.g. in commits with multiple authors. -(export FILTER_BRANCH_SQUELCH_WARNING=1 && \ -echo "1/2 Overwriting committer" && \ -git filter-branch -f --commit-filter " - if [ \"\$GIT_COMMITTER_EMAIL\" = \"$old_email\" ] || \ - ([ \"\$GIT_COMMITTER_EMAIL\" = \"noreply@github.com\" ] && \ - ([ \"\$GIT_AUTHOR_EMAIL\" = \"$old_email\" ] || \ - [ \"\$GIT_AUTHOR_EMAIL\" = \"$new_email\" ])); - then - GIT_COMMITTER_NAME=\"$new_name\"; - GIT_COMMITTER_EMAIL=\"$new_email\"; - git commit-tree \"\$@\"; - else - git commit-tree \"\$@\"; - fi" HEAD && \ -echo "2/2 Overwriting author" && \ -git filter-branch -f --commit-filter " - if [ \"\$GIT_AUTHOR_EMAIL\" = \"$old_email\" ]; - then - GIT_AUTHOR_NAME=\"$new_name\"; - GIT_AUTHOR_EMAIL=\"$new_email\"; - git commit-tree \"\$@\"; - else - git commit-tree \"\$@\"; - fi" HEAD) +( + export FILTER_BRANCH_SQUELCH_WARNING=1 + echo "1/2 Overwriting committer" + git filter-branch -f --commit-filter " + if [ \"\$GIT_COMMITTER_EMAIL\" = \"$old_email\" ] || \ + ([ \"\$GIT_COMMITTER_EMAIL\" = \"noreply@github.com\" ] && \ + ([ \"\$GIT_AUTHOR_EMAIL\" = \"$old_email\" ] || \ + [ \"\$GIT_AUTHOR_EMAIL\" = \"$new_email\" ])); + then + GIT_COMMITTER_NAME=\"$new_name\"; + GIT_COMMITTER_EMAIL=\"$new_email\"; + git commit-tree \"\$@\"; + else + git commit-tree \"\$@\"; + fi" HEAD + echo "2/2 Overwriting author" + git filter-branch -f --commit-filter " + if [ \"\$GIT_AUTHOR_EMAIL\" = \"$old_email\" ]; + then + GIT_AUTHOR_NAME=\"$new_name\"; + GIT_AUTHOR_EMAIL=\"$new_email\"; + git commit-tree \"\$@\"; + else + git commit-tree \"\$@\"; + fi" HEAD +)