Re: Is this a bug?
- From
Andreas Ericsson <ae@op5.se>
- Date
- Feb 19, 2013, 09:42 UTC
- Message-ID
- <51234923.7090807@op5.se>
- In-Reply-To
- <937BB05095F39E46B969256AA776205322B2CF15C7@ST-EXCL29.statoil.net>
On 02/19/2013 10:32 AM, David Wade wrote:
Show 13 quoted lines
> Hi, > > I wrote a commit message beginning with a hash (#) character, like > this: 'git commit -m "#ifdef ...." ' > > Everything went okay when committing, but then I tried 'git commit > -amend' and without editing the commit message I was told I had an > empty commit message. > > Is this a problem with my text editor (vim 7.2) or git itself? (git > version 1.7.2.2 under RedHat 5.8) Or something I'm not supposed to do > ;-) ? >
Lines starting with a hash sign are considered comments by git commit. If you fire it up without '-m' you'll see that git puts all its own notes about the commit in commented-out lines.
While empty commit messages aren't really unacceptable by git's model, they're considered "almost certainly user errors". I expect the -m flag being present when running 'git commit' causes the check for empty message to be skipped, which isn't the case when amending the commit.
Btw, when I write messages probably similar to the one you just did, I tend to write: Use compat-layer __builtin_clz() #ifndef __GNUC__ precisely to avoid this issue. It also puts the imperative first, which I find makes for smoother reading. Putting the condition first screams for a comma and a slight stagger in reading flow, like so: Unless built with gcc, use compat-layer __builtin_clz()
-- Andreas Ericsson andreas.ericsson@op5.se OP5 AB www.op5.se Tel: +46 8-230225 Fax: +46 8-230231 Considering the successes of the wars on alcohol, poverty, drugs and terror, I think we should give some serious thought to declaring war on peace.