Subject: Re: git-update-ref (reflog) uses bogus author ident information

From: Shawn Pearce <[email-masked]>
Date: Mon, 10 Jul 2006 20:32:28 -0400

Shawn Pearce <[email-masked]> wrote:
> Allow user.name and user.email to drive reflog entry.
> 
> Apparently calling setup_ident() after git_config causes the
> user.name and user.email values read from the config file to be
> replaced with the data obtained from the host.  This means that
> users who have setup their email address in user.email will instead
> be writing reflog entries with their hostname.
> 
> Moving setup_ident() to before git_config in update-ref resolves
> this ordering problem.

Whoops, I forgot this line:  :-)

Signed-off-by: Shawn O. Pearce <[email-masked]>

> ---
>  builtin-update-ref.c |    1 +
>  refs.c               |    1 -
>  2 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/builtin-update-ref.c b/builtin-update-ref.c
> index 00333c7..83094ab 100644
> --- a/builtin-update-ref.c
> +++ b/builtin-update-ref.c
> @@ -12,6 +12,7 @@ int cmd_update_ref(int argc, const char 
>  	unsigned char sha1[20], oldsha1[20];
>  	int i;
>  
> +	setup_ident();
>  	setup_git_directory();
>  	git_config(git_default_config);
>  
> diff --git a/refs.c b/refs.c
> index 2d9c1dc..56db394 100644
> --- a/refs.c
> +++ b/refs.c
> @@ -379,7 +379,6 @@ static int log_ref_write(struct ref_lock
>  			lock->log_file, strerror(errno));
>  	}
>  
> -	setup_ident();
>  	committer = git_committer_info(1);
>  	if (msg) {
>  		maxlen = strlen(committer) + strlen(msg) + 2*40 + 5;
> -- 
> 1.4.1.gc48f