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

Re: [PATCH v2 2/3] rebase: reinstate --no-keep-empty

From
Junio C Hamano <gitster@pobox.com>
Date
Apr 10, 2020, 20:37 UTC
Message-ID
<xmqqtv1rhyaj.fsf@gitster.c.googlers.com>
In-Reply-To
<e15c599c874956f1a297424c68fe28e04c71807b.1586541094.git.gitgitgadget@gmail.com>
"Elijah Newren via GitGitGadget" <gitgitgadget@gmail.com> writes:
> That commit viewed this, though as
> turning that flag into a no-op.
Sorry, but I do not understand this sentence.
> Provide users a way to drop commits which start empty using a flag that
> existed for years: --no-keep-empty.  Interpret --keep-empty as
> countermanding any previous --no-keep-empty, but otherwise leaving
> --keep-empty as the default.
But everything after that sentence down to here was very clear.
Show 7 quoted lines
> This might lead to some slight weirdness since commands like
>   git rebase --empty=drop --keep-empty
>   git rebase --empty=keep --no-keep-empty
> look really weird despite making perfect sense (the first will drop
> commits which become empty, but keep commits that started empty; the
> second will keep commits which become empty, but drop commits which
> started empty).

That is true. Do we leave it to others (or our later selves) to think about the UI further? That is fine by me, but in that case we may want to add " We may want to rethink the option names later", perhaps?

Show 6 quoted lines
> +--no-keep-empty::
>  --keep-empty::
> +	Do not keep commits that start empty before the rebase
> +	(i.e. that do not change anything from its parent) in the
> +	result.  For commits which become empty after rebasing, see
> +	the --empty and --keep-cherry-pick flags.
keep-cherry-pick will appear later, not here, right?
Thanks.
Previous: Elijah Newren via GitGitGadgetNext: Elijah Newren
Message 8 of 27 in “rebase -i: mark commits that begin empty in todo editor”
  1. rebase -i: mark commits that begin empty in todo editorElijah Newren via GitGitGadget, Apr 9, 2020
  2. Junio C HamanoApr 10, 2020
  3. Bryan TurnerApr 10, 2020
  4. Junio C HamanoApr 10, 2020
  5. 0/3 rebase -i: mark commits that begin empty in todo editorElijah Newren via GitGitGadget, Apr 10, 2020
  6. 1/3 rebase -i: mark commits that begin empty in todo editorElijah Newren via GitGitGadget, Apr 10, 2020
  7. 2/3 rebase: reinstate --no-keep-emptyElijah Newren via GitGitGadget, Apr 10, 2020
  8. Junio C HamanoApr 10, 2020
  9. Elijah NewrenApr 10, 2020
  10. 3/3 rebase: fix an incompatible-options error messageElijah Newren via GitGitGadget, Apr 10, 2020
  11. Junio C HamanoApr 10, 2020
  12. Junio C HamanoApr 10, 2020
  13. Junio C HamanoApr 10, 2020
  14. Elijah NewrenApr 10, 2020
  15. Junio C HamanoApr 10, 2020
  16. Elijah NewrenApr 10, 2020
  17. Junio C HamanoApr 10, 2020
  18. Elijah NewrenApr 11, 2020
  19. Junio C HamanoApr 11, 2020
  20. 0/4 rebase -i: mark commits that begin empty in todo editorElijah Newren via GitGitGadget, Apr 11, 2020
  21. 2/4 rebase: reinstate --no-keep-emptyElijah Newren via GitGitGadget, Apr 11, 2020
  22. 1/4 rebase -i: mark commits that begin empty in todo editorElijah Newren via GitGitGadget, Apr 11, 2020
  23. Junio C HamanoApr 15, 2020
  24. 3/4 rebase: fix an incompatible-options error messageElijah Newren via GitGitGadget, Apr 11, 2020
  25. 4/4 rebase --merge: optionally skip upstreamed commitsJonathan Tan via GitGitGadget, Apr 11, 2020
  26. Jonathan TanApr 11, 2020
  27. Phillip WoodApr 14, 2020

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.