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

Re: [PATCH] commit: make --only --allow-empty work without paths

From
Junio C Hamano <gitster@pobox.com>
Date
Dec 5, 2016, 20:52 UTC
Message-ID
<xmqqd1h63xqn.fsf@gitster.mtv.corp.google.com>
In-Reply-To
<20161203043254.7ozjyucfn6uivnsh@sigill.intra.peff.net>
Jeff King <peff@peff.net> writes:
Show 11 quoted lines
> On Fri, Dec 02, 2016 at 11:15:13PM +0100, Andreas Krey wrote:
>
>> --only is implied when paths are present, and required
>> them unless --amend. But with --allow-empty it should
>> be allowed as well - it is the only way to create an
>> empty commit in the presence of staged changes.
>
> OK. I'm not sure why you would want to create an empty commit in such a
> case. But I do agree that this seems like a natural outcome for "--only
> --allow-empty". So whether it is particularly useful or not, it seems
> like the right thing to do. The patch itself looks good to me.
Slightly related topic.  
Show 6 quoted lines
>> -	if (argc == 0 && (also || (only && !amend)))
>> +	if (argc == 0 && (also || (only && !amend && !allow_empty)))
>>  		die(_("No paths with --include/--only does not make sense."));
>>  	if (argc == 0 && only && amend)
>>  		only_include_assumed = _("Clever... amending the last one with dirty index.");
>

We allow "-o --amend" without no pathspec because that is how you would reword without changing the tree object in the tip commit, and we reward the user who figured out such an esoteric use with a message "Clever...". I do not think if people who say "I want to create an empty commit but I already have added changes to the index" deserve the same "Clever..." praise, so I will not suggest adding another message above.

More seriously, I suspect that the message outlived its usefulness. If we wanted to make the "use --amend -o without pathspec if you want to reword the tip one without touching its tree" easier to discover, the place to do so is in the documentation, not a message that is given as a reward to those who already discovered it.

Previous: Andreas KreyNext: Andreas Krey
Message 7 of 10 in “commit: make --only --allow-empty work without paths”
  1. commit: make --only --allow-empty work without pathsAndreas Krey, Dec 2, 2016
  2. Jeff KingDec 3, 2016
  3. Andreas KreyDec 3, 2016
  4. Jeff KingDec 3, 2016
  5. Junio C HamanoDec 5, 2016
  6. Andreas KreyDec 6, 2016
  7. Junio C HamanoDec 5, 2016
  8. commit: make --only --allow-empty work without pathsAndreas Krey, Dec 8, 2016
  9. Junio C HamanoDec 8, 2016
  10. commit: remove 'Clever' message for --only --amendAndreas Krey, Dec 9, 2016

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.