{"thread":{"id":"44495","subject":"merge --no-ff is NOT mentioned in help","startedAt":"2016-11-16T15:16:48Z","lastAt":"2016-11-18T14:51:29Z","messageCount":9,"participants":["Vanderhoof, Tzadik","Mike Rappazzo","Junio C Hamano","Torsten Bögershausen","Jeff King"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"306054","messageId":"2C8817BDA27E034F8E9A669458E375EF2BE63B@APSWP0428.ms.ds.uhc.com","threadId":"44495","inReplyTo":null,"subject":"merge --no-ff is NOT mentioned in help","fromName":"Vanderhoof, Tzadik","fromEmail":"tzadik.vanderhoof@optum360.com","sentAt":"2016-11-16T15:16:41Z","receivedAt":"2016-11-16T15:16:48Z","isPatch":false,"sender":{"key":"tzadik.vanderhoof@optum360.com","avatar":null},"body":"When I do: \"git merge -h\"  to get help, the option \"--no-ff\" is left out of the list of options.\n\nThis e-mail, including attachments, may include confidential and/or\nproprietary information, and may be used only by the person or entity\nto which it is addressed. If the reader of this e-mail is not the intended\nrecipient or his or her authorized agent, the reader is hereby notified\nthat any dissemination, distribution or copying of this e-mail is\nprohibited. If you have received this e-mail in error, please notify the\nsender by replying to this message and delete this e-mail immediately.\n\n"},{"id":"306056","messageId":"CANoM8SX91JAvJ6EAE6=wavPutUG4ZU1BY-A=5EobW=8zrdEcjw@mail.gmail.com","threadId":"44495","inReplyTo":"2C8817BDA27E034F8E9A669458E375EF2BE63B@APSWP0428.ms.ds.uhc.com","subject":"Re: merge --no-ff is NOT mentioned in help","fromName":"Mike Rappazzo","fromEmail":"rappazzo@gmail.com","sentAt":"2016-11-16T15:36:46Z","receivedAt":"2016-11-16T15:37:12Z","isPatch":false,"sender":{"key":"rappazzo@gmail.com","avatar":"https://avatars.githubusercontent.com/u/525287?v=4"},"body":"On Wed, Nov 16, 2016 at 10:16 AM, Vanderhoof, Tzadik\n<tzadik.vanderhoof@optum360.com> wrote:\n> When I do: \"git merge -h\"  to get help, the option \"--no-ff\" is left out of the list of options.\n\nI am running git version 2.10.0, and running git merge --help contains\nthese lines:\n\n       --ff\n           When the merge resolves as a fast-forward, only update the\nbranch pointer, without creating a merge commit. This is the default\nbehavior.\n\n       --no-ff\n           Create a merge commit even when the merge resolves as a\nfast-forward. This is the default behaviour when merging an annotated\n(and possibly signed) tag.\n\n       --ff-only\n           Refuse to merge and exit with a non-zero status unless the\ncurrent HEAD is already up-to-date or the merge can be resolved as a\nfast-forward.\n\n>\n> This e-mail, including attachments, may include confidential and/or\n> proprietary information, and may be used only by the person or entity\n> to which it is addressed. If the reader of this e-mail is not the intended\n> recipient or his or her authorized agent, the reader is hereby notified\n> that any dissemination, distribution or copying of this e-mail is\n> prohibited. If you have received this e-mail in error, please notify the\n> sender by replying to this message and delete this e-mail immediately.\n>\n"},{"id":"306057","messageId":"2C8817BDA27E034F8E9A669458E375EF2BE689@APSWP0428.ms.ds.uhc.com","threadId":"44495","inReplyTo":"CANoM8SX91JAvJ6EAE6=wavPutUG4ZU1BY-A=5EobW=8zrdEcjw@mail.gmail.com","subject":"RE: merge --no-ff is NOT mentioned in help","fromName":"Vanderhoof, Tzadik","fromEmail":"tzadik.vanderhoof@optum360.com","sentAt":"2016-11-16T15:48:18Z","receivedAt":"2016-11-16T15:48:24Z","isPatch":false,"sender":{"key":"tzadik.vanderhoof@optum360.com","avatar":null},"body":"I am running:    git version 2.10.1.windows.1\n\nI typed: git merge -h\n\nand got:\n\nusage: git merge [<options>] [<commit>...]\n   or: git merge [<options>] <msg> HEAD <commit>\n   or: git merge --abort\n\n    -n                    do not show a diffstat at the end of the merge\n    --stat                show a diffstat at the end of the merge\n    --summary             (synonym to --stat)\n    --log[=<n>]           add (at most <n>) entries from shortlog to merge commit message\n    --squash              create a single commit instead of doing a merge\n    --commit              perform a commit if the merge succeeds (default)\n    -e, --edit            edit message before committing\n    --ff                  allow fast-forward (default)\n    --ff-only             abort if fast-forward is not possible\n    --rerere-autoupdate   update the index with reused conflict resolution if possible\n    --verify-signatures   verify that the named commit has a valid GPG signature\n    -s, --strategy <strategy>\n                          merge strategy to use\n    -X, --strategy-option <option=value>\n                          option for selected merge strategy\n    -m, --message <message>\n                          merge commit message (for a non-fast-forward merge)\n    -v, --verbose         be more verbose\n    -q, --quiet           be more quiet\n    --abort               abort the current in-progress merge\n    --allow-unrelated-histories\n                          allow merging unrelated histories\n    --progress            force progress reporting\n    -S, --gpg-sign[=<key-id>]\n                          GPG sign commit\n    --overwrite-ignore    update ignored files (default)\n\nNotice there is NO mention of the \"--no-ff\" option\n\n-----Original Message-----\nFrom: Mike Rappazzo [mailto:rappazzo@gmail.com] \nSent: Wednesday, November 16, 2016 7:37 AM\nTo: Vanderhoof, Tzadik\nCc: git@vger.kernel.org\nSubject: Re: merge --no-ff is NOT mentioned in help\n\nOn Wed, Nov 16, 2016 at 10:16 AM, Vanderhoof, Tzadik <tzadik.vanderhoof@optum360.com> wrote:\n> When I do: \"git merge -h\"  to get help, the option \"--no-ff\" is left out of the list of options.\n\nI am running git version 2.10.0, and running git merge --help contains these lines:\n\n       --ff\n           When the merge resolves as a fast-forward, only update the branch pointer, without creating a merge commit. This is the default behavior.\n\n       --no-ff\n           Create a merge commit even when the merge resolves as a fast-forward. This is the default behaviour when merging an annotated (and possibly signed) tag.\n\n       --ff-only\n           Refuse to merge and exit with a non-zero status unless the current HEAD is already up-to-date or the merge can be resolved as a fast-forward.\n\n\n\nThis e-mail, including attachments, may include confidential and/or\nproprietary information, and may be used only by the person or entity\nto which it is addressed. If the reader of this e-mail is not the intended\nrecipient or his or her authorized agent, the reader is hereby notified\nthat any dissemination, distribution or copying of this e-mail is\nprohibited. If you have received this e-mail in error, please notify the\nsender by replying to this message and delete this e-mail immediately.\n"},{"id":"306058","messageId":"CANoM8SVXeeZsc40xgVqZep_9oT=J2h4mOO0Ksn+kb0g8Ct=KrQ@mail.gmail.com","threadId":"44495","inReplyTo":"2C8817BDA27E034F8E9A669458E375EF2BE689@APSWP0428.ms.ds.uhc.com","subject":"Re: merge --no-ff is NOT mentioned in help","fromName":"Mike Rappazzo","fromEmail":"rappazzo@gmail.com","sentAt":"2016-11-16T15:57:52Z","receivedAt":"2016-11-16T15:58:22Z","isPatch":false,"sender":{"key":"rappazzo@gmail.com","avatar":"https://avatars.githubusercontent.com/u/525287?v=4"},"body":"(Please reply inline)\n\nOn Wed, Nov 16, 2016 at 10:48 AM, Vanderhoof, Tzadik\n<tzadik.vanderhoof@optum360.com> wrote:\n> I am running:    git version 2.10.1.windows.1\n>\n> I typed: git merge -h\n>\n> and got:\n>\n> usage: git merge [<options>] [<commit>...]\n>    or: git merge [<options>] <msg> HEAD <commit>\n>    or: git merge --abort\n>\n>     -n                    do not show a diffstat at the end of the merge\n>     --stat                show a diffstat at the end of the merge\n>     --summary             (synonym to --stat)\n>     --log[=<n>]           add (at most <n>) entries from shortlog to merge commit message\n>     --squash              create a single commit instead of doing a merge\n>     --commit              perform a commit if the merge succeeds (default)\n>     -e, --edit            edit message before committing\n>     --ff                  allow fast-forward (default)\n>     --ff-only             abort if fast-forward is not possible\n>     --rerere-autoupdate   update the index with reused conflict resolution if possible\n>     --verify-signatures   verify that the named commit has a valid GPG signature\n>     -s, --strategy <strategy>\n>                           merge strategy to use\n>     -X, --strategy-option <option=value>\n>                           option for selected merge strategy\n>     -m, --message <message>\n>                           merge commit message (for a non-fast-forward merge)\n>     -v, --verbose         be more verbose\n>     -q, --quiet           be more quiet\n>     --abort               abort the current in-progress merge\n>     --allow-unrelated-histories\n>                           allow merging unrelated histories\n>     --progress            force progress reporting\n>     -S, --gpg-sign[=<key-id>]\n>                           GPG sign commit\n>     --overwrite-ignore    update ignored files (default)\n>\n> Notice there is NO mention of the \"--no-ff\" option\n\nI understand.  On my system I can reproduce this by providing a bad\nargument to `git merge`.  This is the output from the arg setup.  For\n\"boolean\" arguments (like '--ff'), there is an automatic counter\nargument with \"no-\" in there ('--no-ff') to disable the option.  Maybe\nit would make sense to word the output to include both.\n\n\n>\n> -----Original Message-----\n> From: Mike Rappazzo [mailto:rappazzo@gmail.com]\n> Sent: Wednesday, November 16, 2016 7:37 AM\n> To: Vanderhoof, Tzadik\n> Cc: git@vger.kernel.org\n> Subject: Re: merge --no-ff is NOT mentioned in help\n>\n> On Wed, Nov 16, 2016 at 10:16 AM, Vanderhoof, Tzadik <tzadik.vanderhoof@optum360.com> wrote:\n>> When I do: \"git merge -h\"  to get help, the option \"--no-ff\" is left out of the list of options.\n>\n> I am running git version 2.10.0, and running git merge --help contains these lines:\n>\n>        --ff\n>            When the merge resolves as a fast-forward, only update the branch pointer, without creating a merge commit. This is the default behavior.\n>\n>        --no-ff\n>            Create a merge commit even when the merge resolves as a fast-forward. This is the default behaviour when merging an annotated (and possibly signed) tag.\n>\n>        --ff-only\n>            Refuse to merge and exit with a non-zero status unless the current HEAD is already up-to-date or the merge can be resolved as a fast-forward.\n>\n>\n>\n> This e-mail, including attachments, may include confidential and/or\n> proprietary information, and may be used only by the person or entity\n> to which it is addressed. If the reader of this e-mail is not the intended\n> recipient or his or her authorized agent, the reader is hereby notified\n> that any dissemination, distribution or copying of this e-mail is\n> prohibited. If you have received this e-mail in error, please notify the\n> sender by replying to this message and delete this e-mail immediately.\n"},{"id":"306104","messageId":"2C8817BDA27E034F8E9A669458E375EF2BE95B@APSWP0428.ms.ds.uhc.com","threadId":"44495","inReplyTo":"CANoM8SVXeeZsc40xgVqZep_9oT=J2h4mOO0Ksn+kb0g8Ct=KrQ@mail.gmail.com","subject":"RE: merge --no-ff is NOT mentioned in help","fromName":"Vanderhoof, Tzadik","fromEmail":"tzadik.vanderhoof@optum360.com","sentAt":"2016-11-17T14:03:56Z","receivedAt":"2016-11-17T14:33:05Z","isPatch":false,"sender":{"key":"tzadik.vanderhoof@optum360.com","avatar":null},"body":"-----Original Message-----\nFrom: Mike Rappazzo [mailto:rappazzo@gmail.com] \nSent: Wednesday, November 16, 2016 7:58 AM\nTo: Vanderhoof, Tzadik\nCc: git@vger.kernel.org\nSubject: Re: merge --no-ff is NOT mentioned in help\n\n>(Please reply inline)\n>\n>On Wed, Nov 16, 2016 at 10:48 AM, Vanderhoof, Tzadik <tzadik.vanderhoof@optum360.com> wrote:\n>> I am running:    git version 2.10.1.windows.1\n>>\n>> I typed: git merge -h\n>>\n>> and got:\n>>\n>> usage: git merge [<options>] [<commit>...]\n>>    or: git merge [<options>] <msg> HEAD <commit>\n>>    or: git merge --abort\n>>\n>>     -n                    do not show a diffstat at the end of the merge\n>>     --stat                show a diffstat at the end of the merge\n>>     --summary             (synonym to --stat)\n>>     --log[=<n>]           add (at most <n>) entries from shortlog to merge commit message\n>>     --squash              create a single commit instead of doing a merge\n>>     --commit              perform a commit if the merge succeeds (default)\n>>     -e, --edit            edit message before committing\n>>     --ff                  allow fast-forward (default)\n>>     --ff-only             abort if fast-forward is not possible\n>>     --rerere-autoupdate   update the index with reused conflict resolution if possible\n>>     --verify-signatures   verify that the named commit has a valid GPG signature\n>>     -s, --strategy <strategy>\n>>                           merge strategy to use\n>>     -X, --strategy-option <option=value>\n>>                           option for selected merge strategy\n>>     -m, --message <message>\n>>                           merge commit message (for a non-fast-forward merge)\n>>     -v, --verbose         be more verbose\n>>     -q, --quiet           be more quiet\n>>     --abort               abort the current in-progress merge\n>>     --allow-unrelated-histories\n>>                           allow merging unrelated histories\n>>     --progress            force progress reporting\n>>     -S, --gpg-sign[=<key-id>]\n>>                           GPG sign commit\n>>     --overwrite-ignore    update ignored files (default)\n>>\n>> Notice there is NO mention of the \"--no-ff\" option\n>\n>I understand.  On my system I can reproduce this by providing a bad argument to `git merge`.  This is the output from the arg setup.  For \"boolean\" arguments (like '--ff'), there is an automatic counter argument with \"no-\" in there ('--no-ff') to disable the option.  Maybe it would make sense to word the output to include both.\n>\n\nWould you accept a pull request from me for this change?\n\n>\n>>\n>> -----Original Message-----\n>> From: Mike Rappazzo [mailto:rappazzo@gmail.com]\n>> Sent: Wednesday, November 16, 2016 7:37 AM\n>> To: Vanderhoof, Tzadik\n>> Cc: git@vger.kernel.org\n>> Subject: Re: merge --no-ff is NOT mentioned in help\n>>\n>> On Wed, Nov 16, 2016 at 10:16 AM, Vanderhoof, Tzadik <tzadik.vanderhoof@optum360.com> wrote:\n>>> When I do: \"git merge -h\"  to get help, the option \"--no-ff\" is left out of the list of options.\n>>\n>> I am running git version 2.10.0, and running git merge --help contains these lines:\n>>\n>>        --ff\n>>            When the merge resolves as a fast-forward, only update the branch pointer, without creating a merge commit. This is the default behavior.\n>>\n>>        --no-ff\n>>            Create a merge commit even when the merge resolves as a fast-forward. This is the default behaviour when merging an annotated (and possibly signed) tag.\n>>\n>>        --ff-only\n>>            Refuse to merge and exit with a non-zero status unless the current HEAD is already up-to-date or the merge can be resolved as a fast-forward.\n\nThis e-mail, including attachments, may include confidential and/or\nproprietary information, and may be used only by the person or entity\nto which it is addressed. If the reader of this e-mail is not the intended\nrecipient or his or her authorized agent, the reader is hereby notified\nthat any dissemination, distribution or copying of this e-mail is\nprohibited. If you have received this e-mail in error, please notify the\nsender by replying to this message and delete this e-mail immediately.\n"},{"id":"306105","messageId":"xmqqr36anibl.fsf@gitster.mtv.corp.google.com","threadId":"44495","inReplyTo":"CANoM8SVXeeZsc40xgVqZep_9oT=J2h4mOO0Ksn+kb0g8Ct=KrQ@mail.gmail.com","subject":"Re: merge --no-ff is NOT mentioned in help","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2016-11-17T17:10:22Z","receivedAt":"2016-11-17T17:10:39Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Mike Rappazzo <rappazzo@gmail.com> writes:\n\n> (Please reply inline)\n\nIndeed ;-)\n\n> On Wed, Nov 16, 2016 at 10:48 AM, Vanderhoof, Tzadik\n> <tzadik.vanderhoof@optum360.com> wrote:\n>> I am running:    git version 2.10.1.windows.1\n>>\n>> I typed: git merge -h\n>>\n>> and got:\n>>\n>> usage: git merge [<options>] [<commit>...]\n>>    or: git merge [<options>] <msg> HEAD <commit>\n>>    or: git merge --abort\n>>\n>>     -n                    do not show a diffstat at the end of the merge\n>>...\n>>     --overwrite-ignore    update ignored files (default)\n>>\n>> Notice there is NO mention of the \"--no-ff\" option\n>\n> I understand.  On my system I can reproduce this by providing a bad\n> argument to `git merge`.  This is the output from the arg setup.  For\n> \"boolean\" arguments (like '--ff'), there is an automatic counter\n> argument with \"no-\" in there ('--no-ff') to disable the option.  Maybe\n> it would make sense to word the output to include both.\n\nI think that was a deliberate design decision to avoid cluttering\nthe short help text with mention of both --option and --no-option.\n\nPeople interested may want to try the attached single-liner patch to\nsee how the output from _ALL_ commands that use parse-options API\nlooks when given \"-h\".  It could be that the result may not be too\nbad.\n\nI suspect that we may discover that some options that should be\nmarked with NONEG are not marked along the way, which need to be\nfixed.\n\n\n parse-options.c | 4 +++-\n 1 file changed, 3 insertions(+), 1 deletion(-)\n\ndiff --git a/parse-options.c b/parse-options.c\nindex 312a85dbde..348be6b240 100644\n--- a/parse-options.c\n+++ b/parse-options.c\n@@ -626,7 +626,9 @@ static int usage_with_options_internal(struct parse_opt_ctx_t *ctx,\n \t\tif (opts->long_name && opts->short_name)\n \t\t\tpos += fprintf(outfile, \", \");\n \t\tif (opts->long_name)\n-\t\t\tpos += fprintf(outfile, \"--%s\", opts->long_name);\n+\t\t\tpos += fprintf(outfile, \"--%s%s\", \n+\t\t\t\t       (opts->flags & PARSE_OPT_NONEG) ? \"\" : \"[no-]\",\n+\t\t\t\t       opts->long_name);\n \t\tif (opts->type == OPTION_NUMBER)\n \t\t\tpos += utf8_fprintf(outfile, _(\"-NUM\"));\n \n\n\n"},{"id":"306118","messageId":"cff54a0c-65bb-047e-b77d-916e300b66d4@web.de","threadId":"44495","inReplyTo":"xmqqr36anibl.fsf@gitster.mtv.corp.google.com","subject":"Re: merge --no-ff is NOT mentioned in help","fromName":"Torsten Bögershausen","fromEmail":"tboegi@web.de","sentAt":"2016-11-17T19:18:22Z","receivedAt":"2016-11-17T19:18:47Z","isPatch":false,"sender":{"key":"tboegi@web.de","avatar":"https://avatars.githubusercontent.com/u/7138363?v=4"},"body":"\n\nOn 17/11/16 18:10, Junio C Hamano wrote:\n> Mike Rappazzo <rappazzo@gmail.com> writes:\n>\n>> (Please reply inline)\n> Indeed ;-)\n>\n>> On Wed, Nov 16, 2016 at 10:48 AM, Vanderhoof, Tzadik\n>> <tzadik.vanderhoof@optum360.com> wrote:\n>>> I am running:    git version 2.10.1.windows.1\n>>>\n>>> I typed: git merge -h\n>>>\n>>> and got:\n>>>\n>>> usage: git merge [<options>] [<commit>...]\n>>>     or: git merge [<options>] <msg> HEAD <commit>\n>>>     or: git merge --abort\n>>>\n>>>      -n                    do not show a diffstat at the end of the merge\n>>> ...\n>>>      --overwrite-ignore    update ignored files (default)\n>>>\n>>> Notice there is NO mention of the \"--no-ff\" option\n>> I understand.  On my system I can reproduce this by providing a bad\n>> argument to `git merge`.  This is the output from the arg setup.  For\n>> \"boolean\" arguments (like '--ff'), there is an automatic counter\n>> argument with \"no-\" in there ('--no-ff') to disable the option.  Maybe\n>> it would make sense to word the output to include both.\n> I think that was a deliberate design decision to avoid cluttering\n> the short help text with mention of both --option and --no-option.\n>\n> People interested may want to try the attached single-liner patch to\n> see how the output from _ALL_ commands that use parse-options API\n> looks when given \"-h\".  It could be that the result may not be too\n> bad.\n>\n> I suspect that we may discover that some options that should be\n> marked with NONEG are not marked along the way, which need to be\n> fixed.\n>\n>\n>   parse-options.c | 4 +++-\n>   1 file changed, 3 insertions(+), 1 deletion(-)\n>\n> diff --git a/parse-options.c b/parse-options.c\n> index 312a85dbde..348be6b240 100644\n> --- a/parse-options.c\n> +++ b/parse-options.c\n> @@ -626,7 +626,9 @@ static int usage_with_options_internal(struct parse_opt_ctx_t *ctx,\n>   \t\tif (opts->long_name && opts->short_name)\n>   \t\t\tpos += fprintf(outfile, \", \");\n>   \t\tif (opts->long_name)\n> -\t\t\tpos += fprintf(outfile, \"--%s\", opts->long_name);\n> +\t\t\tpos += fprintf(outfile, \"--%s%s\",\n> +\t\t\t\t       (opts->flags & PARSE_OPT_NONEG) ? \"\" : \"[no-]\",\n> +\t\t\t\t       opts->long_name);\n>   \t\tif (opts->type == OPTION_NUMBER)\n>   \t\t\tpos += utf8_fprintf(outfile, _(\"-NUM\"));\n>   \n+1 from my side\n(As I once spend some time to find out that the \"no--\" is automatically available)\n\n"},{"id":"306128","messageId":"20161117222142.mca6lmhj5mvl4gbp@sigill.intra.peff.net","threadId":"44495","inReplyTo":"xmqqr36anibl.fsf@gitster.mtv.corp.google.com","subject":"Re: merge --no-ff is NOT mentioned in help","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2016-11-17T22:21:42Z","receivedAt":"2016-11-17T22:21:53Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Thu, Nov 17, 2016 at 09:10:22AM -0800, Junio C Hamano wrote:\n\n> People interested may want to try the attached single-liner patch to\n> see how the output from _ALL_ commands that use parse-options API\n> looks when given \"-h\".  It could be that the result may not be too\n> bad.\n\nThe output is less ugly than I expected, but still a bit cluttered IMHO.\nI was surprised that the column-adjustment did not need tweaked, but the\ncode correctly increments \"pos\" from the return value of fprintf, which\njust works.\n\nLooking at the output for --ff, though:\n\n   --[no-]ff             allow fast-forward (default)\n\nI do not think it's improving the situation nearly as much as if we made\nthe primary option \"--no-ff\" with a NONEG flga, and then added back in a\nHIDDEN \"--ff\". I thought we had done that in other cases, but I can't\nseem to find any. But it would make \"--no-ff\" the primary form, which\nmakes sense, as \"--ff\" is already the default.\n\nAnother option would be to teach parse-options to somehow treat the\nnegated form as primary in the help text. That's a bit more code, but\nmight be usable in other places.\n\n-Peff\n"},{"id":"306142","messageId":"2C8817BDA27E034F8E9A669458E375EF2BFC37@APSWP0428.ms.ds.uhc.com","threadId":"44495","inReplyTo":"20161117222142.mca6lmhj5mvl4gbp@sigill.intra.peff.net","subject":"RE: merge --no-ff is NOT mentioned in help","fromName":"Vanderhoof, Tzadik","fromEmail":"tzadik.vanderhoof@optum360.com","sentAt":"2016-11-18T14:51:06Z","receivedAt":"2016-11-18T14:51:29Z","isPatch":false,"sender":{"key":"tzadik.vanderhoof@optum360.com","avatar":null},"body":"> On Thu, Nov 17, 2016 at 09:10:22AM -0800, Junio C Hamano wrote:\n> \n> > People interested may want to try the attached single-liner patch to \n> > see how the output from _ALL_ commands that use parse-options API \n> > looks when given \"-h\".  It could be that the result may not be too \n> > bad.\n> \n> The output is less ugly than I expected, but still a bit cluttered IMHO.\n> I was surprised that the column-adjustment did not need tweaked, but the code correctly increments \"pos\" from the return value of fprintf, which just works.\n> \n> Looking at the output for --ff, though:\n> \n>    --[no-]ff             allow fast-forward (default)\n> \n> I do not think it's improving the situation nearly as much as if we made the primary option \"--no-ff\" with a NONEG flga, and then added back in a HIDDEN \"--ff\". I thought we had done that in other cases, but I can't seem to find any. But it would make \"--no-ff\" the primary form, which makes sense, as \"--ff\" is already the default.\n> \n> Another option would be to teach parse-options to somehow treat the negated form as primary in the help text. That's a bit more code, but might be usable in other places.\n> \n> -Peff\n>\n\nWhat about leaving the help as is, but adding a sentence at the end (or beginning?) like: \"The following options may be negated by adding 'no-' after the double dashes\"?\n\nThis e-mail, including attachments, may include confidential and/or\nproprietary information, and may be used only by the person or entity\nto which it is addressed. If the reader of this e-mail is not the intended\nrecipient or his or her authorized agent, the reader is hereby notified\nthat any dissemination, distribution or copying of this e-mail is\nprohibited. If you have received this e-mail in error, please notify the\nsender by replying to this message and delete this e-mail immediately.\n"}]}