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='[email protected]'
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 <[email protected]> 1350401059 +0400
committer Ilya Basin <[email protected]> 1350405585 +0400
temp
SED STDIN END
SED OUTPUT BEGIN
GIT_AUTHOR_NAME='Ilya Basin'; export GIT_AUTHOR_NAME
GIT_AUTHOR_EMAIL='[email protected]'; 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 <[email protected]> 1350401059 +0400
committer Ilya Basin <[email protected]> 1350405585 +0400
temp
SED STDIN END
SED OUTPUT BEGIN
GIT_COMMITTER_NAME='Ilya Basin'; export GIT_COMMITTER_NAME
GIT_COMMITTER_EMAIL='[email protected]'; 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
[email protected]
GIT_COMMITTER_DATE=1350405585 +0400
[email protected]
SED BEGIN
SED ARGUMENTS: -e 1,/^$/d
SED STDIN BEGIN
tree 969f563d319049bb6dabc12054d67671499a6f55
parent c4734950e37c09ca7d3e3088f6f31d866dbb5077
author Ilya Basin <[email protected]> 1350401059 +0400
committer Ilya Basin <[email protected]> 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 <[email protected]> 1350401059 +0400
committer Ilya Basin <[email protected]> 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 <[email protected]> 1350401059 +0400
committer Ilya Basin <[email protected]> 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 <[email protected]> 1350401059 +0400
committer Ilya Basin <[email protected]> 1350405585 +0400
temp
SED STDIN END
SED OUTPUT BEGIN
temp
SED OUTPUT END
SED EXIT CODE: 0
SED END
fatal: empty ident <[email protected]> not allowed
could not write rewritten commit
-bash-3.00$