{"thread":{"id":"52144","subject":"[PATCH 1/1] [Outreachy] merge-ours: include parse-options","startedAt":"2019-10-28T23:42:34Z","lastAt":"2019-11-02T04:14:49Z","messageCount":9,"participants":["george espinoza via GitGitGadget","George Espinoza via GitGitGadget","Johannes Schindelin","Emily Shaffer","Junio C Hamano","George Espinoza"],"isPatch":true,"patchVersion":1,"patchTotal":1},"messages":[{"id":"385023","messageId":"8c088194f604eac3a6b00c48a7fddfdf807571fc.1572306149.git.gitgitgadget@gmail.com","threadId":"52144","inReplyTo":"pull.425.git.1572306149.gitgitgadget@gmail.com","subject":"[PATCH 1/1] [Outreachy] merge-ours: include parse-options","fromName":"george espinoza via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2019-10-28T23:42:29Z","receivedAt":"2019-10-28T23:42:34Z","isPatch":true,"sender":{"key":"name:george espinoza","avatar":null},"body":"From: george espinoza <gespinoz2019@gmail.com>\n\nTeach this command which currently handles its own argv to use\nparse-options instead because parse-options helps make sure we handle\nuser input like -h in a standardized way across the project.\nAlso deleted the NO_PARSEOPT flag from git.c to coincide with\nthe conversion of the structure in this command since merge-ours\nnow uses parse-options and needed to update git.c accordingly.\n\nSigned-off-by: george espinoza <gespinoz2019@gmail.com>\n---\n builtin/merge-ours.c | 14 ++++++++++----\n git.c                |  2 +-\n 2 files changed, 11 insertions(+), 5 deletions(-)\n\ndiff --git a/builtin/merge-ours.c b/builtin/merge-ours.c\nindex 4594507420..fb3674a384 100644\n--- a/builtin/merge-ours.c\n+++ b/builtin/merge-ours.c\n@@ -11,14 +11,20 @@\n #include \"git-compat-util.h\"\n #include \"builtin.h\"\n #include \"diff.h\"\n+#include \"parse-options.h\"\n \n-static const char builtin_merge_ours_usage[] =\n-\t\"git merge-ours <base>... -- HEAD <remote>...\";\n+static const char * const merge_ours_usage[] = {\n+\tN_(\"git merge-ours [<base>...] -- <head> <merge-head>...\"),\n+\tNULL,\n+};\n \n int cmd_merge_ours(int argc, const char **argv, const char *prefix)\n {\n-\tif (argc == 2 && !strcmp(argv[1], \"-h\"))\n-\t\tusage(builtin_merge_ours_usage);\n+\tstruct option options[] = {\n+\t\tOPT_END()\n+\t};\n+\n+\targc = parse_options(argc, argv, prefix, options, merge_ours_usage, 0);\n \n \t/*\n \t * The contents of the current index becomes the tree we\ndiff --git a/git.c b/git.c\nindex ce6ab0ece2..6aee0e9477 100644\n--- a/git.c\n+++ b/git.c\n@@ -527,7 +527,7 @@ static struct cmd_struct commands[] = {\n \t{ \"merge-base\", cmd_merge_base, RUN_SETUP },\n \t{ \"merge-file\", cmd_merge_file, RUN_SETUP_GENTLY },\n \t{ \"merge-index\", cmd_merge_index, RUN_SETUP | NO_PARSEOPT },\n-\t{ \"merge-ours\", cmd_merge_ours, RUN_SETUP | NO_PARSEOPT },\n+\t{ \"merge-ours\", cmd_merge_ours, RUN_SETUP },\n \t{ \"merge-recursive\", cmd_merge_recursive, RUN_SETUP | NEED_WORK_TREE | NO_PARSEOPT },\n \t{ \"merge-recursive-ours\", cmd_merge_recursive, RUN_SETUP | NEED_WORK_TREE | NO_PARSEOPT },\n \t{ \"merge-recursive-theirs\", cmd_merge_recursive, RUN_SETUP | NEED_WORK_TREE | NO_PARSEOPT },\n-- \ngitgitgadget\n"},{"id":"385024","messageId":"pull.425.git.1572306149.gitgitgadget@gmail.com","threadId":"52144","inReplyTo":null,"subject":"[PATCH 0/1] [Outreachy] merge-ours: include a parse-option","fromName":"George Espinoza via GitGitGadget","fromEmail":"gitgitgadget@gmail.com","sentAt":"2019-10-28T23:42:28Z","receivedAt":"2019-10-28T23:42:34Z","isPatch":true,"sender":{"key":"gespinoz2019@gmail.com","avatar":null},"body":"Teach this command which currently handles its own argv to use parse-options\ninstead because parse-options helps make sure we handle user input like -h\nin a standardized way across the project. Also deleted the NO_PARSEOPT flag\nfrom git.c to coincide with the conversion of the structure in this command\nsince merge-ours now uses parse-options and needed to update git.c\naccordingly.\n\nOutreachy Micro-Project #3 \n\nSigned-off-by: george espinoza gespinoz2019@gmail.com\n[gespinoz2019@gmail.com]\n\ngeorge espinoza (1):\n  [Outreachy] merge-ours: include parse-options\n\n builtin/merge-ours.c | 14 ++++++++++----\n git.c                |  2 +-\n 2 files changed, 11 insertions(+), 5 deletions(-)\n\n\nbase-commit: 566a1439f6f56c2171b8853ddbca0ad3f5098770\nPublished-As: https://github.com/gitgitgadget/git/releases/tag/pr-425%2FGeorgecanfly%2Fmerge-ours-v1\nFetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-425/Georgecanfly/merge-ours-v1\nPull-Request: https://github.com/gitgitgadget/git/pull/425\n-- \ngitgitgadget\n"},{"id":"385074","messageId":"nycvar.QRO.7.76.6.1910291355070.46@tvgsbejvaqbjf.bet","threadId":"52144","inReplyTo":"8c088194f604eac3a6b00c48a7fddfdf807571fc.1572306149.git.gitgitgadget@gmail.com","subject":"Re: [PATCH 1/1] [Outreachy] merge-ours: include parse-options","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2019-10-29T12:56:01Z","receivedAt":"2019-10-29T12:56:23Z","isPatch":true,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi george,\n\nOn Mon, 28 Oct 2019, george espinoza via GitGitGadget wrote:\n\n> From: george espinoza <gespinoz2019@gmail.com>\n>\n> Teach this command which currently handles its own argv to use\n> parse-options instead because parse-options helps make sure we handle\n> user input like -h in a standardized way across the project.\n> Also deleted the NO_PARSEOPT flag from git.c to coincide with\n> the conversion of the structure in this command since merge-ours\n> now uses parse-options and needed to update git.c accordingly.\n\nThe commit message and the patch look good to me!\n\nThanks,\nJohannes\n\n>\n> Signed-off-by: george espinoza <gespinoz2019@gmail.com>\n> ---\n>  builtin/merge-ours.c | 14 ++++++++++----\n>  git.c                |  2 +-\n>  2 files changed, 11 insertions(+), 5 deletions(-)\n>\n> diff --git a/builtin/merge-ours.c b/builtin/merge-ours.c\n> index 4594507420..fb3674a384 100644\n> --- a/builtin/merge-ours.c\n> +++ b/builtin/merge-ours.c\n> @@ -11,14 +11,20 @@\n>  #include \"git-compat-util.h\"\n>  #include \"builtin.h\"\n>  #include \"diff.h\"\n> +#include \"parse-options.h\"\n>\n> -static const char builtin_merge_ours_usage[] =\n> -\t\"git merge-ours <base>... -- HEAD <remote>...\";\n> +static const char * const merge_ours_usage[] = {\n> +\tN_(\"git merge-ours [<base>...] -- <head> <merge-head>...\"),\n> +\tNULL,\n> +};\n>\n>  int cmd_merge_ours(int argc, const char **argv, const char *prefix)\n>  {\n> -\tif (argc == 2 && !strcmp(argv[1], \"-h\"))\n> -\t\tusage(builtin_merge_ours_usage);\n> +\tstruct option options[] = {\n> +\t\tOPT_END()\n> +\t};\n> +\n> +\targc = parse_options(argc, argv, prefix, options, merge_ours_usage, 0);\n>\n>  \t/*\n>  \t * The contents of the current index becomes the tree we\n> diff --git a/git.c b/git.c\n> index ce6ab0ece2..6aee0e9477 100644\n> --- a/git.c\n> +++ b/git.c\n> @@ -527,7 +527,7 @@ static struct cmd_struct commands[] = {\n>  \t{ \"merge-base\", cmd_merge_base, RUN_SETUP },\n>  \t{ \"merge-file\", cmd_merge_file, RUN_SETUP_GENTLY },\n>  \t{ \"merge-index\", cmd_merge_index, RUN_SETUP | NO_PARSEOPT },\n> -\t{ \"merge-ours\", cmd_merge_ours, RUN_SETUP | NO_PARSEOPT },\n> +\t{ \"merge-ours\", cmd_merge_ours, RUN_SETUP },\n>  \t{ \"merge-recursive\", cmd_merge_recursive, RUN_SETUP | NEED_WORK_TREE | NO_PARSEOPT },\n>  \t{ \"merge-recursive-ours\", cmd_merge_recursive, RUN_SETUP | NEED_WORK_TREE | NO_PARSEOPT },\n>  \t{ \"merge-recursive-theirs\", cmd_merge_recursive, RUN_SETUP | NEED_WORK_TREE | NO_PARSEOPT },\n> --\n> gitgitgadget\n>\n"},{"id":"385111","messageId":"20191029204228.GA229589@google.com","threadId":"52144","inReplyTo":"8c088194f604eac3a6b00c48a7fddfdf807571fc.1572306149.git.gitgitgadget@gmail.com","subject":"Re: [PATCH 1/1] [Outreachy] merge-ours: include parse-options","fromName":"Emily Shaffer","fromEmail":"emilyshaffer@google.com","sentAt":"2019-10-29T20:42:28Z","receivedAt":"2019-10-29T20:42:39Z","isPatch":true,"sender":{"key":"nasamuffin@google.com","avatar":"https://avatars.githubusercontent.com/u/1606826?v=4"},"body":"On Mon, Oct 28, 2019 at 11:42:29PM +0000, george espinoza via GitGitGadget wrote:\n> From: george espinoza <gespinoz2019@gmail.com>\n> \n> Teach this command which currently handles its own argv to use\n> parse-options instead because parse-options helps make sure we handle\n> user input like -h in a standardized way across the project.\n> Also deleted the NO_PARSEOPT flag from git.c to coincide with\n> the conversion of the structure in this command since merge-ours\n> now uses parse-options and needed to update git.c accordingly.\n\nHmm, I could still wish for some rephrasing on this commit message. Now\nthat you took my example suggestions and pasted them directly into your\nprevious sentences, it doesn't flow very nicely. The point comes across\nbut it's a little redundant (for example, \"also <verb> from git.c ....\nand needed to update git.c\" is redundant).\n\nWhen significant assistance and advice is received it's often good form\nto include a \"Helped-by:\" line which looks similar to the signoff line,\nto provide credit. Maybe you will consider it as myself and dscho spent\nquite some time helping you in the GitGitGadget PR as well as via\nIRC/mail? :)\n\nOtherwise, the code looks OK to me.\n\n - Emily\n\n> \n> Signed-off-by: george espinoza <gespinoz2019@gmail.com>\n> ---\n>  builtin/merge-ours.c | 14 ++++++++++----\n>  git.c                |  2 +-\n>  2 files changed, 11 insertions(+), 5 deletions(-)\n> \n> diff --git a/builtin/merge-ours.c b/builtin/merge-ours.c\n> index 4594507420..fb3674a384 100644\n> --- a/builtin/merge-ours.c\n> +++ b/builtin/merge-ours.c\n> @@ -11,14 +11,20 @@\n>  #include \"git-compat-util.h\"\n>  #include \"builtin.h\"\n>  #include \"diff.h\"\n> +#include \"parse-options.h\"\n>  \n> -static const char builtin_merge_ours_usage[] =\n> -\t\"git merge-ours <base>... -- HEAD <remote>...\";\n> +static const char * const merge_ours_usage[] = {\n> +\tN_(\"git merge-ours [<base>...] -- <head> <merge-head>...\"),\n> +\tNULL,\n> +};\n>  \n>  int cmd_merge_ours(int argc, const char **argv, const char *prefix)\n>  {\n> -\tif (argc == 2 && !strcmp(argv[1], \"-h\"))\n> -\t\tusage(builtin_merge_ours_usage);\n> +\tstruct option options[] = {\n> +\t\tOPT_END()\n> +\t};\n> +\n> +\targc = parse_options(argc, argv, prefix, options, merge_ours_usage, 0);\n>  \n>  \t/*\n>  \t * The contents of the current index becomes the tree we\n> diff --git a/git.c b/git.c\n> index ce6ab0ece2..6aee0e9477 100644\n> --- a/git.c\n> +++ b/git.c\n> @@ -527,7 +527,7 @@ static struct cmd_struct commands[] = {\n>  \t{ \"merge-base\", cmd_merge_base, RUN_SETUP },\n>  \t{ \"merge-file\", cmd_merge_file, RUN_SETUP_GENTLY },\n>  \t{ \"merge-index\", cmd_merge_index, RUN_SETUP | NO_PARSEOPT },\n> -\t{ \"merge-ours\", cmd_merge_ours, RUN_SETUP | NO_PARSEOPT },\n> +\t{ \"merge-ours\", cmd_merge_ours, RUN_SETUP },\n>  \t{ \"merge-recursive\", cmd_merge_recursive, RUN_SETUP | NEED_WORK_TREE | NO_PARSEOPT },\n>  \t{ \"merge-recursive-ours\", cmd_merge_recursive, RUN_SETUP | NEED_WORK_TREE | NO_PARSEOPT },\n>  \t{ \"merge-recursive-theirs\", cmd_merge_recursive, RUN_SETUP | NEED_WORK_TREE | NO_PARSEOPT },\n> -- \n> gitgitgadget\n"},{"id":"385130","messageId":"xmqqk18n3s3i.fsf@gitster-ct.c.googlers.com","threadId":"52144","inReplyTo":"8c088194f604eac3a6b00c48a7fddfdf807571fc.1572306149.git.gitgitgadget@gmail.com","subject":"Re: [PATCH 1/1] [Outreachy] merge-ours: include parse-options","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2019-10-30T02:05:53Z","receivedAt":"2019-10-30T02:06:01Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"\"george espinoza via GitGitGadget\" <gitgitgadget@gmail.com> writes:\n\n> From: george espinoza <gespinoz2019@gmail.com>\n>\n> Teach this command which currently handles its own argv to use\n> parse-options instead because parse-options helps make sure we handle\n> user input like -h in a standardized way across the project.\n\nSorry, but why do we even want to do this?  merge-ours is an\nimplementation detail of \"git merge\" and is never run directly by\nend-users.\n\nI am not sure why it even needs \"-h\" in the first place, but that is\nalready there, so letting sleeping dog lie would be what I would\nprefer.\n\nIs there a plan to add some -Xmerge-backend-option to this program,\nand would use of parse-options API make it easier?  That would be a\ngood reason to start using it in this program, but otherwise...\n\n"},{"id":"385151","messageId":"CAP_ANinZuD645D8CniRJxscCkE3Se-uwAHFCtJCwKgt31+Pcig@mail.gmail.com","threadId":"52144","inReplyTo":"20191029204228.GA229589@google.com","subject":"Re: [PATCH 1/1] [Outreachy] merge-ours: include parse-options","fromName":"George Espinoza","fromEmail":"gespinoz2019@gmail.com","sentAt":"2019-10-30T09:43:27Z","receivedAt":"2019-10-30T09:43:43Z","isPatch":true,"sender":{"key":"gespinoz2019@gmail.com","avatar":null},"body":"On Tue, Oct 29, 2019 at 1:42 PM Emily Shaffer <emilyshaffer@google.com> wrote:\n>\n> On Mon, Oct 28, 2019 at 11:42:29PM +0000, george espinoza via GitGitGadget wrote:\n> > From: george espinoza <gespinoz2019@gmail.com>\n> >\n> > Teach this command which currently handles its own argv to use\n> > parse-options instead because parse-options helps make sure we handle\n> > user input like -h in a standardized way across the project.\n> > Also deleted the NO_PARSEOPT flag from git.c to coincide with\n> > the conversion of the structure in this command since merge-ours\n> > now uses parse-options and needed to update git.c accordingly.\n>\n> Hmm, I could still wish for some rephrasing on this commit message. Now\n> that you took my example suggestions and pasted them directly into your\n> previous sentences, it doesn't flow very nicely. The point comes across\n> but it's a little redundant (for example, \"also <verb> from git.c ....\n> and needed to update git.c\" is redundant).\n>\n> When significant assistance and advice is received it's often good form\n> to include a \"Helped-by:\" line which looks similar to the signoff line,\n> to provide credit. Maybe you will consider it as myself and dscho spent\n> quite some time helping you in the GitGitGadget PR as well as via\n> IRC/mail? :)\n>\n> Otherwise, the code looks OK to me.\n>\n>  - Emily\n>\n> >\n> > Signed-off-by: george espinoza <gespinoz2019@gmail.com>\n> > ---\n> >  builtin/merge-ours.c | 14 ++++++++++----\n> >  git.c                |  2 +-\n> >  2 files changed, 11 insertions(+), 5 deletions(-)\n> >\n> > diff --git a/builtin/merge-ours.c b/builtin/merge-ours.c\n> > index 4594507420..fb3674a384 100644\n> > --- a/builtin/merge-ours.c\n> > +++ b/builtin/merge-ours.c\n> > @@ -11,14 +11,20 @@\n> >  #include \"git-compat-util.h\"\n> >  #include \"builtin.h\"\n> >  #include \"diff.h\"\n> > +#include \"parse-options.h\"\n> >\n> > -static const char builtin_merge_ours_usage[] =\n> > -     \"git merge-ours <base>... -- HEAD <remote>...\";\n> > +static const char * const merge_ours_usage[] = {\n> > +     N_(\"git merge-ours [<base>...] -- <head> <merge-head>...\"),\n> > +     NULL,\n> > +};\n> >\n> >  int cmd_merge_ours(int argc, const char **argv, const char *prefix)\n> >  {\n> > -     if (argc == 2 && !strcmp(argv[1], \"-h\"))\n> > -             usage(builtin_merge_ours_usage);\n> > +     struct option options[] = {\n> > +             OPT_END()\n> > +     };\n> > +\n> > +     argc = parse_options(argc, argv, prefix, options, merge_ours_usage, 0);\n> >\n> >       /*\n> >        * The contents of the current index becomes the tree we\n> > diff --git a/git.c b/git.c\n> > index ce6ab0ece2..6aee0e9477 100644\n> > --- a/git.c\n> > +++ b/git.c\n> > @@ -527,7 +527,7 @@ static struct cmd_struct commands[] = {\n> >       { \"merge-base\", cmd_merge_base, RUN_SETUP },\n> >       { \"merge-file\", cmd_merge_file, RUN_SETUP_GENTLY },\n> >       { \"merge-index\", cmd_merge_index, RUN_SETUP | NO_PARSEOPT },\n> > -     { \"merge-ours\", cmd_merge_ours, RUN_SETUP | NO_PARSEOPT },\n> > +     { \"merge-ours\", cmd_merge_ours, RUN_SETUP },\n> >       { \"merge-recursive\", cmd_merge_recursive, RUN_SETUP | NEED_WORK_TREE | NO_PARSEOPT },\n> >       { \"merge-recursive-ours\", cmd_merge_recursive, RUN_SETUP | NEED_WORK_TREE | NO_PARSEOPT },\n> >       { \"merge-recursive-theirs\", cmd_merge_recursive, RUN_SETUP | NEED_WORK_TREE | NO_PARSEOPT },\n> > --\n> > gitgitgadget\n\nAh, my sincerest apologies. I should have been more thorough in\nevaluating the importance of a clean original commit message before\nsubmitting it. I will certainly keep all of that in mind for this\nproject and any future projects and contributions. I will edit it\naccordingly to your advice and include credit for the substantial and\nsignificant assistance you and dscho provided. :) ty.\n\n-George\n"},{"id":"385152","messageId":"CAP_ANimgFVuq1U6xB=UMQZ-uQp2PayuD82EBAup20eZK3Fv8AA@mail.gmail.com","threadId":"52144","inReplyTo":"xmqqk18n3s3i.fsf@gitster-ct.c.googlers.com","subject":"Re: [PATCH 1/1] [Outreachy] merge-ours: include parse-options","fromName":"George Espinoza","fromEmail":"gespinoz2019@gmail.com","sentAt":"2019-10-30T09:53:43Z","receivedAt":"2019-10-30T09:53:57Z","isPatch":true,"sender":{"key":"gespinoz2019@gmail.com","avatar":null},"body":"On Tue, Oct 29, 2019 at 7:05 PM Junio C Hamano <gitster@pobox.com> wrote:\n>\n> \"george espinoza via GitGitGadget\" <gitgitgadget@gmail.com> writes:\n>\n> > From: george espinoza <gespinoz2019@gmail.com>\n> >\n> > Teach this command which currently handles its own argv to use\n> > parse-options instead because parse-options helps make sure we handle\n> > user input like -h in a standardized way across the project.\n>\n> Sorry, but why do we even want to do this?  merge-ours is an\n> implementation detail of \"git merge\" and is never run directly by\n> end-users.\n>\n\nHello Junio, this is my mistake. I am a first time contributor.\nI'm currently working on Micro Project #3 as an Outreachy applicant\nthat states, \"Teach a command which currently handles its own argv\nhow to use parse-options instead.\"\n\nI was under the impression that all commands with the NOPARSE_OPT\nflag in git.c needed parse-options added. I now see that I should take into\naccount for commands that are only ran by end-users :)\n\n> I am not sure why it even needs \"-h\" in the first place, but that is\n> already there, so letting sleeping dog lie would be what I would\n> prefer.\n>\n> Is there a plan to add some -Xmerge-backend-option to this program,\n> and would use of parse-options API make it easier?  That would be a\n> good reason to start using it in this program, but otherwise...\n>\n\nI will look into finding another command to contribute to instead after\nyour feedback so I can fulfill Micro Project #3 since I had not thought of\nfurther plans past the parse-option replacement. Thank you for your input!\n"},{"id":"385185","messageId":"nycvar.QRO.7.76.6.1910302257480.46@tvgsbejvaqbjf.bet","threadId":"52144","inReplyTo":"xmqqk18n3s3i.fsf@gitster-ct.c.googlers.com","subject":"Re: [PATCH 1/1] [Outreachy] merge-ours: include parse-options","fromName":"Johannes Schindelin","fromEmail":"johannes.schindelin@gmx.de","sentAt":"2019-10-30T21:58:39Z","receivedAt":"2019-10-30T21:59:01Z","isPatch":true,"sender":{"key":"johannes.schindelin@gmx.de","avatar":"https://avatars.githubusercontent.com/u/127790?v=4"},"body":"Hi Junio,\n\nOn Wed, 30 Oct 2019, Junio C Hamano wrote:\n\n> \"george espinoza via GitGitGadget\" <gitgitgadget@gmail.com> writes:\n>\n> > From: george espinoza <gespinoz2019@gmail.com>\n> >\n> > Teach this command which currently handles its own argv to use\n> > parse-options instead because parse-options helps make sure we handle\n> > user input like -h in a standardized way across the project.\n>\n> Sorry, but why do we even want to do this?\n\nIt _is_ a command you can run via `git merge-ours` by mistake. Don't you\nthink it would be nice for users to at least get a synopsis?\n\nCiao,\nDscho\n"},{"id":"385293","messageId":"xmqq8soy6hjf.fsf@gitster-ct.c.googlers.com","threadId":"52144","inReplyTo":"nycvar.QRO.7.76.6.1910302257480.46@tvgsbejvaqbjf.bet","subject":"Re: [PATCH 1/1] [Outreachy] merge-ours: include parse-options","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2019-11-02T04:14:44Z","receivedAt":"2019-11-02T04:14:49Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:\n\n> Hi Junio,\n>\n> On Wed, 30 Oct 2019, Junio C Hamano wrote:\n>\n>> \"george espinoza via GitGitGadget\" <gitgitgadget@gmail.com> writes:\n>>\n>> > From: george espinoza <gespinoz2019@gmail.com>\n>> >\n>> > Teach this command which currently handles its own argv to use\n>> > parse-options instead because parse-options helps make sure we handle\n>> > user input like -h in a standardized way across the project.\n>>\n>> Sorry, but why do we even want to do this?\n>\n> It _is_ a command you can run via `git merge-ours` by mistake. Don't you\n> think it would be nice for users to at least get a synopsis?\n\nI think it would be good to tell users that the subcommand is not\nwhat they want to run directly, instead of the synopsis to tell them\nhow to run it ;-).\n\nSo no.\n\nBut if merge-ours needs to learn its own -Xoption, it would make\nsense to first convert it to use parse-options API and then add the\nbackend option support on top of it.  And the patch under discussion\nin a polished form (by the way, has anybody pointed out that the use\nof the verb \"include\" is a bit strange there on the patch title?)\nwould serve as a good first step for such a topic.\n\nThanks.\n\n\n"}]}