Re: empty ident name trashes commit message

2012-07-23 Thread Jeff King
On Sat, Jul 21, 2012 at 03:26:26PM +0100, Ramana Kumar wrote:

 If I forget to set user.email and user.name config options and do a commit
 (possibly the --amend option also required to make this show up), then git
 1.7.11.2 will drops me into an editor for a commit message, then after that
 complain with the fatal message:
 
*** Please tell me who you are.
 [...]

Hmm. I think this is an artifact of running --amend. In the normal case,
we check the author ident beforehand. But in the --amend case, we take
the existing author, but then fail trying to generate the committer
ident. So we could probably do better by checking both explicitly
beforehand.

fatal: empty ident name (for ramana.ku...@gmail.com) not allowed

Usually we would fall back to your name from /etc/passwd. I guess it is
blank on your system.

 The commit message I wrote is now lost. This is bad behaviour - the error
 should happen before one writes the commit message, or the message should be
 saved somewhere.

It's not lost. It's in .git/COMMIT_EDITMSG.

We could probably do a better job of informing the user of this when
commit dies prematurely.

-Peff
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: empty ident name trashes commit message

2012-07-23 Thread Ramana Kumar
On Mon, Jul 23, 2012 at 6:27 PM, Jeff King p...@peff.net wrote:
 On Sat, Jul 21, 2012 at 03:26:26PM +0100, Ramana Kumar wrote:

 If I forget to set user.email and user.name config options and do a commit
 (possibly the --amend option also required to make this show up), then git
 1.7.11.2 will drops me into an editor for a commit message, then after that
 complain with the fatal message:

*** Please tell me who you are.
 [...]

 Hmm. I think this is an artifact of running --amend. In the normal case,
 we check the author ident beforehand. But in the --amend case, we take
 the existing author, but then fail trying to generate the committer
 ident. So we could probably do better by checking both explicitly
 beforehand.

Indeed.

 Usually we would fall back to your name from /etc/passwd. I guess it is
 blank on your system.

 The commit message I wrote is now lost. [...]

 It's not lost. It's in .git/COMMIT_EDITMSG.

 We could probably do a better job of informing the user of this when
 commit dies prematurely.

 -Peff

I agree, and thank you very much for those two useful pieces of
information! (names stored in /etc/passwd and saving of
.git/COMMIT_EDITMSG).
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: empty ident name trashes commit message

2012-07-23 Thread Jeff King
On Mon, Jul 23, 2012 at 01:27:26PM -0400, Jeff King wrote:

 On Sat, Jul 21, 2012 at 03:26:26PM +0100, Ramana Kumar wrote:
 
  If I forget to set user.email and user.name config options and do a commit
  (possibly the --amend option also required to make this show up), then git
  1.7.11.2 will drops me into an editor for a commit message, then after that
  complain with the fatal message:
  
 *** Please tell me who you are.
  [...]
 
 Hmm. I think this is an artifact of running --amend. In the normal case,
 we check the author ident beforehand. But in the --amend case, we take
 the existing author, but then fail trying to generate the committer
 ident. So we could probably do better by checking both explicitly
 beforehand.

It seems we already had such a check, but it was not done correctly.
This is fixed by patch 2 below.

  The commit message I wrote is now lost. This is bad behaviour - the error
  should happen before one writes the commit message, or the message should be
  saved somewhere.
 
 It's not lost. It's in .git/COMMIT_EDITMSG.
 
 We could probably do a better job of informing the user of this when
 commit dies prematurely.

And patch 3 improves this situation.

  [1/3]: advice: pass varargs to strbuf_vaddf, not strbuf_addf
  [2/3]: commit: check committer identity more strictly
  [3/3]: commit: give a hint when a commit message has been abandoned

-Peff
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: empty ident name trashes commit message

2012-07-21 Thread Ramana Kumar
If I forget to set user.email and user.name config options and do a commit
(possibly the --amend option also required to make this show up), then git
1.7.11.2 will drops me into an editor for a commit message, then after that
complain with the fatal message:

   *** Please tell me who you are.

   Run

 git config --global user.email y...@example.com
 git config --global user.name Your Name

   to set your account's default identity.
   Omit --global to set the identity only in this repository.

   fatal: empty ident name (for ramana.ku...@gmail.com) not allowed

The commit message I wrote is now lost. This is bad behaviour - the error
should happen before one writes the commit message, or the message should be
saved somewhere.
--
To unsubscribe from this list: send the line unsubscribe git in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html