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

Re: [PATCH 2/6] merge, pull: introduce '--(no-)stat' option

From
Junio C Hamano <gitster@pobox.com>
Date
Apr 6, 2008, 02:36 UTC
Message-ID
<7vzls7so8m.fsf@gitster.siamese.dyndns.org>
In-Reply-To
<1207445027-3152-3-git-send-email-szeder@ira.uka.de>
SZEDER Gábor <szeder@ira.uka.de> writes:
> '--(no-)summary' options are still accepted, but are not advertised.
Given that...
Show 15 quoted lines
> diff --git a/git-merge.sh b/git-merge.sh
> index 7dbbb1d..1b693ad 100755
> --- a/git-merge.sh
> +++ b/git-merge.sh
> @@ -8,8 +8,8 @@ OPTIONS_SPEC="\
>  git-merge [options] <remote>...
>  git-merge [options] <msg> HEAD <remote>
>  --
> -summary              show a diffstat at the end of the merge
> -n,no-summary         don't show a diffstat at the end of the merge
> +stat                 show a diffstat at the end of the merge
> +n,no-stat            don't show a diffstat at the end of the merge
>  squash               create a single commit instead of doing a merge
>  commit               perform a commit if the merge sucesses (default)
>  ff                   allow fast forward (default)

...this hunk removes the original options from OPTIONS_SPEC, I suspect you would get "unknown option 'stat'" from underlying "git rev-parse --parseopt".

You probably haven't noticed the breakage because you replaced all existing --summary with --stat in the tests, though. Oops.

We would want to take a three-stage approach where we (1) start accepting both forms without changing the official names shown to the users, (2) deprecate the old names and make the new ones official, and then (3) finally remove the old ones. Your 2 thru 5 roll (1) and (2) into one step.

I would not have major problem with this "hasty deprecation" in "usage" strings, but I find it somewhat problematic to stop mentioning the old names in the documentation and bash completion from day one. People learn old names elsewhere (e.g. in somebody's blog entry) and then try to find the description in their manual and they are already removed from your copy. Oops.

So I pretty much prefer to have an explicit deprecation period where both forms are not just accepted but described as equals, but with the older ones marked clearly as deprecated and planned for removal, so that people would know what is going on.

Other than that, the rest of the series looked Ok from my cursory review.
Previous: SZEDER GáborNext: SZEDER Gábor
Message 16 of 32 in “merge --summary vs. merge.summary”
  1. 0/2 merge --summary vs. merge.summarySZEDER Gábor, Apr 3, 2008
  2. 1/2 merge, pull: rename '--summary' option to '--diffstat'SZEDER Gábor, Apr 3, 2008
  3. 2/2 merge, pull: add option to put summary into the merge commit messageSZEDER Gábor, Apr 3, 2008
  4. Jeff KingApr 3, 2008
  5. SZEDER GáborApr 3, 2008
  6. merge, pull: introduce '--diffstat' optionSZEDER Gábor, Apr 5, 2008
  7. Teemu LikonenApr 5, 2008
  8. Junio C HamanoApr 5, 2008
  9. 0/6 merge summary and diffstat options cleanupSZEDER Gábor, Apr 6, 2008
  10. 1/6 doc: moved merge.* config variables into separate merge-config.txtSZEDER Gábor, Apr 6, 2008
  11. 2/6 merge, pull: introduce '--(no-)stat' optionSZEDER Gábor, Apr 6, 2008
  12. 3/6 add 'merge.stat' config variableSZEDER Gábor, Apr 6, 2008
  13. 4/6 fmt-merge-msg: add '--(no-)log' options and 'merge.log' config variableSZEDER Gábor, Apr 6, 2008
  14. 5/6 merge, pull: add '--(no-)log' command line optionSZEDER Gábor, Apr 6, 2008
  15. 6/6 merge: remove deprecated summary and diffstat options and config variablesSZEDER Gábor, Apr 6, 2008
  16. Junio C HamanoApr 6, 2008
  17. 00/12 merge summary and diffstat options cleanupSZEDER Gábor, Apr 16, 2008
  18. 01/12 doc: moved merge.* config variables into separate merge-config.txtSZEDER Gábor, Apr 16, 2008
  19. 02/12 merge, pull: introduce '--(no-)stat' optionsSZEDER Gábor, Apr 16, 2008
  20. 03/12 add 'merge.stat' config variableSZEDER Gábor, Apr 16, 2008
  21. 04/12 t6200-fmt-merge-msg: put expected messages into different filesSZEDER Gábor, Apr 16, 2008
  22. 05/12 fmt-merge-msg: add '--(no-)log' options and 'merge.log' config variableSZEDER Gábor, Apr 16, 2008
  23. 06/12 merge, pull: add '--(no-)log' command line optionSZEDER Gábor, Apr 16, 2008
  24. 07/12 merge, pull: mark '--(no-)summary' options as deprecatedSZEDER Gábor, Apr 16, 2008
  25. 08/12 merge, pull: mark the config variable 'merge.diffstat' as deprecatedSZEDER Gábor, Apr 16, 2008
  26. 09/12 fmt-merge-msg: mark summary-related option and config variable as deprecatedSZEDER Gábor, Apr 16, 2008
  27. 10/12 merge, pull: remove deprecated '--(no-)summary' optionsSZEDER Gábor, Apr 16, 2008
  28. 11/12 merge, pull: remove deprecated 'merge.diffstat' config variableSZEDER Gábor, Apr 16, 2008
  29. 12/12 fmt-merge-msg: remove deprecated summary-related options and config variableSZEDER Gábor, Apr 16, 2008
  30. Junio C HamanoApr 16, 2008
  31. Jeff KingApr 6, 2008
  32. Jakub NarebskiApr 6, 2008

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.