git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "SZEDER Gábor" <szeder@ira.uka.de>
To: Junio C Hamano <gitster@pobox.com>
Cc: git@vger.kernel.org, "SZEDER Gábor" <szeder@ira.uka.de>
Subject: [PATCH v2 00/12] merge summary and diffstat options cleanup
Date: Wed, 16 Apr 2008 02:38:59 +0200	[thread overview]
Message-ID: <1208306351-20922-1-git-send-email-szeder@ira.uka.de> (raw)
In-Reply-To: <7vzls7so8m.fsf@gitster.siamese.dyndns.org>

On Sat, Apr 05, 2008 at 07:36:57PM -0700, Junio C Hamano wrote:
> ...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.

> 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

  reply	other threads:[~2008-04-16  0:40 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-04-03  9:03 [PATCH 0/2] merge --summary vs. merge.summary SZEDER Gábor
2008-04-03  9:03 ` [PATCH 1/2] merge, pull: rename '--summary' option to '--diffstat' SZEDER Gábor
2008-04-03  9:03   ` [PATCH 2/2] merge, pull: add option to put summary into the merge commit message SZEDER Gábor
2008-04-03 10:30 ` [PATCH 0/2] merge --summary vs. merge.summary Jeff King
2008-04-03 11:03   ` SZEDER Gábor
2008-04-05 14:48   ` [PATCH] merge, pull: introduce '--diffstat' option SZEDER Gábor
2008-04-05 15:35     ` Teemu Likonen
2008-04-05 18:51       ` Junio C Hamano
2008-04-06  1:23         ` [PATCH 0/6] merge summary and diffstat options cleanup SZEDER Gábor
2008-04-06  1:23           ` [PATCH 1/6] doc: moved merge.* config variables into separate merge-config.txt SZEDER Gábor
2008-04-06  1:23             ` [PATCH 2/6] merge, pull: introduce '--(no-)stat' option SZEDER Gábor
2008-04-06  1:23               ` [PATCH 3/6] add 'merge.stat' config variable SZEDER Gábor
2008-04-06  1:23                 ` [PATCH 4/6] fmt-merge-msg: add '--(no-)log' options and 'merge.log' " SZEDER Gábor
2008-04-06  1:23                   ` [PATCH 5/6] merge, pull: add '--(no-)log' command line option SZEDER Gábor
2008-04-06  1:23                     ` [PATCH 6/6] merge: remove deprecated summary and diffstat options and config variables SZEDER Gábor
2008-04-06  2:36               ` [PATCH 2/6] merge, pull: introduce '--(no-)stat' option Junio C Hamano
2008-04-16  0:38                 ` SZEDER Gábor [this message]
2008-04-16  0:39                   ` [PATCH v2 01/12] doc: moved merge.* config variables into separate merge-config.txt SZEDER Gábor
2008-04-16  0:39                     ` [PATCH v2 02/12] merge, pull: introduce '--(no-)stat' options SZEDER Gábor
2008-04-16  0:39                       ` [PATCH v2 03/12] add 'merge.stat' config variable SZEDER Gábor
2008-04-16  0:39                         ` [PATCH v2 04/12] t6200-fmt-merge-msg: put expected messages into different files SZEDER Gábor
2008-04-16  0:39                           ` [PATCH v2 05/12] fmt-merge-msg: add '--(no-)log' options and 'merge.log' config variable SZEDER Gábor
2008-04-16  0:39                             ` [PATCH v2 06/12] merge, pull: add '--(no-)log' command line option SZEDER Gábor
2008-04-16  0:39                               ` [PATCH v2 07/12] merge, pull: mark '--(no-)summary' options as deprecated SZEDER Gábor
2008-04-16  0:39                                 ` [PATCH v2 08/12] merge, pull: mark the config variable 'merge.diffstat' " SZEDER Gábor
2008-04-16  0:39                                   ` [PATCH v2 09/12] fmt-merge-msg: mark summary-related option and config variable " SZEDER Gábor
2008-04-16  0:39                                     ` [PATCH v2 10/12] merge, pull: remove deprecated '--(no-)summary' options SZEDER Gábor
2008-04-16  0:39                                       ` [PATCH v2 11/12] merge, pull: remove deprecated 'merge.diffstat' config variable SZEDER Gábor
2008-04-16  0:39                                         ` [PATCH v2 12/12] fmt-merge-msg: remove deprecated summary-related options and " SZEDER Gábor
2008-04-16  4:23                   ` [PATCH v2 00/12] merge summary and diffstat options cleanup Junio C Hamano
2008-04-06 13:53         ` [PATCH] merge, pull: introduce '--diffstat' option Jeff King
2008-04-06 14:37           ` Jakub Narebski

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1208306351-20922-1-git-send-email-szeder@ira.uka.de \
    --to=szeder@ira.uka.de \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).