Subject: Re: What can cause empty GIT_AUTHOR_NAME for 'git filter-branch --tree-filter' on Solaris?

From: Johannes Sixt <[email-masked]>
Date: Wed, 17 Oct 2012 09:23:12 +0200

Am 10/17/2012 8:47, schrieb Ilya Basin:
> The filter-branch command, the contents of ~/.gitconfig and the tree
> are the same.
> The command succeeds on cygwin, but fails on Solaris due to
> unset GIT_AUTHOR_NAME and GIT_COMMITTER_NAME :
> 
> $ git filter-branch --tree-filter "env | grep GIT_ ; $CMD" b416b9bfc5e71531f2f05af4c396bb0ba7560741..HEAD
> Rewrite 214efc6eec82b015aefe23b2280979f05b351396 (1/16)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=214efc6eec82b015aefe23b2280979f05b351396
> fatal: empty ident  <[email-masked]> not allowed
> could not write rewritten commit

Most likely, your sed has problems with a sed script in function
get_author_ident_from_commit. I tested it like this:

$ sh -c '. $(git --exec-path)/git-sh-setup;
		get_author_ident_from_commit HEAD'
GIT_AUTHOR_NAME='Johannes Sixt'
GIT_AUTHOR_EMAIL=[email-masked]'
GIT_AUTHOR_DATE='@1350025129 +0200'

-- Hannes