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

[PATCH v2 00/12] merge summary and diffstat options cleanup

From
SZEDER Gábor <szeder@ira.uka.de>
Date
Apr 16, 2008, 00:38 UTC
Message-ID
<1208306351-20922-1-git-send-email-szeder@ira.uka.de>
In-Reply-To
<7vzls7so8m.fsf@gitster.siamese.dyndns.org>
On Sat, Apr 05, 2008 at 07:36:57PM -0700, Junio C Hamano wrote:
Show 5 quoted lines
> ...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.

It was not clear to me that this OPTIONS_SPEC is used for parsing, too. This series fixes the problem.

Show 12 quoted lines
> 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.

Yeah, you are right that deprecated options should not be removed from the documentation.

However, I think that rolling (1) and (2) into one step is better than having them separate. If we have the two steps separate will also cause confusion, as users learning merge & co. between (1) and (2) might wonder, why are there two options for the same thing and which one should they prefer. They might even suspect that one of the options will be deprecated in the future, but they will not be able to tell which without looking at e.g. the mailing list archives. I would also prefer to remove the deprecated options and config variables from bash completion, because their users will then notice earlier that the options are deprecated.

But anyway, in this patch series steps (1) and (2) are split into separate set of patches, so you can decide to have steps (1) and (2) separately or not.

The first six patches are adding the new options and config variables to merge, pull, and fmt-merge-msg, but are not deprecating the old ones. They are also updating documentation, tests, and bash completion accordingly. (Patches 1 and 4 are independent cleanups that could be merged regardless of the other patches, but the others are depending on them.)

Patches 7-9 are marking the old options and config variables as deprecated.

And finally, patches 10-12 are removing all the deprecated stuff, but they are there only for illustration purposes at the moment, to see how things will look like after the deprecation period.

SZEDER Gábor (12):
  doc: moved merge.* config variables into separate merge-config.txt
  merge, pull: introduce '--(no-)stat' options
  add 'merge.stat' config variable
  t6200-fmt-merge-msg: put expected messages into different files
  fmt-merge-msg: add '--(no-)log' options and 'merge.log' config
    variable
  merge, pull: add '--(no-)log' command line option
  merge, pull: mark '--(no-)summary' options as deprecated
  merge, pull: mark the config variable 'merge.diffstat' as deprecated
  fmt-merge-msg: mark summary-related option and config variable as
    deprecated
  merge, pull: remove deprecated '--(no-)summary' options
  merge, pull: remove deprecated 'merge.diffstat' config variable
  fmt-merge-msg: remove deprecated summary-related options and config
    variable
 Documentation/config.txt               |   32 +------------------
 Documentation/git-fmt-merge-msg.txt    |   10 +++---
 Documentation/git-merge.txt            |   17 ++--------
 Documentation/merge-config.txt         |   35 ++++++++++++++++++++
 Documentation/merge-options.txt        |   15 +++++++--
 builtin-fmt-merge-msg.c                |    8 ++--
 contrib/completion/git-completion.bash |    6 ++-
 git-merge.sh                           |   18 ++++++----
 git-pull.sh                            |   20 ++++++------
 t/t6200-fmt-merge-msg.sh               |   54 ++++++++++++++++++++++++-------
 t/t7600-merge.sh                       |   24 +++++++++++---
 11 files changed, 146 insertions(+), 93 deletions(-)
 create mode 100644 Documentation/merge-config.txt
Previous: Junio C HamanoNext: SZEDER Gábor
Message 17 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.