git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] Add option to git-commit to allow empty log messages

From
Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Date
Apr 5, 2010, 12:50 UTC
Message-ID
<o2h51dd1af81004050550v9427b9flfb13a9e1ad4056a@mail.gmail.com>
In-Reply-To
<20100405055139.GA28730@coredump.intra.peff.net>
On Mon, Apr 5, 2010 at 05:51, Jeff King <peff@peff.net> wrote:
Show 6 quoted lines
> So yes, it sucks that his importer does not support empty comments, and
> that the OP had to hack around it. But it already doesn't support many
> things (like commits with a large number of files, and from what I can
> see, files with spaces will break his `find` invocation). The right
> answer is for him to move to fast-import, which will be way faster, more
> robust, and is actually a supported plumbing interface.

Thanks for looking at the importer, that'll be very useful when fixing it. But FWIW that `find` invocation isn't a bug. Perl doesn't have a " " input field separator so "my @files = `find . -type f`" does the right thing, unlike in the shell.

> I don't think it's worth adding new features to support a scripting
> interface that we are trying to discourage. And I haven't seen another
> argument in favor of empty commits besides importing.  Are people
> really wanting to make empty commit messages while using git itself?

I'm sorry that I brought snerp-vortex into this at all. It wasn't the main motivation behind this patch, just the straw that broke the camel's back.

I've run into this limitation a lot when playing with and learning Git. Sometimes I'm e.g. making small throwaway repositories in /tmp using the porcelain for experimentation. Those have seen a lot of "blah!" commit messages immediately following "Git exited abnormally with code 1".

Miles Bader said it better than I could. Tools should provide sane defaults and discourage bad practices, but they shouldn't *enforce* good practices. That'll inevitably burn people whose use for the tools isn't what you expect.

Even if they Git maintainers don't like this people *do* write automated scripts and wrappers around Git using the porcelain, simply because that's what they're used to. Learning to use and switching to something like git-fast-import(1) or git-commit-tree(1) is too big of a hurdle for small throwaway scripts that take ~1m to write and aren't big dedicated importers like snerp-vortex.

There's probably a lot of code out there doing `git commit -m"Yet another revision"' from some cron job. I sprinkled a lot of such meaningless messages about when I switched from Subversion (which supports empty commits in the porcelain) for these automated jobs to Git.

Of course Junio may disagree (and that's fine!), how much you babysit your users is ultimately a design decision up to the maintainer. I just find this inconsistent with the rest of the porcelain which usually gives me plenty of ammo to blow both my legs of (and the planet they were standing on) if I so choose :)

Previous: Jeff KingNext: Jonathan Nieder
Message 13 of 35 in “Does Git really need a commit message to go with a commit?”
  1. Ævar Arnfjörð BjarmasonApr 3, 2010
  2. Avery PennarunApr 4, 2010
  3. Add option to git-commit to allow empty log messagesÆvar Arnfjörð Bjarmason, Apr 4, 2010
  4. David AguilarApr 4, 2010
  5. Ævar Arnfjörð BjarmasonApr 4, 2010
  6. Junio C HamanoApr 5, 2010
  7. Sverre RabbelierApr 5, 2010
  8. Junio C HamanoApr 5, 2010
  9. Sverre RabbelierApr 5, 2010
  10. Miles BaderApr 5, 2010
  11. Junio C HamanoApr 5, 2010
  12. Jeff KingApr 5, 2010
  13. Ævar Arnfjörð BjarmasonApr 5, 2010
  14. Jonathan NiederApr 5, 2010
  15. Jonathan NiederApr 5, 2010
  16. Jeff KingApr 6, 2010
  17. Add option to git-commit to allow empty log messagesÆvar Arnfjörð Bjarmason, Apr 6, 2010
  18. Junio C HamanoApr 7, 2010
  19. Ævar Arnfjörð BjarmasonApr 7, 2010
  20. Ævar Arnfjörð BjarmasonApr 6, 2010
  21. Remove --allow-empty from the git-commit synopsisÆvar Arnfjörð Bjarmason, Apr 7, 2010
  22. Sverre RabbelierApr 7, 2010
  23. Remove --allow-empty from the git-commit synopsisÆvar Arnfjörð Bjarmason, Apr 7, 2010
  24. Sverre RabbelierApr 7, 2010
  25. Ævar Arnfjörð BjarmasonApr 7, 2010
  26. Tay Ray ChuanApr 7, 2010
  27. Remove --allow-empty from the git-commit synopsisÆvar Arnfjörð Bjarmason, Apr 7, 2010
  28. Johannes SixtApr 7, 2010
  29. Junio C HamanoApr 7, 2010
  30. Remove --allow-empty from the git-commit synopsisÆvar Arnfjörð Bjarmason, Apr 7, 2010
  31. Stephen BoydApr 7, 2010
  32. Junio C HamanoApr 7, 2010
  33. Jeff KingApr 8, 2010
  34. Jeff KingApr 6, 2010
  35. Santi BéjarApr 4, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.