JS> Most likely, your sed has problems with a sed script in function JS> get_author_ident_from_commit. I tested it like this: JS> $ sh -c '. $(git --exec-path)/git-sh-setup; JS> get_author_ident_from_commit HEAD' JS> GIT_AUTHOR_NAME='Johannes Sixt' JS> GIT_AUTHOR_EMAIL='j6t@xxxxxxxx' JS> GIT_AUTHOR_DATE='@1350025129 +0200' JS> -- Hannes Both systems have GNU sed 4.2.1 installed. I wrote a wrapper script wor sed. It's output attached. The difference is letter case in sed input data: Solaris: /^AUTHOR / Windows: /^author / --
$ git filter-branch -f --tree-filter "env | grep GIT_; true" HEAD~1..HEAD SED BEGIN SED ARGUMENTS: -e s/-/ / SED STDIN BEGIN git-filter-branch SED STDIN END SED OUTPUT BEGIN git filter-branch SED OUTPUT END SED EXIT CODE: 0 SED END SED BEGIN SED ARGUMENTS: -e /^^/d /cygdrive/c/sicap/rap/gitcvs/RAP27/.git-rewrite/raw-heads SED INPUT FILE BEGIN: /cygdrive/c/sicap/rap/gitcvs/RAP27/.git-rewrite/raw-heads refs/heads/master SED INPUT FILE END: /cygdrive/c/sicap/rap/gitcvs/RAP27/.git-rewrite/raw-heads SED OUTPUT BEGIN refs/heads/master SED OUTPUT END SED EXIT CODE: 0 SED END Rewrite acd1d2bb1984c96630d5070497590307151c4682 (1/1) SED BEGIN SED ARGUMENTS: -ne /^author /{ s/'/'\\''/g h s/^author \([^<]*\) <[^>]*> .*$/\1/ s/'/'\''/g s/.*/GIT_AUTHOR_NAME='&'; export GIT_AUTHOR_NAME/p g s/^author [^<]* <\([^>]*\)> .*$/\1/ s/'/'\''/g s/.*/GIT_AUTHOR_EMAIL='&'; export GIT_AUTHOR_EMAIL/p g s/^author [^<]* <[^>]*> \(.*\)$/\1/ s/'/'\''/g s/.*/GIT_AUTHOR_DATE='&'; export GIT_AUTHOR_DATE/p q } SED STDIN BEGIN tree 969f563d319049bb6dabc12054d67671499a6f55 parent c4734950e37c09ca7d3e3088f6f31d866dbb5077 author Ilya Basin <basinilya@xxxxxxxxx> 1350401059 +0400 committer Ilya Basin <basinilya@xxxxxxxxx> 1350405585 +0400 temp SED STDIN END SED OUTPUT BEGIN GIT_AUTHOR_NAME='Ilya Basin'; export GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL='basinilya@xxxxxxxxx'; export GIT_AUTHOR_EMAIL GIT_AUTHOR_DATE='1350401059 +0400'; export GIT_AUTHOR_DATE SED OUTPUT END SED EXIT CODE: 0 SED END SED BEGIN SED ARGUMENTS: -ne /^committer /{ s/'/'\\''/g h s/^committer \([^<]*\) <[^>]*> .*$/\1/ s/'/'\''/g s/.*/GIT_COMMITTER_NAME='&'; export GIT_COMMITTER_NAME/p g s/^committer [^<]* <\([^>]*\)> .*$/\1/ s/'/'\''/g s/.*/GIT_COMMITTER_EMAIL='&'; export GIT_COMMITTER_EMAIL/p g s/^committer [^<]* <[^>]*> \(.*\)$/\1/ s/'/'\''/g s/.*/GIT_COMMITTER_DATE='&'; export GIT_COMMITTER_DATE/p q } SED STDIN BEGIN tree 969f563d319049bb6dabc12054d67671499a6f55 parent c4734950e37c09ca7d3e3088f6f31d866dbb5077 author Ilya Basin <basinilya@xxxxxxxxx> 1350401059 +0400 committer Ilya Basin <basinilya@xxxxxxxxx> 1350405585 +0400 temp SED STDIN END SED OUTPUT BEGIN GIT_COMMITTER_NAME='Ilya Basin'; export GIT_COMMITTER_NAME GIT_COMMITTER_EMAIL='basinilya@xxxxxxxxx'; export GIT_COMMITTER_EMAIL GIT_COMMITTER_DATE='1350405585 +0400'; export GIT_COMMITTER_DATE SED OUTPUT END SED EXIT CODE: 0 SED END GIT_DIR=/cygdrive/c/sicap/rap/gitcvs/RAP27/.git GIT_AUTHOR_DATE=1350401059 +0400 GIT_INDEX_FILE=/cygdrive/c/sicap/rap/gitcvs/RAP27/.git-rewrite/t/../index GIT_WORK_TREE=. GIT_AUTHOR_NAME=Ilya Basin GIT_COMMITTER_NAME=Ilya Basin GIT_COMMIT=acd1d2bb1984c96630d5070497590307151c4682 GIT_COMMITTER_EMAIL=basinilya@xxxxxxxxx GIT_COMMITTER_DATE=1350405585 +0400 GIT_AUTHOR_EMAIL=basinilya@xxxxxxxxx SED BEGIN SED ARGUMENTS: -e 1,/^$/d SED STDIN BEGIN tree 969f563d319049bb6dabc12054d67671499a6f55 parent c4734950e37c09ca7d3e3088f6f31d866dbb5077 author Ilya Basin <basinilya@xxxxxxxxx> 1350401059 +0400 committer Ilya Basin <basinilya@xxxxxxxxx> 1350405585 +0400 temp SED STDIN END SED OUTPUT BEGIN temp SED OUTPUT END SED EXIT CODE: 0 SED END WARNING: Ref 'refs/heads/master' is unchanged
-bash-3.00$ git filter-branch -f --tree-filter "env | grep GIT_; true" HEAD~1..HEAD SED BEGIN SED ARGUMENTS: -e s/-/ / SED STDIN BEGIN git-filter-branch SED STDIN END SED OUTPUT BEGIN git filter-branch SED OUTPUT END SED EXIT CODE: 0 SED END SED BEGIN SED ARGUMENTS: -e /^^/d /home/tester/.ilya/builds/makepkg.rap_0.1-1_sparc.XXXXXX/src/rap/.git-rewrite/raw-heads SED INPUT FILE BEGIN: /home/tester/.ilya/builds/makepkg.rap_0.1-1_sparc.XXXXXX/src/rap/.git-rewrite/raw-heads refs/heads/master SED INPUT FILE END: /home/tester/.ilya/builds/makepkg.rap_0.1-1_sparc.XXXXXX/src/rap/.git-rewrite/raw-heads SED OUTPUT BEGIN refs/heads/master SED OUTPUT END SED EXIT CODE: 0 SED END Rewrite acd1d2bb1984c96630d5070497590307151c4682 (1/1) SED BEGIN SED ARGUMENTS: -ne /^AUTHOR /{ s/'/'\\''/g h s/^AUTHOR \([^<]*\) <[^>]*> .*$/\1/ s/'/'\''/g s/.*/GIT_AUTHOR_NAME='&'; export GIT_AUTHOR_NAME/p g s/^AUTHOR [^<]* <\([^>]*\)> .*$/\1/ s/'/'\''/g s/.*/GIT_AUTHOR_EMAIL='&'; export GIT_AUTHOR_EMAIL/p g s/^AUTHOR [^<]* <[^>]*> \(.*\)$/\1/ s/'/'\''/g s/.*/GIT_AUTHOR_DATE='&'; export GIT_AUTHOR_DATE/p q } SED STDIN BEGIN tree 969f563d319049bb6dabc12054d67671499a6f55 parent c4734950e37c09ca7d3e3088f6f31d866dbb5077 author Ilya Basin <basinilya@xxxxxxxxx> 1350401059 +0400 committer Ilya Basin <basinilya@xxxxxxxxx> 1350405585 +0400 temp SED STDIN END SED OUTPUT BEGIN SED OUTPUT END SED EXIT CODE: 0 SED END SED BEGIN SED ARGUMENTS: -ne /^COMMITTER /{ s/'/'\\''/g h s/^COMMITTER \([^<]*\) <[^>]*> .*$/\1/ s/'/'\''/g s/.*/GIT_COMMITTER_NAME='&'; export GIT_COMMITTER_NAME/p g s/^COMMITTER [^<]* <\([^>]*\)> .*$/\1/ s/'/'\''/g s/.*/GIT_COMMITTER_EMAIL='&'; export GIT_COMMITTER_EMAIL/p g s/^COMMITTER [^<]* <[^>]*> \(.*\)$/\1/ s/'/'\''/g s/.*/GIT_COMMITTER_DATE='&'; export GIT_COMMITTER_DATE/p q } SED STDIN BEGIN tree 969f563d319049bb6dabc12054d67671499a6f55 parent c4734950e37c09ca7d3e3088f6f31d866dbb5077 author Ilya Basin <basinilya@xxxxxxxxx> 1350401059 +0400 committer Ilya Basin <basinilya@xxxxxxxxx> 1350405585 +0400 temp SED STDIN END SED OUTPUT BEGIN SED OUTPUT END SED EXIT CODE: 0 SED END GIT_DIR=/home/tester/.ilya/builds/makepkg.rap_0.1-1_sparc.XXXXXX/src/rap/.git GIT_INDEX_FILE=/home/tester/.ilya/builds/makepkg.rap_0.1-1_sparc.XXXXXX/src/rap/.git-rewrite/t/../index GIT_WORK_TREE=. GIT_AUTHOR_NAME= GIT_COMMITTER_NAME= GIT_COMMIT=acd1d2bb1984c96630d5070497590307151c4682 SED BEGIN SED ARGUMENTS: -e 1,/^$/d SED STDIN BEGIN tree 969f563d319049bb6dabc12054d67671499a6f55 parent c4734950e37c09ca7d3e3088f6f31d866dbb5077 author Ilya Basin <basinilya@xxxxxxxxx> 1350401059 +0400 committer Ilya Basin <basinilya@xxxxxxxxx> 1350405585 +0400 temp SED STDIN END SED OUTPUT BEGIN temp SED OUTPUT END SED EXIT CODE: 0 SED END fatal: empty ident <basinilya@xxxxxxxxx> not allowed could not write rewritten commit -bash-3.00$