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

Re: [PATCH 2/3] rebase --rebase-merges: add support for octopus merges

From
Johannes Schindelin <johannes.schindelin@gmx.de>
Date
Jul 12, 2018, 13:08 UTC
Message-ID
<nycvar.QRO.7.76.6.1807121503220.75@tvgsbejvaqbjf.bet>
In-Reply-To
<CAPig+cS1KQseynMCGC_6FZwzB0waJX8+C7CVKNqACzOhjB4uSg@mail.gmail.com>
Hi Eric,
On Wed, 11 Jul 2018, Eric Sunshine wrote:
> On Wed, Jul 11, 2018 at 8:38 AM Johannes Schindelin via GitGitGadget
> <gitgitgadget@gmail.com> wrote:
Show 9 quoted lines
> > diff --git a/sequencer.c b/sequencer.c
> > @@ -2932,7 +2966,8 @@ static int do_merge(struct commit *commit, const char *arg, int arg_len,
> > -                       strbuf_addf(&buf, "Merge branch '%.*s'",
> > +                       strbuf_addf(&buf, "Merge %s '%.*s'",
> > +                                   to_merge->next ? "branches" : "branch",
> 
> Error messages in this file are already localizable. If this text ever
> becomes localizable, then this "sentence lego" could be problematic
> for translators.

As pointed out by Junio, this is not really a message eligible for localization, at least not right now. If it becomes localized later, it will be very easy to change the sentence lego then.

I am just wary of making life harder for the compiler that wants to verify that the printf() style parameters match the format.

Show 11 quoted lines
> > @@ -2956,28 +2991,76 @@ static int do_merge(struct commit *commit, const char *arg, int arg_len,
> > +               cmd.git_cmd = 1;
> > +               argv_array_push(&cmd.args, "merge");
> > +               argv_array_push(&cmd.args, "-s");
> > +               argv_array_push(&cmd.args, "octopus");
> 
> argv_array_pushl(&cmd.args, "-s", "octopus", NULL);
> 
> which would make it clear that these two arguments must remain
> together, and prevent someone from coming along and inserting a new
> argument between them.

I use a single `argv_array_pushl()` call now, with intuitive line wrapping.

Show 25 quoted lines
> > +               argv_array_push(&cmd.args, "--no-edit");
> > +               argv_array_push(&cmd.args, "--no-ff");
> > +               argv_array_push(&cmd.args, "--no-log");
> > +               argv_array_push(&cmd.args, "--no-stat");
> > +               argv_array_push(&cmd.args, "-F");
> > +               argv_array_push(&cmd.args, git_path_merge_msg());
> 
> Ditto:
> argv_array_pushl(&cmd.args, "-L", git_path_merge_msg(), NULL);
> 
> > diff --git a/t/t3430-rebase-merges.sh b/t/t3430-rebase-merges.sh
> > @@ -329,4 +329,38 @@ test_expect_success 'labels that are object IDs are rewritten' '
> > +test_expect_success 'octopus merges' '
> > +       git checkout -b three &&
> > +       test_commit before-octopus &&
> > +       test_commit three &&
> > +       git checkout -b two HEAD^ &&
> > +       test_commit two &&
> > +       git checkout -b one HEAD^ &&
> > +       test_commit one &&
> > +       test_tick &&
> > +       (GIT_AUTHOR_NAME="Hank" GIT_AUTHOR_EMAIL="hank@sea.world" \
> > +        git merge -m "Tüntenfüsch" two three) &&
> 
> Unnecessary subshell?

Yes, I agree. I don't recall why I did it that way, probably I tried something else originally that required a subshell, or something.

Thank you for helping me make the patches better.

Ciao, Dscho

Previous: Johannes SchindelinNext: Johannes Schindelin via GitGitGadget
Message 6 of 20 in “rebase -r: support octopus merges”
  1. 0/3 rebase -r: support octopus mergesJohannes Schindelin via GitGitGadget, Jul 11, 2018
  2. 2/3 rebase --rebase-merges: add support for octopus mergesJohannes Schindelin via GitGitGadget, Dec 21, 2017
  3. Eric SunshineJul 11, 2018
  4. Junio C HamanoJul 11, 2018
  5. Johannes SchindelinJul 12, 2018
  6. Johannes SchindelinJul 12, 2018
  7. 1/3 merge: allow reading the merge commit message from a fileJohannes Schindelin via GitGitGadget, Dec 22, 2017
  8. Junio C HamanoJul 11, 2018
  9. Johannes SchindelinJul 12, 2018
  10. Junio C HamanoJul 12, 2018
  11. 3/3 rebase --rebase-merges: adjust man page for octopus supportJohannes Schindelin via GitGitGadget, Mar 9, 2018
  12. Elijah NewrenJul 11, 2018
  13. Johannes SchindelinJul 12, 2018
  14. Junio C HamanoJul 11, 2018
  15. Stefan BellerJul 11, 2018
  16. Johannes SchindelinJul 12, 2018
  17. Junio C HamanoJul 12, 2018
  18. Johannes SixtJul 13, 2018
  19. Junio C HamanoJul 16, 2018
  20. Johannes SchindelinJul 12, 2018

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.