threads / discuss / 18013

Commits with empty commit messages

Subject: Commits with empty commit messages

## tl;dr

One message between Feb 25, 2009 and Feb 25, 2009.

replies: 0people: 1as markdown or json

Geert Uytterhoeven· Feb 25, 2009, 12:50 UTC · lore

I accidentally managed to create a commit with an empty commit message using `git am' with a patch that didn't have a subject line. It didn't matter much, as I just wanted to squash it during a rebase anyway.

However, during `git rebase -i', I got a corrupt list of commits. Instead of the usual:

| pick sha1 desc1
| pick sha2 desc2
I saw:
| pick sha1 >sha2 desc2

If you have a commit with an empty commit message, you can also not fix this using amend:

| $ git commit --amend
| fatal: commit has empty message
| $

If you use `git rebase -i' to rebase one or more commits, _all_ of them with empty commit messages, you don't see any of the familiar `pick' lines, but just

| noop
and you `loose' all those commits as soon as you quit your editor.

Probably the real offender is `git am', which allows empty commit messages, unlike `git commit'.

While trying to create a clean test case, I also noticed you cannot use `git am' to create the first commit in a freshly initialized empty git repository. It fails with:

| $ git am patch
| fatal: HEAD: not a valid SHA1
| fatal: bad revision 'HEAD'
| $
I'm using 1.6.0.4, but I could reproduce the issues with 1.6.2.rc1.41.g3f74c.
With kind regards,

Geert Uytterhoeven Software Architect

Sony Techsoft Centre Europe The Corporate Village · Da Vincilaan 7-D1 · B-1935 Zaventem · Belgium

Phone:    +32 (0)2 700 8453
Fax:      +32 (0)2 700 8622
E-mail:   Geert.Uytterhoeven@sonycom.com
Internet: http://www.sony-europe.com/

A division of Sony Europe (Belgium) N.V. VAT BE 0413.825.160 · RPR Brussels Fortis · BIC GEBABEBB · IBAN BE41293037680010

← back to recent threads