From: "Elijah Newren via GitGitGadget" <gitgitgadget@gmail.com> To: git@vger.kernel.org Cc: Elijah Newren <newren@gmail.com>, Derrick Stolee <stolee@gmail.com>, Elijah Newren <newren@gmail.com> Subject: [PATCH v2 00/10] merge-ort: add more handling of basic conflict types Date: Fri, 01 Jan 2021 02:34:38 +0000 Message-ID: <pull.815.v2.git.1609468488.gitgitgadget@gmail.com> (raw) In-Reply-To: <pull.815.git.1608270687.gitgitgadget@gmail.com> 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. Changes since v1: * Wait to remove comment about a die-not-implemented code block until the commit where we actually remove it (spotted by Stollee) Elijah Newren (10): merge-ort: handle D/F conflict where directory disappears due to merge merge-ort: handle directory/file conflicts that remain merge-ort: implement unique_path() helper merge-ort: handle book-keeping around two- and three-way content merge merge-ort: flesh out implementation of handle_content_merge() merge-ort: copy and adapt merge_3way() from merge-recursive.c merge-ort: copy and adapt merge_submodule() from merge-recursive.c merge-ort: implement format_commit() merge-ort: copy find_first_merges() implementation from merge-recursive.c merge-ort: add handling for different types of files at same path merge-ort.c | 671 ++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 653 insertions(+), 18 deletions(-) base-commit: c5a6f65527aa3b6f5d7cf25437a88d8727ab0646 Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-815%2Fnewren%2Fort-conflict-handling-v2 Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-815/newren/ort-conflict-handling-v2 Pull-Request: https://github.com/gitgitgadget/git/pull/815 Range-diff vs v1: 1: 382a009c18e ! 1: 1869e497482 merge-ort: handle D/F conflict where directory disappears due to merge @@ merge-ort.c: static void process_entry(struct merge_options *opt, die("Not yet implemented."); } - /* - * NOTE: Below there is a long switch-like if-elseif-elseif... block - * which the code goes through even for the df_conflict cases -- * above. Well, it will once we don't die-not-implemented above. -+ * above. - */ - if (ci->match_mask) { - ci->merged.clean = 1; 2: 46953226ba8 ! 2: 54f9be41a8a merge-ort: handle directory/file conflicts that remain @@ merge-ort.c: static void process_entry(struct merge_options *opt, } /* + * NOTE: Below there is a long switch-like if-elseif-elseif... block + * which the code goes through even for the df_conflict cases +- * above. Well, it will once we don't die-not-implemented above. ++ * above. + */ + if (ci->match_mask) { + ci->merged.clean = 1; 3: 6ac555b3c0f = 3: 63fed5e49a7 merge-ort: implement unique_path() helper 4: 4c641ec19d5 = 4: d0fab13c78a merge-ort: handle book-keeping around two- and three-way content merge 5: 0e7321e67f8 = 5: 69129a20edc merge-ort: flesh out implementation of handle_content_merge() 6: 611141f24af = 6: d1cc76ac620 merge-ort: copy and adapt merge_3way() from merge-recursive.c 7: 4696f6c2d95 = 7: 2ddf6ece9d0 merge-ort: copy and adapt merge_submodule() from merge-recursive.c 8: a640cc0effc = 8: b0bfada5d81 merge-ort: implement format_commit() 9: b898876b119 = 9: 334cc7c65a6 merge-ort: copy find_first_merges() implementation from merge-recursive.c 10: 0a5778df253 = 10: 34eb647df40 merge-ort: add handling for different types of files at same path -- gitgitgadget
next prev parent reply index Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-12-18 5:51 [PATCH " Elijah Newren via GitGitGadget 2020-12-18 5:51 ` [PATCH 01/10] merge-ort: handle D/F conflict where directory disappears due to merge Elijah Newren via GitGitGadget 2020-12-30 14:06 ` Derrick Stolee 2020-12-30 15:13 ` Elijah Newren 2020-12-31 11:17 ` Derrick Stolee 2020-12-31 17:13 ` Elijah Newren 2020-12-18 5:51 ` [PATCH 02/10] merge-ort: handle directory/file conflicts that remain Elijah Newren via GitGitGadget 2020-12-18 5:51 ` [PATCH 03/10] merge-ort: implement unique_path() helper Elijah Newren via GitGitGadget 2020-12-30 14:16 ` Derrick Stolee 2020-12-30 15:10 ` Elijah Newren 2020-12-31 11:19 ` Derrick Stolee 2020-12-18 5:51 ` [PATCH 04/10] merge-ort: handle book-keeping around two- and three-way content merge Elijah Newren via GitGitGadget 2020-12-18 5:51 ` [PATCH 05/10] merge-ort: flesh out implementation of handle_content_merge() Elijah Newren via GitGitGadget 2020-12-18 5:51 ` [PATCH 06/10] merge-ort: copy and adapt merge_3way() from merge-recursive.c Elijah Newren via GitGitGadget 2020-12-18 5:51 ` [PATCH 07/10] merge-ort: copy and adapt merge_submodule() " Elijah Newren via GitGitGadget 2020-12-18 5:51 ` [PATCH 08/10] merge-ort: implement format_commit() Elijah Newren via GitGitGadget 2020-12-18 5:51 ` [PATCH 09/10] merge-ort: copy find_first_merges() implementation from merge-recursive.c Elijah Newren via GitGitGadget 2020-12-18 5:51 ` [PATCH 10/10] merge-ort: add handling for different types of files at same path Elijah Newren via GitGitGadget 2020-12-29 0:44 ` [PATCH 00/10] merge-ort: add more handling of basic conflict types Elijah Newren 2021-01-01 2:34 ` Elijah Newren via GitGitGadget [this message] 2021-01-01 2:34 ` [PATCH v2 01/10] merge-ort: handle D/F conflict where directory disappears due to merge Elijah Newren via GitGitGadget 2021-01-01 2:34 ` [PATCH v2 02/10] merge-ort: handle directory/file conflicts that remain Elijah Newren via GitGitGadget 2021-01-01 2:34 ` [PATCH v2 03/10] merge-ort: implement unique_path() helper Elijah Newren via GitGitGadget 2021-01-01 2:34 ` [PATCH v2 04/10] merge-ort: handle book-keeping around two- and three-way content merge Elijah Newren via GitGitGadget 2021-01-01 2:34 ` [PATCH v2 05/10] merge-ort: flesh out implementation of handle_content_merge() Elijah Newren via GitGitGadget 2021-03-04 16:28 ` A merge-ort TODO comment, and how to test merge-ort? Ævar Arnfjörð Bjarmason 2021-03-04 19:43 ` Elijah Newren 2021-03-04 21:29 ` Ævar Arnfjörð Bjarmason 2021-03-04 22:45 ` Elijah Newren 2021-03-08 14:49 ` Ævar Arnfjörð Bjarmason 2021-01-01 2:34 ` [PATCH v2 06/10] merge-ort: copy and adapt merge_3way() from merge-recursive.c Elijah Newren via GitGitGadget 2021-01-01 2:34 ` [PATCH v2 07/10] merge-ort: copy and adapt merge_submodule() " Elijah Newren via GitGitGadget 2021-01-01 2:34 ` [PATCH v2 08/10] merge-ort: implement format_commit() Elijah Newren via GitGitGadget 2021-01-01 2:34 ` [PATCH v2 09/10] merge-ort: copy find_first_merges() implementation from merge-recursive.c Elijah Newren via GitGitGadget 2021-01-01 2:34 ` [PATCH v2 10/10] merge-ort: add handling for different types of files at same path Elijah Newren via GitGitGadget 2021-01-05 14:23 ` [PATCH v2 00/10] merge-ort: add more handling of basic conflict types Derrick Stolee 2021-01-06 19:20 ` Elijah Newren
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=pull.815.v2.git.1609468488.gitgitgadget@gmail.com \ --to=gitgitgadget@gmail.com \ --cc=git@vger.kernel.org \ --cc=newren@gmail.com \ --cc=stolee@gmail.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
Git Mailing List Archive on lore.kernel.org Archives are clonable: git clone --mirror https://lore.kernel.org/git/0 git/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 git git/ https://lore.kernel.org/git \ git@vger.kernel.org public-inbox-index git Example config snippet for mirrors Newsgroup available over NNTP: nntp://nntp.lore.kernel.org/org.kernel.vger.git AGPL code for this site: git clone https://public-inbox.org/public-inbox.git