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

Re: [PATCH v2 00/10] merge-ort: add more handling of basic conflict types

From
Elijah Newren <newren@gmail.com>
Date
Jan 6, 2021, 19:20 UTC
Message-ID
<CABPp-BH0wN8UD91-dnTMdkE1qnbJ5eP=X526bAn=kFpQKKxYDw@mail.gmail.com>
In-Reply-To
<5f6d5428-36ce-3e91-4916-8968ac1b8686@gmail.com>
On Tue, Jan 5, 2021 at 6:23 AM Derrick Stolee <stolee@gmail.com> wrote:
Show 25 quoted lines
>
> On 12/31/2020 9:34 PM, Elijah Newren via GitGitGadget wrote:
> > This series depends on en/merge-ort-2 (it does not depend on en/merge-ort-3
> > or en/merge-ort-recursive).
> >
> > This series adds handling of additional basic conflict types (directory/file
> > conflicts, three-way content merging, very basic submodule divergence
> > reconciliation, and different filetypes). This series drops the number of
> > test failures under GIT_TEST_MERGE_ALGORITHM=ort by 211 (from 1448 to 1237).
> >
> > Further, if en/merge-tests, en/merge-ort-3, en/merge-ort-recursive, and this
> > series are all merged down (in any order), then collectively they drop the
> > number of test failure under GIT_TEST_MERGE_ALGORITHM=ort from 1448 down to
> > 60.
>
> I finished reading the rest of the patches. They are well-organized to
> present the merging logic in small chunks.
>
> While this is a very dense series, the proof is in the test cases. I
> look forward to testing the ort algorithm in CI builds and start enabling
> it in my repositories.
>
> Your patch organization will help if there are bugs that we won't catch
> until we can enable this merge algorithm more widely, as we can blame to
> these well-crafted patches to assist with debugging.
Thanks for taking a look, as always.

Your comments reminded me that I intended to dig into your code coverage reports and try to figure out if there are parts of merge-ort.[ch] (and diffcore-rename.c) that are uncovered by any testcases. I bet there are some. There were certainly many in merge-recursive, and while I've extended the testsuite coverage over the years, I never did it with the aid of a code coverage tool...

Previous: Derrick Stolee
Message 37 of 37 in “merge-ort: add more handling of basic conflict types”
  1. 00/10 merge-ort: add more handling of basic conflict typesElijah Newren via GitGitGadget, Dec 18, 2020
  2. 01/10 merge-ort: handle D/F conflict where directory disappears due to mergeElijah Newren via GitGitGadget, Dec 18, 2020
  3. Derrick StoleeDec 30, 2020
  4. Elijah NewrenDec 30, 2020
  5. Derrick StoleeDec 31, 2020
  6. Elijah NewrenDec 31, 2020
  7. 03/10 merge-ort: implement unique_path() helperElijah Newren via GitGitGadget, Dec 18, 2020
  8. Derrick StoleeDec 30, 2020
  9. Elijah NewrenDec 30, 2020
  10. Derrick StoleeDec 31, 2020
  11. 04/10 merge-ort: handle book-keeping around two- and three-way content mergeElijah Newren via GitGitGadget, Dec 18, 2020
  12. 02/10 merge-ort: handle directory/file conflicts that remainElijah Newren via GitGitGadget, Dec 18, 2020
  13. 05/10 merge-ort: flesh out implementation of handle_content_merge()Elijah Newren via GitGitGadget, Dec 18, 2020
  14. 07/10 merge-ort: copy and adapt merge_submodule() from merge-recursive.cElijah Newren via GitGitGadget, Dec 18, 2020
  15. 09/10 merge-ort: copy find_first_merges() implementation from merge-recursive.cElijah Newren via GitGitGadget, Dec 18, 2020
  16. 10/10 merge-ort: add handling for different types of files at same pathElijah Newren via GitGitGadget, Dec 18, 2020
  17. 06/10 merge-ort: copy and adapt merge_3way() from merge-recursive.cElijah Newren via GitGitGadget, Dec 18, 2020
  18. 08/10 merge-ort: implement format_commit()Elijah Newren via GitGitGadget, Dec 18, 2020
  19. Elijah NewrenDec 29, 2020
  20. 00/10 merge-ort: add more handling of basic conflict typesElijah Newren via GitGitGadget, Jan 1, 2021
  21. 01/10 merge-ort: handle D/F conflict where directory disappears due to mergeElijah Newren via GitGitGadget, Jan 1, 2021
  22. 05/10 merge-ort: flesh out implementation of handle_content_merge()Elijah Newren via GitGitGadget, Jan 1, 2021
  23. A merge-ort TODO comment, and how to test merge-ort?Ævar Arnfjörð Bjarmason, Mar 4, 2021
  24. Elijah NewrenMar 4, 2021
  25. Ævar Arnfjörð BjarmasonMar 4, 2021
  26. Elijah NewrenMar 4, 2021
  27. Ævar Arnfjörð BjarmasonMar 8, 2021
  28. 03/10 merge-ort: implement unique_path() helperElijah Newren via GitGitGadget, Jan 1, 2021
  29. 04/10 merge-ort: handle book-keeping around two- and three-way content mergeElijah Newren via GitGitGadget, Jan 1, 2021
  30. 07/10 merge-ort: copy and adapt merge_submodule() from merge-recursive.cElijah Newren via GitGitGadget, Jan 1, 2021
  31. 02/10 merge-ort: handle directory/file conflicts that remainElijah Newren via GitGitGadget, Jan 1, 2021
  32. 09/10 merge-ort: copy find_first_merges() implementation from merge-recursive.cElijah Newren via GitGitGadget, Jan 1, 2021
  33. 08/10 merge-ort: implement format_commit()Elijah Newren via GitGitGadget, Jan 1, 2021
  34. 10/10 merge-ort: add handling for different types of files at same pathElijah Newren via GitGitGadget, Jan 1, 2021
  35. 06/10 merge-ort: copy and adapt merge_3way() from merge-recursive.cElijah Newren via GitGitGadget, Jan 1, 2021
  36. Derrick StoleeJan 5, 2021
  37. Elijah NewrenJan 6, 2021

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.