Hi, I was in the need to rewrite author name and email and commit date for a single commit and I guess I found a bug. I run this git-filter script $ git filter-branch --commit-filter ‘ if [ "$GIT_COMMIT"="9cfca27" ]; then GIT_AUTHOR_NAME=“Michelle”; GIT_AUTHOR_EMAIL=“michelle@xxxxxxxxx”; GIT_AUTHOR_DATE="2009-12-31T23:59:59”; git commit-tree "$@“; else git commit-tree "$@“; fi' HEAD and found that all history was rewritten as if “Michelle” not only commit 9cfca27. I also tried using full length commit id and a non-existing commit id: nothing changes. In the following example to replicate the replicate the bug I’m using a non-existing commit id to make the effect more evident. $ git --version git version 2.0.1 $ mkdir project $ cd project $ git init $ for i in 1 2 3; do echo "foo" >> foo$i.txt; git add foo$i.txt; git commit -m "foo$i"; done [master (root-commit) 89dec6e] foo1 1 file changed, 1 insertion(+) create mode 100644 foo1.txt [master 8a3c8e5] foo2 1 file changed, 1 insertion(+) create mode 100644 foo2.txt [master a3ca061] foo3 1 file changed, 1 insertion(+) create mode 100644 foo3.txt $ git log --graph --all --pretty=format:'%C(yellow)%h%C(cyan)%d%Creset %s %C(white)- %an, %ar%Creset' * a3ca061 (HEAD, master) foo3 - David, 4 seconds ago * 8a3c8e5 foo2 - David, 4 seconds ago * 89dec6e foo1 - David, 4 seconds ago $ git filter-branch --commit-filter ' if [ "$GIT_COMMIT"="308add7" ]; then GIT_AUTHOR_NAME="Michelle"; GIT_AUTHOR_EMAIL="michelle@xxxxxxxxx"; GIT_AUTHOR_DATE="2009-12-31T23:59:59"; git commit-tree "$@"; else git commit-tree "$@"; fi' HEAD $ git log --graph --all --pretty=format:'%C(yellow)%h%C(cyan)%d%Creset %s %C(white)- %an, %ar%Creset' * 8937dff (HEAD, master) foo3 - Michelle, 4 years, 8 months ago * 30e494e foo2 - Michelle, 4 years, 8 months ago * 2a2ba4f foo1 - Michelle, 4 years, 8 months ago * a3ca061 (refs/original/refs/heads/master) foo3 - David, 8 seconds ago * 8a3c8e5 foo2 - David, 8 seconds ago * 89dec6e foo1 - David, 8 seconds ago $ git log commit 8937dff7e6a3f5545c2242e3fd5d33acbabe6df4 Author: Michelle <michelle@xxxxxxxxx> Date: Thu Dec 31 23:59:59 2009 +0100 foo3 commit 30e494ef27f16c5456e66214ea46b780581dfb48 Author: Michelle <michelle@xxxxxxxxx> Date: Thu Dec 31 23:59:59 2009 +0100 foo2 commit 2a2ba4fd6b9627e237a12b47570a3f020a202b55 Author: Michelle <michelle@xxxxxxxxx> Date: Thu Dec 31 23:59:59 2009 +0100 foo1 using env-filter, I managed to rewrite the history with this: $ git filter-branch --env-filter ' name="$GIT_AUTHOR_NAME" email="$GIT_AUTHOR_EMAIL" if [ "$GIT_COMMIT" = "89dec6e4bc1fb3cff694ea83f5ed900dad43449e" ] then name="Michelle" email="Michelle@xxxxxxxxx" fi export GIT_AUTHOR_NAME=“$name" export GIT_AUTHOR_EMAIL=“$email" ' Hope this helped. Davide-- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html