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

Re: [PATCH v7 0/2] merge-tree: allow specifying a base commit when --write-tree is passed

From
Elijah Newren <newren@gmail.com>
Date
Nov 12, 2022, 00:32 UTC
Message-ID
<CABPp-BE=XgrQxnyPp3-xi+CuU8kBarwJNfNvEtK3HscQh9sSEw@mail.gmail.com>
In-Reply-To
<pull.1397.v7.git.1668210314.gitgitgadget@gmail.com>

On Fri, Nov 11, 2022 at 3:45 PM Kyle Zhao via GitGitGadget <gitgitgadget@gmail.com> wrote:

Show 48 quoted lines
>
> Thanks for everyone's careful reviews.
>
> In this patch, I introduce a new --merge-base=<commit> option to allow
> callers to specify a merge-base for the merge and extend the input accepted
> by --stdin to also allow a specified merge-base with each merge requested.
>
> Regards, Kyle
>
> Changes since v1:
>
>  * Changed merge_incore_recursive() to merge_incore_nonrecursive() when
>    merge-base is specified.
>  * Fixed c style problem.
>  * Moved commit lookup/die logic out to the parsing logic in
>    cmd_merge_tree().
>  * use test_commit for test
>
> Changes since v2:
>
>  * commit message
>  * Rebased on top of en/merge-tree-sequence.
>  * Set opt.ancestor to o->merge_base. Because opt.ancestor is a *char. To
>    make it easier to pass parameters, I moved
>    lookup_commit_reference_by_name() to real_ merge() again.
>  * Added test comment.
>
> Changes since v3:
>
>  * support --merge-base in conjunction with --stdin
>
> Changes since v4:
>
>  * commit message
>  * added input format document
>  * changed the input format for specifying the merge-base when --stdin is
>    passed
>  * changed the output when --stdin and --merge-base are used at the same
>    time
>  * add comment for test
>
> Changes since v5:
>
>  * improved test: remove the test repo after the test; avoid sub-shell.
>
> Changes since v6:
>
>  * fixed comment of test
Thanks; this version looks good to me and is ready to merge down.
Show 34 quoted lines
> Kyle Zhao (2):
>   merge-tree.c: add --merge-base=<commit> option
>   merge-tree.c: allow specifying the merge-base when --stdin is passed
>
>  Documentation/git-merge-tree.txt | 16 ++++++++
>  builtin/merge-tree.c             | 65 ++++++++++++++++++++++++++------
>  t/t4301-merge-tree-write-tree.sh | 62 ++++++++++++++++++++++++++++++
>  3 files changed, 131 insertions(+), 12 deletions(-)
>
>
> base-commit: ec1edbcb56ac05e9980299b05924c5c1b51d68b4
> Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-1397%2Fkeyu98%2Fkz%2Fmerge-tree-option-merge-base-v7
> Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1397/keyu98/kz/merge-tree-option-merge-base-v7
> Pull-Request: https://github.com/gitgitgadget/git/pull/1397
>
> Range-diff vs v6:
>
>  1:  1cf1c69b8e8 = 1:  1cf1c69b8e8 merge-tree.c: add --merge-base=<commit> option
>  2:  40d56544e6e ! 2:  48e55d4e97c merge-tree.c: allow specifying the merge-base when --stdin is passed
>      @@ t/t4301-merge-tree-write-tree.sh: test_expect_success 'specify merge-base as par
>        '
>
>       +# Since the earlier tests have verified that individual merge-tree calls
>      -+# are doing the right thing, this test case is only used to test whether
>      -+# the input format is available.
>      ++# are doing the right thing, this test case is only used to verify that
>      ++# we can also trigger merges via --stdin, and that when we do we get
>      ++# the same answer as running a bunch of separate merges.
>       +
>       +test_expect_success 'check the input format when --stdin is passed' '
>       + test_when_finished "rm -rf repo" &&
>
> --
> gitgitgadget
Previous: Kyle Zhao via GitGitGadgetNext: Taylor Blau
Message 36 of 43 in “merge-tree.c: add --merge-base=<commit> option”
  1. merge-tree.c: add --merge-base=<commit> optionKyle Zhao via GitGitGadget, Oct 27, 2022
  2. Junio C HamanoOct 27, 2022
  3. Elijah NewrenOct 28, 2022
  4. Junio C HamanoOct 28, 2022
  5. Elijah NewrenOct 29, 2022
  6. kylezhao (赵柯宇)Oct 28, 2022
  7. Elijah NewrenOct 28, 2022
  8. kylezhao (赵柯宇)Oct 28, 2022
  9. merge-tree.c: add --merge-base=<commit> optionKyle Zhao via GitGitGadget, Oct 28, 2022
  10. Elijah NewrenOct 29, 2022
  11. merge-tree.c: add --merge-base=<commit> optionKyle Zhao via GitGitGadget, Oct 29, 2022
  12. Elijah NewrenNov 1, 2022
  13. 0/2 merge-tree: allow specifying a base commit when --write-tree is passedKyle Zhao via GitGitGadget, Nov 1, 2022
  14. 2/2 merge-tree.c: support --merge-base in conjunction with --stdinKyle Zhao via GitGitGadget, Nov 1, 2022
  15. Elijah NewrenNov 3, 2022
  16. kylezhao (赵柯宇)Nov 3, 2022
  17. 1/2 merge-tree.c: add --merge-base=<commit> optionKyle Zhao via GitGitGadget, Nov 1, 2022
  18. Taylor BlauNov 1, 2022
  19. 0/2 merge-tree: allow specifying a base commit when --write-tree is passedKyle Zhao via GitGitGadget, Nov 3, 2022
  20. 1/2 merge-tree.c: add --merge-base=<commit> optionKyle Zhao via GitGitGadget, Nov 3, 2022
  21. Ævar Arnfjörð BjarmasonNov 3, 2022
  22. kylezhao (赵柯宇)Nov 3, 2022
  23. 2/2 merge-tree.c: allow specifying the merge-base when --stdin is passedKyle Zhao via GitGitGadget, Nov 3, 2022
  24. 0/2 merge-tree: allow specifying a base commit when --write-tree is passedKyle Zhao via GitGitGadget, Nov 3, 2022
  25. 1/2 merge-tree.c: add --merge-base=<commit> optionKyle Zhao via GitGitGadget, Nov 3, 2022
  26. 2/2 merge-tree.c: allow specifying the merge-base when --stdin is passedKyle Zhao via GitGitGadget, Nov 3, 2022
  27. Elijah NewrenNov 11, 2022
  28. 0/2 merge-tree: allow specifying a base commit when --write-tree is passedKyle Zhao via GitGitGadget, Nov 11, 2022
  29. 1/2 merge-tree.c: add --merge-base=<commit> optionKyle Zhao via GitGitGadget, Nov 11, 2022
  30. Junio C HamanoNov 22, 2022
  31. kylezhao (赵柯宇)Nov 22, 2022
  32. Junio C HamanoNov 22, 2022
  33. Junio C HamanoNov 22, 2022
  34. kylezhao (赵柯宇)Nov 22, 2022
  35. 2/2 merge-tree.c: allow specifying the merge-base when --stdin is passedKyle Zhao via GitGitGadget, Nov 11, 2022
  36. Elijah NewrenNov 12, 2022
  37. Taylor BlauNov 13, 2022
  38. Taylor BlauNov 13, 2022
  39. 0/3 merge-tree: allow specifying a base commit when --write-tree is passedKyle Zhao via GitGitGadget, Nov 24, 2022
  40. 1/3 merge-tree.c: add --merge-base=<commit> optionKyle Zhao via GitGitGadget, Nov 24, 2022
  41. 2/3 merge-tree.c: allow specifying the merge-base when --stdin is passedKyle Zhao via GitGitGadget, Nov 24, 2022
  42. 3/3 docs: fix description of the `--merge-base` optionKyle Zhao via GitGitGadget, Nov 24, 2022
  43. Junio C HamanoNov 25, 2022

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.