From 7bd89502d818681ee220282d890891d9c11abeb1 Mon Sep 17 00:00:00 2001 From: Edward Thomson Date: Sun, 21 Jan 2018 16:41:49 +0000 Subject: Introduce additional criss-cross merge branches --- .../objects/03/9d0da126f24b819a5a38186249c7f96be3824c | Bin 0 -> 71 bytes .../objects/05/63b7706dcdcf94bc0c02cd96c137940278eca9 | Bin 0 -> 151 bytes .../objects/08/f01e1bff7e442d574eb221913515b4bd27ccd6 | Bin 0 -> 64 bytes .../objects/0b/beee1982b493330e375a85bbfddaba3d561556 | Bin 0 -> 19 bytes .../objects/0e/c39d71c1b074905350ce20ce3f0629f737a2a9 | Bin 0 -> 91 bytes .../objects/17/946ad3088f931102e5d81f94cf2825fc188953 | Bin 0 -> 19 bytes .../objects/1b/c7bcccf4bbdc8bfba2331a37ad5e9cf1dd321c | Bin 0 -> 91 bytes .../objects/1b/de1883de4977ea3e664b315da951d1f614c3b1 | Bin 0 -> 45 bytes .../objects/26/d3c94459b4faa08f009b15867993ca34153592 | 2 ++ .../objects/2e/7ae0d42fb7b6126f6a08ac6314ac07833a52f6 | Bin 0 -> 61 bytes .../objects/30/39c07db695c8c99d0a7c7e32f0afe40eae0be0 | 3 +++ .../objects/35/8efd6f589384fa8baf92234db9c7899a53916e | Bin 0 -> 51 bytes .../objects/36/71e42c8c8302d1a71c0ed7bf2b0a938e9e20f9 | Bin 0 -> 51 bytes .../objects/3a/0dc89a8bd20e74fae69d2e038b47360fafb02e | Bin 0 -> 64 bytes .../objects/3a/8c70144d0334721154b1e0529716b368483d6f | Bin 0 -> 91 bytes .../objects/40/9f5d072decec684331672f2d6c0a9bc3640adb | Bin 0 -> 51 bytes .../objects/44/faf5fba1af850dae54f8b2345938d3c7ae479f | Bin 0 -> 91 bytes .../objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904 | Bin 0 -> 15 bytes .../objects/4c/62e9482ed42c1a6d08891906b26126daa4a8f5 | Bin 0 -> 182 bytes .../objects/50/4dd93fb5b9c2a28c094c6e84ef0606de1e9b5c | Bin 0 -> 50 bytes .../objects/50/dfa64a56b488fe8082371b182c8a3e3c942332 | Bin 0 -> 19 bytes .../objects/51/135c5884d7dd132fef3b432cca5826bab98f37 | Bin 0 -> 154 bytes .../objects/51/60ab78c1973dcd7cdebe2345dc8fcfc755e76d | Bin 0 -> 91 bytes .../objects/56/fcbad344aafe519bafcc33c87b8e64849d82ab | Bin 0 -> 19 bytes .../objects/5a/47615db824433f816ba62217dda6d46c5a7640 | Bin 0 -> 91 bytes .../objects/5c/27b5f7c6f6dd4e5b4d64976741d56c2df8f48a | Bin 0 -> 160 bytes .../objects/5d/998d5f278aff5693711bc48f6852aac4b603ad | Bin 0 -> 19 bytes .../objects/75/afa96db00c26c6ebf3b377615b4e2a20563ee4 | Bin 0 -> 19 bytes .../objects/7c/61830f8b8632665bb44ae5d219f520f5aa5bb4 | Bin 0 -> 91 bytes .../objects/7c/9a30d8dcee320a3b1f9ed10b582479faa9d3a1 | Bin 0 -> 152 bytes .../objects/7e/2d2bad4fc21f2832ca2afd48b1f95ab37ffb92 | Bin 0 -> 19 bytes .../objects/7e/70a7872576bba7e299cde45abb7da1e4d7ba81 | Bin 0 -> 61 bytes .../objects/7f/9c1d78d760cbfa99273bc1ef642d994c6baa5c | Bin 0 -> 91 bytes .../objects/81/60cb53660b86c954144b8dbbb0b6e4db4ba6ba | Bin 0 -> 51 bytes .../objects/8f/1b918542a5fe9b3bb7a8770a7525ad5b3b5864 | Bin 0 -> 51 bytes .../objects/97/5dd228fd1b0cacf2988167088fd1190c9ac0f5 | Bin 0 -> 186 bytes .../objects/98/5b725cf91c6861b5e7a419415d03cbcf5f16ca | Bin 0 -> 91 bytes .../objects/98/cacbdd1fac7bbab54a6c7c97aa2103219e08b8 | Bin 0 -> 19 bytes .../objects/99/754e36599906b81b917447280c4918269e14ff | Bin 0 -> 19 bytes .../objects/9a/228c1ee87f286202ec9a25de837a18550013b5 | Bin 0 -> 91 bytes .../objects/a0/ce8909834f389b4f8be6a6ec420868422d40a1 | Bin 0 -> 154 bytes .../objects/a2/817ed0e8ca6fe52bf0a20b2f50eb94b9ea5415 | Bin 0 -> 153 bytes .../objects/a3/5aa65d86215fce909fc0bcce8949d12becba44 | Bin 0 -> 91 bytes .../objects/a3/ca4c462e93fee824c8ad500917ae34b800dea4 | Bin 0 -> 91 bytes .../objects/a6/64873b1c0b9a1ed300f8644dde536fdaa3a34f | Bin 0 -> 51 bytes .../objects/a9/9bf55117ab1958171fccfeb19885f707bd08fd | Bin 0 -> 90 bytes .../objects/b0/1de62cf11945685c98ec671edabdff3e90ddc5 | Bin 0 -> 185 bytes .../objects/b0/4823b75c8220b89c2f8da54709cda262304cd3 | Bin 0 -> 19 bytes .../objects/b1/71224a4f604b6091072007765419b14c232c1d | Bin 0 -> 181 bytes .../objects/b7/de2b52ba055688061355fad1599a5d214ce8f8 | Bin 0 -> 74 bytes .../objects/b8/a3b657edcf31e6365a2f1c45d45e6c9ebe8f02 | Bin 0 -> 91 bytes .../objects/bb/4e0014fb09d24312f0af37c7a45e5488f19510 | 4 ++++ .../objects/c7/f3257db72e885d6612080c003e0f2ef480e0c4 | Bin 0 -> 69 bytes .../objects/ce/0d744cd2e18eacf883d43471636f231c0995e3 | Bin 0 -> 91 bytes .../objects/d0/97bcf99adb1022a6b7d2e94fed2031ebd9d89c | Bin 0 -> 19 bytes .../objects/d0/c9bd6e2a3e327d81a32de51201d3bd58909f7c | Bin 0 -> 181 bytes .../objects/d5/015f9436b2d8c842bf6616e7cf5bc54eb79ced | Bin 0 -> 91 bytes .../objects/db/51adf2b699eed93e883d6425f5e6c50165a9c2 | Bin 0 -> 91 bytes .../objects/de/de92a05a0841faa8e4ad6700285cd208184458 | Bin 0 -> 182 bytes .../objects/e0/15ebd79a72a88b9291df11771caf56f463e8f9 | Bin 0 -> 91 bytes .../objects/e9/30c8c67848df4aa66319c5752fab6b8fdec765 | Bin 0 -> 64 bytes .../objects/f2/9ccca75754d8476e5dad8cf250e03d43fe9e6c | Bin 0 -> 51 bytes .../objects/f3/2c284f537ff1a55d3cbfe9a37d431b6edfadc2 | Bin 0 -> 19 bytes .../objects/f4/c149e7d0983e90e9ee802ff57ae3c905ba63da | Bin 0 -> 91 bytes .../objects/f6/5de1834f57708e76d8dc25502b7f1ecbcce162 | Bin 0 -> 156 bytes .../objects/f9/c04e4e9d4aaf1e6fe7478a7cc0756554974c2b | Bin 0 -> 45 bytes .../merge-recursive/.gitted/refs/heads/branchJ-1 | 1 + .../merge-recursive/.gitted/refs/heads/branchJ-2 | 1 + 68 files changed, 11 insertions(+) create mode 100644 tests/resources/merge-recursive/.gitted/objects/03/9d0da126f24b819a5a38186249c7f96be3824c create mode 100644 tests/resources/merge-recursive/.gitted/objects/05/63b7706dcdcf94bc0c02cd96c137940278eca9 create mode 100644 tests/resources/merge-recursive/.gitted/objects/08/f01e1bff7e442d574eb221913515b4bd27ccd6 create mode 100644 tests/resources/merge-recursive/.gitted/objects/0b/beee1982b493330e375a85bbfddaba3d561556 create mode 100644 tests/resources/merge-recursive/.gitted/objects/0e/c39d71c1b074905350ce20ce3f0629f737a2a9 create mode 100644 tests/resources/merge-recursive/.gitted/objects/17/946ad3088f931102e5d81f94cf2825fc188953 create mode 100644 tests/resources/merge-recursive/.gitted/objects/1b/c7bcccf4bbdc8bfba2331a37ad5e9cf1dd321c create mode 100644 tests/resources/merge-recursive/.gitted/objects/1b/de1883de4977ea3e664b315da951d1f614c3b1 create mode 100644 tests/resources/merge-recursive/.gitted/objects/26/d3c94459b4faa08f009b15867993ca34153592 create mode 100644 tests/resources/merge-recursive/.gitted/objects/2e/7ae0d42fb7b6126f6a08ac6314ac07833a52f6 create mode 100644 tests/resources/merge-recursive/.gitted/objects/30/39c07db695c8c99d0a7c7e32f0afe40eae0be0 create mode 100644 tests/resources/merge-recursive/.gitted/objects/35/8efd6f589384fa8baf92234db9c7899a53916e create mode 100644 tests/resources/merge-recursive/.gitted/objects/36/71e42c8c8302d1a71c0ed7bf2b0a938e9e20f9 create mode 100644 tests/resources/merge-recursive/.gitted/objects/3a/0dc89a8bd20e74fae69d2e038b47360fafb02e create mode 100644 tests/resources/merge-recursive/.gitted/objects/3a/8c70144d0334721154b1e0529716b368483d6f create mode 100644 tests/resources/merge-recursive/.gitted/objects/40/9f5d072decec684331672f2d6c0a9bc3640adb create mode 100644 tests/resources/merge-recursive/.gitted/objects/44/faf5fba1af850dae54f8b2345938d3c7ae479f create mode 100644 tests/resources/merge-recursive/.gitted/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904 create mode 100644 tests/resources/merge-recursive/.gitted/objects/4c/62e9482ed42c1a6d08891906b26126daa4a8f5 create mode 100644 tests/resources/merge-recursive/.gitted/objects/50/4dd93fb5b9c2a28c094c6e84ef0606de1e9b5c create mode 100644 tests/resources/merge-recursive/.gitted/objects/50/dfa64a56b488fe8082371b182c8a3e3c942332 create mode 100644 tests/resources/merge-recursive/.gitted/objects/51/135c5884d7dd132fef3b432cca5826bab98f37 create mode 100644 tests/resources/merge-recursive/.gitted/objects/51/60ab78c1973dcd7cdebe2345dc8fcfc755e76d create mode 100644 tests/resources/merge-recursive/.gitted/objects/56/fcbad344aafe519bafcc33c87b8e64849d82ab create mode 100644 tests/resources/merge-recursive/.gitted/objects/5a/47615db824433f816ba62217dda6d46c5a7640 create mode 100644 tests/resources/merge-recursive/.gitted/objects/5c/27b5f7c6f6dd4e5b4d64976741d56c2df8f48a create mode 100644 tests/resources/merge-recursive/.gitted/objects/5d/998d5f278aff5693711bc48f6852aac4b603ad create mode 100644 tests/resources/merge-recursive/.gitted/objects/75/afa96db00c26c6ebf3b377615b4e2a20563ee4 create mode 100644 tests/resources/merge-recursive/.gitted/objects/7c/61830f8b8632665bb44ae5d219f520f5aa5bb4 create mode 100644 tests/resources/merge-recursive/.gitted/objects/7c/9a30d8dcee320a3b1f9ed10b582479faa9d3a1 create mode 100644 tests/resources/merge-recursive/.gitted/objects/7e/2d2bad4fc21f2832ca2afd48b1f95ab37ffb92 create mode 100644 tests/resources/merge-recursive/.gitted/objects/7e/70a7872576bba7e299cde45abb7da1e4d7ba81 create mode 100644 tests/resources/merge-recursive/.gitted/objects/7f/9c1d78d760cbfa99273bc1ef642d994c6baa5c create mode 100644 tests/resources/merge-recursive/.gitted/objects/81/60cb53660b86c954144b8dbbb0b6e4db4ba6ba create mode 100644 tests/resources/merge-recursive/.gitted/objects/8f/1b918542a5fe9b3bb7a8770a7525ad5b3b5864 create mode 100644 tests/resources/merge-recursive/.gitted/objects/97/5dd228fd1b0cacf2988167088fd1190c9ac0f5 create mode 100644 tests/resources/merge-recursive/.gitted/objects/98/5b725cf91c6861b5e7a419415d03cbcf5f16ca create mode 100644 tests/resources/merge-recursive/.gitted/objects/98/cacbdd1fac7bbab54a6c7c97aa2103219e08b8 create mode 100644 tests/resources/merge-recursive/.gitted/objects/99/754e36599906b81b917447280c4918269e14ff create mode 100644 tests/resources/merge-recursive/.gitted/objects/9a/228c1ee87f286202ec9a25de837a18550013b5 create mode 100644 tests/resources/merge-recursive/.gitted/objects/a0/ce8909834f389b4f8be6a6ec420868422d40a1 create mode 100644 tests/resources/merge-recursive/.gitted/objects/a2/817ed0e8ca6fe52bf0a20b2f50eb94b9ea5415 create mode 100644 tests/resources/merge-recursive/.gitted/objects/a3/5aa65d86215fce909fc0bcce8949d12becba44 create mode 100644 tests/resources/merge-recursive/.gitted/objects/a3/ca4c462e93fee824c8ad500917ae34b800dea4 create mode 100644 tests/resources/merge-recursive/.gitted/objects/a6/64873b1c0b9a1ed300f8644dde536fdaa3a34f create mode 100644 tests/resources/merge-recursive/.gitted/objects/a9/9bf55117ab1958171fccfeb19885f707bd08fd create mode 100644 tests/resources/merge-recursive/.gitted/objects/b0/1de62cf11945685c98ec671edabdff3e90ddc5 create mode 100644 tests/resources/merge-recursive/.gitted/objects/b0/4823b75c8220b89c2f8da54709cda262304cd3 create mode 100644 tests/resources/merge-recursive/.gitted/objects/b1/71224a4f604b6091072007765419b14c232c1d create mode 100644 tests/resources/merge-recursive/.gitted/objects/b7/de2b52ba055688061355fad1599a5d214ce8f8 create mode 100644 tests/resources/merge-recursive/.gitted/objects/b8/a3b657edcf31e6365a2f1c45d45e6c9ebe8f02 create mode 100644 tests/resources/merge-recursive/.gitted/objects/bb/4e0014fb09d24312f0af37c7a45e5488f19510 create mode 100644 tests/resources/merge-recursive/.gitted/objects/c7/f3257db72e885d6612080c003e0f2ef480e0c4 create mode 100644 tests/resources/merge-recursive/.gitted/objects/ce/0d744cd2e18eacf883d43471636f231c0995e3 create mode 100644 tests/resources/merge-recursive/.gitted/objects/d0/97bcf99adb1022a6b7d2e94fed2031ebd9d89c create mode 100644 tests/resources/merge-recursive/.gitted/objects/d0/c9bd6e2a3e327d81a32de51201d3bd58909f7c create mode 100644 tests/resources/merge-recursive/.gitted/objects/d5/015f9436b2d8c842bf6616e7cf5bc54eb79ced create mode 100644 tests/resources/merge-recursive/.gitted/objects/db/51adf2b699eed93e883d6425f5e6c50165a9c2 create mode 100644 tests/resources/merge-recursive/.gitted/objects/de/de92a05a0841faa8e4ad6700285cd208184458 create mode 100644 tests/resources/merge-recursive/.gitted/objects/e0/15ebd79a72a88b9291df11771caf56f463e8f9 create mode 100644 tests/resources/merge-recursive/.gitted/objects/e9/30c8c67848df4aa66319c5752fab6b8fdec765 create mode 100644 tests/resources/merge-recursive/.gitted/objects/f2/9ccca75754d8476e5dad8cf250e03d43fe9e6c create mode 100644 tests/resources/merge-recursive/.gitted/objects/f3/2c284f537ff1a55d3cbfe9a37d431b6edfadc2 create mode 100644 tests/resources/merge-recursive/.gitted/objects/f4/c149e7d0983e90e9ee802ff57ae3c905ba63da create mode 100644 tests/resources/merge-recursive/.gitted/objects/f6/5de1834f57708e76d8dc25502b7f1ecbcce162 create mode 100644 tests/resources/merge-recursive/.gitted/objects/f9/c04e4e9d4aaf1e6fe7478a7cc0756554974c2b create mode 100644 tests/resources/merge-recursive/.gitted/refs/heads/branchJ-1 create mode 100644 tests/resources/merge-recursive/.gitted/refs/heads/branchJ-2 diff --git a/tests/resources/merge-recursive/.gitted/objects/03/9d0da126f24b819a5a38186249c7f96be3824c b/tests/resources/merge-recursive/.gitted/objects/03/9d0da126f24b819a5a38186249c7f96be3824c new file mode 100644 index 000000000..79ad635ff Binary files /dev/null and b/tests/resources/merge-recursive/.gitted/objects/03/9d0da126f24b819a5a38186249c7f96be3824c differ diff --git a/tests/resources/merge-recursive/.gitted/objects/05/63b7706dcdcf94bc0c02cd96c137940278eca9 b/tests/resources/merge-recursive/.gitted/objects/05/63b7706dcdcf94bc0c02cd96c137940278eca9 new file mode 100644 index 000000000..c6d38a7d3 Binary files /dev/null and b/tests/resources/merge-recursive/.gitted/objects/05/63b7706dcdcf94bc0c02cd96c137940278eca9 differ diff --git a/tests/resources/merge-recursive/.gitted/objects/08/f01e1bff7e442d574eb221913515b4bd27ccd6 b/tests/resources/merge-recursive/.gitted/objects/08/f01e1bff7e442d574eb221913515b4bd27ccd6 new file mode 100644 index 000000000..c2fbf5ba7 Binary files /dev/null and b/tests/resources/merge-recursive/.gitted/objects/08/f01e1bff7e442d574eb221913515b4bd27ccd6 differ diff --git a/tests/resources/merge-recursive/.gitted/objects/0b/beee1982b493330e375a85bbfddaba3d561556 b/tests/resources/merge-recursive/.gitted/objects/0b/beee1982b493330e375a85bbfddaba3d561556 new file mode 100644 index 000000000..66b927246 Binary files /dev/null and b/tests/resources/merge-recursive/.gitted/objects/0b/beee1982b493330e375a85bbfddaba3d561556 differ diff --git a/tests/resources/merge-recursive/.gitted/objects/0e/c39d71c1b074905350ce20ce3f0629f737a2a9 b/tests/resources/merge-recursive/.gitted/objects/0e/c39d71c1b074905350ce20ce3f0629f737a2a9 new file mode 100644 index 000000000..68808d2f3 Binary files /dev/null and b/tests/resources/merge-recursive/.gitted/objects/0e/c39d71c1b074905350ce20ce3f0629f737a2a9 differ diff --git a/tests/resources/merge-recursive/.gitted/objects/17/946ad3088f931102e5d81f94cf2825fc188953 b/tests/resources/merge-recursive/.gitted/objects/17/946ad3088f931102e5d81f94cf2825fc188953 new file mode 100644 index 000000000..9cc133e94 Binary files /dev/null and b/tests/resources/merge-recursive/.gitted/objects/17/946ad3088f931102e5d81f94cf2825fc188953 differ diff --git a/tests/resources/merge-recursive/.gitted/objects/1b/c7bcccf4bbdc8bfba2331a37ad5e9cf1dd321c b/tests/resources/merge-recursive/.gitted/objects/1b/c7bcccf4bbdc8bfba2331a37ad5e9cf1dd321c new file mode 100644 index 000000000..811716700 Binary files /dev/null and b/tests/resources/merge-recursive/.gitted/objects/1b/c7bcccf4bbdc8bfba2331a37ad5e9cf1dd321c differ diff --git a/tests/resources/merge-recursive/.gitted/objects/1b/de1883de4977ea3e664b315da951d1f614c3b1 b/tests/resources/merge-recursive/.gitted/objects/1b/de1883de4977ea3e664b315da951d1f614c3b1 new file mode 100644 index 000000000..67daf36ae Binary files /dev/null and b/tests/resources/merge-recursive/.gitted/objects/1b/de1883de4977ea3e664b315da951d1f614c3b1 differ diff --git a/tests/resources/merge-recursive/.gitted/objects/26/d3c94459b4faa08f009b15867993ca34153592 b/tests/resources/merge-recursive/.gitted/objects/26/d3c94459b4faa08f009b15867993ca34153592 new file mode 100644 index 000000000..dd7b1a245 --- /dev/null +++ b/tests/resources/merge-recursive/.gitted/objects/26/d3c94459b4faa08f009b15867993ca34153592 @@ -0,0 +1,2 @@ +xA +1 E]vڂ+O 3mF*x{\yZ܀7BH5Ț:sYB9D3Ohk1T-ؑpt>N"1[!#v_+\>uVo,ӭȼZ@2l1 N{`?Ts6_?B* \ No newline at end of file diff --git a/tests/resources/merge-recursive/.gitted/objects/2e/7ae0d42fb7b6126f6a08ac6314ac07833a52f6 b/tests/resources/merge-recursive/.gitted/objects/2e/7ae0d42fb7b6126f6a08ac6314ac07833a52f6 new file mode 100644 index 000000000..6a9651c76 Binary files /dev/null and b/tests/resources/merge-recursive/.gitted/objects/2e/7ae0d42fb7b6126f6a08ac6314ac07833a52f6 differ diff --git a/tests/resources/merge-recursive/.gitted/objects/30/39c07db695c8c99d0a7c7e32f0afe40eae0be0 b/tests/resources/merge-recursive/.gitted/objects/30/39c07db695c8c99d0a7c7e32f0afe40eae0be0 new file mode 100644 index 000000000..cc21b5c31 --- /dev/null +++ b/tests/resources/merge-recursive/.gitted/objects/30/39c07db695c8c99d0a7c7e32f0afe40eae0be0 @@ -0,0 +1,3 @@ +xQ +!@sB"茵mݾ +}^^Z"(J8iŌI]98Xd)QNX"[2^t|,pZ }5./[V]B \ No newline at end of file diff --git a/tests/resources/merge-recursive/.gitted/objects/35/8efd6f589384fa8baf92234db9c7899a53916e b/tests/resources/merge-recursive/.gitted/objects/35/8efd6f589384fa8baf92234db9c7899a53916e new file mode 100644 index 000000000..aefc81ad5 Binary files /dev/null and b/tests/resources/merge-recursive/.gitted/objects/35/8efd6f589384fa8baf92234db9c7899a53916e differ diff --git a/tests/resources/merge-recursive/.gitted/objects/36/71e42c8c8302d1a71c0ed7bf2b0a938e9e20f9 b/tests/resources/merge-recursive/.gitted/objects/36/71e42c8c8302d1a71c0ed7bf2b0a938e9e20f9 new file mode 100644 index 000000000..4f70ad6d4 Binary files /dev/null and b/tests/resources/merge-recursive/.gitted/objects/36/71e42c8c8302d1a71c0ed7bf2b0a938e9e20f9 differ diff --git a/tests/resources/merge-recursive/.gitted/objects/3a/0dc89a8bd20e74fae69d2e038b47360fafb02e b/tests/resources/merge-recursive/.gitted/objects/3a/0dc89a8bd20e74fae69d2e038b47360fafb02e new file mode 100644 index 000000000..fdff502d1 Binary files /dev/null and b/tests/resources/merge-recursive/.gitted/objects/3a/0dc89a8bd20e74fae69d2e038b47360fafb02e differ diff --git a/tests/resources/merge-recursive/.gitted/objects/3a/8c70144d0334721154b1e0529716b368483d6f b/tests/resources/merge-recursive/.gitted/objects/3a/8c70144d0334721154b1e0529716b368483d6f new file mode 100644 index 000000000..958d17d35 Binary files /dev/null and b/tests/resources/merge-recursive/.gitted/objects/3a/8c70144d0334721154b1e0529716b368483d6f differ diff --git a/tests/resources/merge-recursive/.gitted/objects/40/9f5d072decec684331672f2d6c0a9bc3640adb b/tests/resources/merge-recursive/.gitted/objects/40/9f5d072decec684331672f2d6c0a9bc3640adb new file mode 100644 index 000000000..b4c9005e1 Binary files /dev/null and b/tests/resources/merge-recursive/.gitted/objects/40/9f5d072decec684331672f2d6c0a9bc3640adb differ diff --git a/tests/resources/merge-recursive/.gitted/objects/44/faf5fba1af850dae54f8b2345938d3c7ae479f b/tests/resources/merge-recursive/.gitted/objects/44/faf5fba1af850dae54f8b2345938d3c7ae479f new file mode 100644 index 000000000..d0bc09902 Binary files /dev/null and b/tests/resources/merge-recursive/.gitted/objects/44/faf5fba1af850dae54f8b2345938d3c7ae479f differ diff --git a/tests/resources/merge-recursive/.gitted/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904 b/tests/resources/merge-recursive/.gitted/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904 new file mode 100644 index 000000000..adf64119a Binary files /dev/null and b/tests/resources/merge-recursive/.gitted/objects/4b/825dc642cb6eb9a060e54bf8d69288fbee4904 differ diff --git a/tests/resources/merge-recursive/.gitted/objects/4c/62e9482ed42c1a6d08891906b26126daa4a8f5 b/tests/resources/merge-recursive/.gitted/objects/4c/62e9482ed42c1a6d08891906b26126daa4a8f5 new file mode 100644 index 000000000..f3cee9a2d Binary files /dev/null and b/tests/resources/merge-recursive/.gitted/objects/4c/62e9482ed42c1a6d08891906b26126daa4a8f5 differ diff --git a/tests/resources/merge-recursive/.gitted/objects/50/4dd93fb5b9c2a28c094c6e84ef0606de1e9b5c b/tests/resources/merge-recursive/.gitted/objects/50/4dd93fb5b9c2a28c094c6e84ef0606de1e9b5c new file mode 100644 index 000000000..214d3076d Binary files /dev/null and b/tests/resources/merge-recursive/.gitted/objects/50/4dd93fb5b9c2a28c094c6e84ef0606de1e9b5c differ diff --git a/tests/resources/merge-recursive/.gitted/objects/50/dfa64a56b488fe8082371b182c8a3e3c942332 b/tests/resources/merge-recursive/.gitted/objects/50/dfa64a56b488fe8082371b182c8a3e3c942332 new file mode 100644 index 000000000..7c90c99af Binary files /dev/null and b/tests/resources/merge-recursive/.gitted/objects/50/dfa64a56b488fe8082371b182c8a3e3c942332 differ diff --git a/tests/resources/merge-recursive/.gitted/objects/51/135c5884d7dd132fef3b432cca5826bab98f37 b/tests/resources/merge-recursive/.gitted/objects/51/135c5884d7dd132fef3b432cca5826bab98f37 new file mode 100644 index 000000000..95818f144 Binary files /dev/null and b/tests/resources/merge-recursive/.gitted/objects/51/135c5884d7dd132fef3b432cca5826bab98f37 differ diff --git a/tests/resources/merge-recursive/.gitted/objects/51/60ab78c1973dcd7cdebe2345dc8fcfc755e76d b/tests/resources/merge-recursive/.gitted/objects/51/60ab78c1973dcd7cdebe2345dc8fcfc755e76d new file mode 100644 index 000000000..f3f99d7fe Binary files /dev/null and b/tests/resources/merge-recursive/.gitted/objects/51/60ab78c1973dcd7cdebe2345dc8fcfc755e76d differ diff --git a/tests/resources/merge-recursive/.gitted/objects/56/fcbad344aafe519bafcc33c87b8e64849d82ab b/tests/resources/merge-recursive/.gitted/objects/56/fcbad344aafe519bafcc33c87b8e64849d82ab new file mode 100644 index 000000000..06bea32e6 Binary files /dev/null and b/tests/resources/merge-recursive/.gitted/objects/56/fcbad344aafe519bafcc33c87b8e64849d82ab differ diff --git a/tests/resources/merge-recursive/.gitted/objects/5a/47615db824433f816ba62217dda6d46c5a7640 b/tests/resources/merge-recursive/.gitted/objects/5a/47615db824433f816ba62217dda6d46c5a7640 new file mode 100644 index 000000000..c1e30ce54 Binary files /dev/null and b/tests/resources/merge-recursive/.gitted/objects/5a/47615db824433f816ba62217dda6d46c5a7640 differ diff --git a/tests/resources/merge-recursive/.gitted/objects/5c/27b5f7c6f6dd4e5b4d64976741d56c2df8f48a b/tests/resources/merge-recursive/.gitted/objects/5c/27b5f7c6f6dd4e5b4d64976741d56c2df8f48a new file mode 100644 index 000000000..783d085a7 Binary files /dev/null and b/tests/resources/merge-recursive/.gitted/objects/5c/27b5f7c6f6dd4e5b4d64976741d56c2df8f48a differ diff --git a/tests/resources/merge-recursive/.gitted/objects/5d/998d5f278aff5693711bc48f6852aac4b603ad b/tests/resources/merge-recursive/.gitted/objects/5d/998d5f278aff5693711bc48f6852aac4b603ad new file mode 100644 index 000000000..a7795f59b Binary files /dev/null and b/tests/resources/merge-recursive/.gitted/objects/5d/998d5f278aff5693711bc48f6852aac4b603ad differ diff --git a/tests/resources/merge-recursive/.gitted/objects/75/afa96db00c26c6ebf3b377615b4e2a20563ee4 b/tests/resources/merge-recursive/.gitted/objects/75/afa96db00c26c6ebf3b377615b4e2a20563ee4 new file mode 100644 index 000000000..11d7f94a9 Binary files /dev/null and b/tests/resources/merge-recursive/.gitted/objects/75/afa96db00c26c6ebf3b377615b4e2a20563ee4 differ diff --git a/tests/resources/merge-recursive/.gitted/objects/7c/61830f8b8632665bb44ae5d219f520f5aa5bb4 b/tests/resources/merge-recursive/.gitted/objects/7c/61830f8b8632665bb44ae5d219f520f5aa5bb4 new file mode 100644 index 000000000..04b10f7ee Binary files /dev/null and b/tests/resources/merge-recursive/.gitted/objects/7c/61830f8b8632665bb44ae5d219f520f5aa5bb4 differ diff --git a/tests/resources/merge-recursive/.gitted/objects/7c/9a30d8dcee320a3b1f9ed10b582479faa9d3a1 b/tests/resources/merge-recursive/.gitted/objects/7c/9a30d8dcee320a3b1f9ed10b582479faa9d3a1 new file mode 100644 index 000000000..7500a241e Binary files /dev/null and b/tests/resources/merge-recursive/.gitted/objects/7c/9a30d8dcee320a3b1f9ed10b582479faa9d3a1 differ diff --git a/tests/resources/merge-recursive/.gitted/objects/7e/2d2bad4fc21f2832ca2afd48b1f95ab37ffb92 b/tests/resources/merge-recursive/.gitted/objects/7e/2d2bad4fc21f2832ca2afd48b1f95ab37ffb92 new file mode 100644 index 000000000..11f96c9c8 Binary files /dev/null and b/tests/resources/merge-recursive/.gitted/objects/7e/2d2bad4fc21f2832ca2afd48b1f95ab37ffb92 differ diff --git a/tests/resources/merge-recursive/.gitted/objects/7e/70a7872576bba7e299cde45abb7da1e4d7ba81 b/tests/resources/merge-recursive/.gitted/objects/7e/70a7872576bba7e299cde45abb7da1e4d7ba81 new file mode 100644 index 000000000..cab463975 Binary files /dev/null and b/tests/resources/merge-recursive/.gitted/objects/7e/70a7872576bba7e299cde45abb7da1e4d7ba81 differ diff --git a/tests/resources/merge-recursive/.gitted/objects/7f/9c1d78d760cbfa99273bc1ef642d994c6baa5c b/tests/resources/merge-recursive/.gitted/objects/7f/9c1d78d760cbfa99273bc1ef642d994c6baa5c new file mode 100644 index 000000000..46c8e8523 Binary files /dev/null and b/tests/resources/merge-recursive/.gitted/objects/7f/9c1d78d760cbfa99273bc1ef642d994c6baa5c differ diff --git a/tests/resources/merge-recursive/.gitted/objects/81/60cb53660b86c954144b8dbbb0b6e4db4ba6ba b/tests/resources/merge-recursive/.gitted/objects/81/60cb53660b86c954144b8dbbb0b6e4db4ba6ba new file mode 100644 index 000000000..19d32c770 Binary files /dev/null and b/tests/resources/merge-recursive/.gitted/objects/81/60cb53660b86c954144b8dbbb0b6e4db4ba6ba differ diff --git a/tests/resources/merge-recursive/.gitted/objects/8f/1b918542a5fe9b3bb7a8770a7525ad5b3b5864 b/tests/resources/merge-recursive/.gitted/objects/8f/1b918542a5fe9b3bb7a8770a7525ad5b3b5864 new file mode 100644 index 000000000..5ecb3e57b Binary files /dev/null and b/tests/resources/merge-recursive/.gitted/objects/8f/1b918542a5fe9b3bb7a8770a7525ad5b3b5864 differ diff --git a/tests/resources/merge-recursive/.gitted/objects/97/5dd228fd1b0cacf2988167088fd1190c9ac0f5 b/tests/resources/merge-recursive/.gitted/objects/97/5dd228fd1b0cacf2988167088fd1190c9ac0f5 new file mode 100644 index 000000000..96658c4fb Binary files /dev/null and b/tests/resources/merge-recursive/.gitted/objects/97/5dd228fd1b0cacf2988167088fd1190c9ac0f5 differ diff --git a/tests/resources/merge-recursive/.gitted/objects/98/5b725cf91c6861b5e7a419415d03cbcf5f16ca b/tests/resources/merge-recursive/.gitted/objects/98/5b725cf91c6861b5e7a419415d03cbcf5f16ca new file mode 100644 index 000000000..bc95c6fc5 Binary files /dev/null and b/tests/resources/merge-recursive/.gitted/objects/98/5b725cf91c6861b5e7a419415d03cbcf5f16ca differ diff --git a/tests/resources/merge-recursive/.gitted/objects/98/cacbdd1fac7bbab54a6c7c97aa2103219e08b8 b/tests/resources/merge-recursive/.gitted/objects/98/cacbdd1fac7bbab54a6c7c97aa2103219e08b8 new file mode 100644 index 000000000..13344d86c Binary files /dev/null and b/tests/resources/merge-recursive/.gitted/objects/98/cacbdd1fac7bbab54a6c7c97aa2103219e08b8 differ diff --git a/tests/resources/merge-recursive/.gitted/objects/99/754e36599906b81b917447280c4918269e14ff b/tests/resources/merge-recursive/.gitted/objects/99/754e36599906b81b917447280c4918269e14ff new file mode 100644 index 000000000..40455efab Binary files /dev/null and b/tests/resources/merge-recursive/.gitted/objects/99/754e36599906b81b917447280c4918269e14ff differ diff --git a/tests/resources/merge-recursive/.gitted/objects/9a/228c1ee87f286202ec9a25de837a18550013b5 b/tests/resources/merge-recursive/.gitted/objects/9a/228c1ee87f286202ec9a25de837a18550013b5 new file mode 100644 index 000000000..d6bcd5262 Binary files /dev/null and b/tests/resources/merge-recursive/.gitted/objects/9a/228c1ee87f286202ec9a25de837a18550013b5 differ diff --git a/tests/resources/merge-recursive/.gitted/objects/a0/ce8909834f389b4f8be6a6ec420868422d40a1 b/tests/resources/merge-recursive/.gitted/objects/a0/ce8909834f389b4f8be6a6ec420868422d40a1 new file mode 100644 index 000000000..5f6643c59 Binary files /dev/null and b/tests/resources/merge-recursive/.gitted/objects/a0/ce8909834f389b4f8be6a6ec420868422d40a1 differ diff --git a/tests/resources/merge-recursive/.gitted/objects/a2/817ed0e8ca6fe52bf0a20b2f50eb94b9ea5415 b/tests/resources/merge-recursive/.gitted/objects/a2/817ed0e8ca6fe52bf0a20b2f50eb94b9ea5415 new file mode 100644 index 000000000..a043a8e03 Binary files /dev/null and b/tests/resources/merge-recursive/.gitted/objects/a2/817ed0e8ca6fe52bf0a20b2f50eb94b9ea5415 differ diff --git a/tests/resources/merge-recursive/.gitted/objects/a3/5aa65d86215fce909fc0bcce8949d12becba44 b/tests/resources/merge-recursive/.gitted/objects/a3/5aa65d86215fce909fc0bcce8949d12becba44 new file mode 100644 index 000000000..e71e9ec44 Binary files /dev/null and b/tests/resources/merge-recursive/.gitted/objects/a3/5aa65d86215fce909fc0bcce8949d12becba44 differ diff --git a/tests/resources/merge-recursive/.gitted/objects/a3/ca4c462e93fee824c8ad500917ae34b800dea4 b/tests/resources/merge-recursive/.gitted/objects/a3/ca4c462e93fee824c8ad500917ae34b800dea4 new file mode 100644 index 000000000..dff9e9750 Binary files /dev/null and b/tests/resources/merge-recursive/.gitted/objects/a3/ca4c462e93fee824c8ad500917ae34b800dea4 differ diff --git a/tests/resources/merge-recursive/.gitted/objects/a6/64873b1c0b9a1ed300f8644dde536fdaa3a34f b/tests/resources/merge-recursive/.gitted/objects/a6/64873b1c0b9a1ed300f8644dde536fdaa3a34f new file mode 100644 index 000000000..f6b66dada Binary files /dev/null and b/tests/resources/merge-recursive/.gitted/objects/a6/64873b1c0b9a1ed300f8644dde536fdaa3a34f differ diff --git a/tests/resources/merge-recursive/.gitted/objects/a9/9bf55117ab1958171fccfeb19885f707bd08fd b/tests/resources/merge-recursive/.gitted/objects/a9/9bf55117ab1958171fccfeb19885f707bd08fd new file mode 100644 index 000000000..9c3a3ec28 Binary files /dev/null and b/tests/resources/merge-recursive/.gitted/objects/a9/9bf55117ab1958171fccfeb19885f707bd08fd differ diff --git a/tests/resources/merge-recursive/.gitted/objects/b0/1de62cf11945685c98ec671edabdff3e90ddc5 b/tests/resources/merge-recursive/.gitted/objects/b0/1de62cf11945685c98ec671edabdff3e90ddc5 new file mode 100644 index 000000000..786c9a510 Binary files /dev/null and b/tests/resources/merge-recursive/.gitted/objects/b0/1de62cf11945685c98ec671edabdff3e90ddc5 differ diff --git a/tests/resources/merge-recursive/.gitted/objects/b0/4823b75c8220b89c2f8da54709cda262304cd3 b/tests/resources/merge-recursive/.gitted/objects/b0/4823b75c8220b89c2f8da54709cda262304cd3 new file mode 100644 index 000000000..81714b06d Binary files /dev/null and b/tests/resources/merge-recursive/.gitted/objects/b0/4823b75c8220b89c2f8da54709cda262304cd3 differ diff --git a/tests/resources/merge-recursive/.gitted/objects/b1/71224a4f604b6091072007765419b14c232c1d b/tests/resources/merge-recursive/.gitted/objects/b1/71224a4f604b6091072007765419b14c232c1d new file mode 100644 index 000000000..987d5fec1 Binary files /dev/null and b/tests/resources/merge-recursive/.gitted/objects/b1/71224a4f604b6091072007765419b14c232c1d differ diff --git a/tests/resources/merge-recursive/.gitted/objects/b7/de2b52ba055688061355fad1599a5d214ce8f8 b/tests/resources/merge-recursive/.gitted/objects/b7/de2b52ba055688061355fad1599a5d214ce8f8 new file mode 100644 index 000000000..6fbf58187 Binary files /dev/null and b/tests/resources/merge-recursive/.gitted/objects/b7/de2b52ba055688061355fad1599a5d214ce8f8 differ diff --git a/tests/resources/merge-recursive/.gitted/objects/b8/a3b657edcf31e6365a2f1c45d45e6c9ebe8f02 b/tests/resources/merge-recursive/.gitted/objects/b8/a3b657edcf31e6365a2f1c45d45e6c9ebe8f02 new file mode 100644 index 000000000..0b8404bf3 Binary files /dev/null and b/tests/resources/merge-recursive/.gitted/objects/b8/a3b657edcf31e6365a2f1c45d45e6c9ebe8f02 differ diff --git a/tests/resources/merge-recursive/.gitted/objects/bb/4e0014fb09d24312f0af37c7a45e5488f19510 b/tests/resources/merge-recursive/.gitted/objects/bb/4e0014fb09d24312f0af37c7a45e5488f19510 new file mode 100644 index 000000000..ca45760cd --- /dev/null +++ b/tests/resources/merge-recursive/.gitted/objects/bb/4e0014fb09d24312f0af37c7a45e5488f19510 @@ -0,0 +1,4 @@ +xKj1)tVs}ղf2f' _WT-2 cSK v&8)`# +*ssMI (J%5BUx +!R JbI ࢏nMju~1 OQd]t 1  +~h2OP# \ No newline at end of file diff --git a/tests/resources/merge-recursive/.gitted/objects/c7/f3257db72e885d6612080c003e0f2ef480e0c4 b/tests/resources/merge-recursive/.gitted/objects/c7/f3257db72e885d6612080c003e0f2ef480e0c4 new file mode 100644 index 000000000..255624e93 Binary files /dev/null and b/tests/resources/merge-recursive/.gitted/objects/c7/f3257db72e885d6612080c003e0f2ef480e0c4 differ diff --git a/tests/resources/merge-recursive/.gitted/objects/ce/0d744cd2e18eacf883d43471636f231c0995e3 b/tests/resources/merge-recursive/.gitted/objects/ce/0d744cd2e18eacf883d43471636f231c0995e3 new file mode 100644 index 000000000..63c457a2c Binary files /dev/null and b/tests/resources/merge-recursive/.gitted/objects/ce/0d744cd2e18eacf883d43471636f231c0995e3 differ diff --git a/tests/resources/merge-recursive/.gitted/objects/d0/97bcf99adb1022a6b7d2e94fed2031ebd9d89c b/tests/resources/merge-recursive/.gitted/objects/d0/97bcf99adb1022a6b7d2e94fed2031ebd9d89c new file mode 100644 index 000000000..51ffec090 Binary files /dev/null and b/tests/resources/merge-recursive/.gitted/objects/d0/97bcf99adb1022a6b7d2e94fed2031ebd9d89c differ diff --git a/tests/resources/merge-recursive/.gitted/objects/d0/c9bd6e2a3e327d81a32de51201d3bd58909f7c b/tests/resources/merge-recursive/.gitted/objects/d0/c9bd6e2a3e327d81a32de51201d3bd58909f7c new file mode 100644 index 000000000..5a0508c5d Binary files /dev/null and b/tests/resources/merge-recursive/.gitted/objects/d0/c9bd6e2a3e327d81a32de51201d3bd58909f7c differ diff --git a/tests/resources/merge-recursive/.gitted/objects/d5/015f9436b2d8c842bf6616e7cf5bc54eb79ced b/tests/resources/merge-recursive/.gitted/objects/d5/015f9436b2d8c842bf6616e7cf5bc54eb79ced new file mode 100644 index 000000000..6d4446ec4 Binary files /dev/null and b/tests/resources/merge-recursive/.gitted/objects/d5/015f9436b2d8c842bf6616e7cf5bc54eb79ced differ diff --git a/tests/resources/merge-recursive/.gitted/objects/db/51adf2b699eed93e883d6425f5e6c50165a9c2 b/tests/resources/merge-recursive/.gitted/objects/db/51adf2b699eed93e883d6425f5e6c50165a9c2 new file mode 100644 index 000000000..41b481efb Binary files /dev/null and b/tests/resources/merge-recursive/.gitted/objects/db/51adf2b699eed93e883d6425f5e6c50165a9c2 differ diff --git a/tests/resources/merge-recursive/.gitted/objects/de/de92a05a0841faa8e4ad6700285cd208184458 b/tests/resources/merge-recursive/.gitted/objects/de/de92a05a0841faa8e4ad6700285cd208184458 new file mode 100644 index 000000000..c275071e2 Binary files /dev/null and b/tests/resources/merge-recursive/.gitted/objects/de/de92a05a0841faa8e4ad6700285cd208184458 differ diff --git a/tests/resources/merge-recursive/.gitted/objects/e0/15ebd79a72a88b9291df11771caf56f463e8f9 b/tests/resources/merge-recursive/.gitted/objects/e0/15ebd79a72a88b9291df11771caf56f463e8f9 new file mode 100644 index 000000000..a75a6b60e Binary files /dev/null and b/tests/resources/merge-recursive/.gitted/objects/e0/15ebd79a72a88b9291df11771caf56f463e8f9 differ diff --git a/tests/resources/merge-recursive/.gitted/objects/e9/30c8c67848df4aa66319c5752fab6b8fdec765 b/tests/resources/merge-recursive/.gitted/objects/e9/30c8c67848df4aa66319c5752fab6b8fdec765 new file mode 100644 index 000000000..c0ba76deb Binary files /dev/null and b/tests/resources/merge-recursive/.gitted/objects/e9/30c8c67848df4aa66319c5752fab6b8fdec765 differ diff --git a/tests/resources/merge-recursive/.gitted/objects/f2/9ccca75754d8476e5dad8cf250e03d43fe9e6c b/tests/resources/merge-recursive/.gitted/objects/f2/9ccca75754d8476e5dad8cf250e03d43fe9e6c new file mode 100644 index 000000000..b91872905 Binary files /dev/null and b/tests/resources/merge-recursive/.gitted/objects/f2/9ccca75754d8476e5dad8cf250e03d43fe9e6c differ diff --git a/tests/resources/merge-recursive/.gitted/objects/f3/2c284f537ff1a55d3cbfe9a37d431b6edfadc2 b/tests/resources/merge-recursive/.gitted/objects/f3/2c284f537ff1a55d3cbfe9a37d431b6edfadc2 new file mode 100644 index 000000000..be3ceccdc Binary files /dev/null and b/tests/resources/merge-recursive/.gitted/objects/f3/2c284f537ff1a55d3cbfe9a37d431b6edfadc2 differ diff --git a/tests/resources/merge-recursive/.gitted/objects/f4/c149e7d0983e90e9ee802ff57ae3c905ba63da b/tests/resources/merge-recursive/.gitted/objects/f4/c149e7d0983e90e9ee802ff57ae3c905ba63da new file mode 100644 index 000000000..e9c675b6d Binary files /dev/null and b/tests/resources/merge-recursive/.gitted/objects/f4/c149e7d0983e90e9ee802ff57ae3c905ba63da differ diff --git a/tests/resources/merge-recursive/.gitted/objects/f6/5de1834f57708e76d8dc25502b7f1ecbcce162 b/tests/resources/merge-recursive/.gitted/objects/f6/5de1834f57708e76d8dc25502b7f1ecbcce162 new file mode 100644 index 000000000..3d238fd8c Binary files /dev/null and b/tests/resources/merge-recursive/.gitted/objects/f6/5de1834f57708e76d8dc25502b7f1ecbcce162 differ diff --git a/tests/resources/merge-recursive/.gitted/objects/f9/c04e4e9d4aaf1e6fe7478a7cc0756554974c2b b/tests/resources/merge-recursive/.gitted/objects/f9/c04e4e9d4aaf1e6fe7478a7cc0756554974c2b new file mode 100644 index 000000000..bc44fa73a Binary files /dev/null and b/tests/resources/merge-recursive/.gitted/objects/f9/c04e4e9d4aaf1e6fe7478a7cc0756554974c2b differ diff --git a/tests/resources/merge-recursive/.gitted/refs/heads/branchJ-1 b/tests/resources/merge-recursive/.gitted/refs/heads/branchJ-1 new file mode 100644 index 000000000..64612d486 --- /dev/null +++ b/tests/resources/merge-recursive/.gitted/refs/heads/branchJ-1 @@ -0,0 +1 @@ +f65de1834f57708e76d8dc25502b7f1ecbcce162 diff --git a/tests/resources/merge-recursive/.gitted/refs/heads/branchJ-2 b/tests/resources/merge-recursive/.gitted/refs/heads/branchJ-2 new file mode 100644 index 000000000..bea674803 --- /dev/null +++ b/tests/resources/merge-recursive/.gitted/refs/heads/branchJ-2 @@ -0,0 +1 @@ +b01de62cf11945685c98ec671edabdff3e90ddc5 -- cgit v1.2.1 From ed51feb74b33ca115ddf739ce3574a76cb7a6fa6 Mon Sep 17 00:00:00 2001 From: Edward Thomson Date: Sun, 21 Jan 2018 18:01:20 +0000 Subject: oidarray: introduce git_oidarray__reverse Provide a simple function to reverse an oidarray. --- src/oidarray.c | 12 ++++++++++++ src/oidarray.h | 1 + 2 files changed, 13 insertions(+) diff --git a/src/oidarray.c b/src/oidarray.c index fda3b638d..e70e9dd61 100644 --- a/src/oidarray.c +++ b/src/oidarray.c @@ -20,3 +20,15 @@ void git_oidarray__from_array(git_oidarray *arr, git_array_oid_t *array) arr->count = array->size; arr->ids = array->ptr; } + +void git_oidarray__reverse(git_oidarray *arr) +{ + size_t i; + git_oid tmp; + + for (i = 0; i < arr->count / 2; i++) { + git_oid_cpy(&tmp, &arr->ids[i]); + git_oid_cpy(&arr->ids[i], &arr->ids[(arr->count-1)-i]); + git_oid_cpy(&arr->ids[(arr->count-1)-i], &tmp); + } +} diff --git a/src/oidarray.h b/src/oidarray.h index f051a0ec4..eed3a1091 100644 --- a/src/oidarray.h +++ b/src/oidarray.h @@ -14,6 +14,7 @@ typedef git_array_t(git_oid) git_array_oid_t; +extern void git_oidarray__reverse(git_oidarray *arr); extern void git_oidarray__from_array(git_oidarray *arr, git_array_oid_t *array); #endif -- cgit v1.2.1 From b924df1eadfaf33285d8020c50cb18ddde1a8165 Mon Sep 17 00:00:00 2001 From: Edward Thomson Date: Sun, 21 Jan 2018 18:05:45 +0000 Subject: merge: reverse merge bases for recursive merge When the commits being merged have multiple merge bases, reverse the order when creating the virtual merge base. This is for compatibility with git's merge-recursive algorithm, and ensures that we build identical trees. Git does this to try to use older merge bases first. Per 8918b0c: > It seems to be the only sane way to do it: when a two-head merge is > done, and the merge-base and one of the two branches agree, the > merge assumes that the other branch has something new. > > If we start creating virtual commits from newer merge-bases, and go > back to older merge-bases, and then merge with newer commits again, > chances are that a patch is lost, _because_ the merge-base and the > head agree on it. Unlikely, yes, but it happened to me. --- src/merge.c | 18 +++++++++++------- tests/merge/conflict_data.h | 12 ++++++------ tests/merge/trees/recursive.c | 20 ++++++++++---------- tests/merge/workdir/recursive.c | 10 +++++----- 4 files changed, 32 insertions(+), 28 deletions(-) diff --git a/src/merge.c b/src/merge.c index aae5d764a..37c83eccd 100644 --- a/src/merge.c +++ b/src/merge.c @@ -2263,7 +2263,7 @@ static int compute_base( git_oidarray bases = {0}; git_annotated_commit *base = NULL, *other = NULL, *new_base = NULL; git_merge_options opts = GIT_MERGE_OPTIONS_INIT; - size_t i; + size_t i, base_count; int error; *out = NULL; @@ -2272,16 +2272,20 @@ static int compute_base( memcpy(&opts, given_opts, sizeof(git_merge_options)); if ((error = insert_head_ids(&head_ids, one)) < 0 || - (error = insert_head_ids(&head_ids, two)) < 0) + (error = insert_head_ids(&head_ids, two)) < 0 || + (error = git_merge_bases_many(&bases, repo, + head_ids.size, head_ids.ptr)) < 0) goto done; - if ((error = git_merge_bases_many(&bases, repo, - head_ids.size, head_ids.ptr)) < 0 || - (error = git_annotated_commit_lookup(&base, repo, &bases.ids[0])) < 0 || - (opts.flags & GIT_MERGE_NO_RECURSIVE)) + base_count = (opts.flags & GIT_MERGE_NO_RECURSIVE) ? 0 : bases.count; + + if (base_count) + git_oidarray__reverse(&bases); + + if ((error = git_annotated_commit_lookup(&base, repo, &bases.ids[0])) < 0) goto done; - for (i = 1; i < bases.count; i++) { + for (i = 1; i < base_count; i++) { recursion_level++; if (opts.recursion_limit && recursion_level > opts.recursion_limit) diff --git a/tests/merge/conflict_data.h b/tests/merge/conflict_data.h index 7d404c81f..27f19c1b0 100644 --- a/tests/merge/conflict_data.h +++ b/tests/merge/conflict_data.h @@ -70,22 +70,22 @@ "This is a mighty fine recipe!\n" \ ">>>>>>> branchF-2\n" -#define CONFLICTING_RECURSIVE_H1_TO_H2_WITH_DIFF3 \ +#define CONFLICTING_RECURSIVE_H2_TO_H1_WITH_DIFF3 \ "VEAL SOUP.\n" \ "\n" \ "<<<<<<< HEAD\n" \ - "put into a pot three quarts of water, three onions cut small, one\n" \ + "Put Into A Pot Three Quarts of Water, Three Onions Cut Small, One\n" \ "||||||| merged common ancestors\n" \ "<<<<<<<<< Temporary merge branch 1\n" \ - "Put into a pot three quarts of water, THREE ONIONS CUT SMALL, one\n" \ + "PUT INTO A POT three quarts of water, three onions cut small, one\n" \ "||||||||| merged common ancestors\n" \ "Put into a pot three quarts of water, three onions cut small, one\n" \ "=========\n" \ - "PUT INTO A POT three quarts of water, three onions cut small, one\n" \ + "Put into a pot three quarts of water, THREE ONIONS CUT SMALL, one\n" \ ">>>>>>>>> Temporary merge branch 2\n" \ "=======\n" \ - "Put Into A Pot Three Quarts of Water, Three Onions Cut Small, One\n" \ - ">>>>>>> branchH-2\n" \ + "put into a pot three quarts of water, three onions cut small, one\n" \ + ">>>>>>> branchH-1\n" \ "spoonful of black pepper pounded, and two of salt, with two or three\n" \ "slices of lean ham; let it boil steadily two hours; skim it\n" \ "occasionally, then put into it a shin of veal, let it boil two hours\n" \ diff --git a/tests/merge/trees/recursive.c b/tests/merge/trees/recursive.c index 1d54d87b1..5ff0bfaf8 100644 --- a/tests/merge/trees/recursive.c +++ b/tests/merge/trees/recursive.c @@ -312,7 +312,7 @@ void test_merge_trees_recursive__conflicting_merge_base(void) { 0100644, "4b7c5650008b2e747fe1809eeb5a1dde0e80850a", 0, "bouilli.txt" }, { 0100644, "c4e6cca3ec6ae0148ed231f97257df8c311e015f", 0, "gravy.txt" }, { 0100644, "68af1fc7407fd9addf1701a87eb1c95c7494c598", 0, "oyster.txt" }, - { 0100644, "ba5714aa3d5aebfd8e19d19cb1ddcfda63426a44", 1, "veal.txt" }, + { 0100644, "cfc01b0976122eae42a82064440bbf534eddd7a0", 1, "veal.txt" }, { 0100644, "d604c75019c282144bdbbf3fd3462ba74b240efc", 2, "veal.txt" }, { 0100644, "37a5054a9f9b4628e3924c5cb8f2147c6e2a3efc", 3, "veal.txt" }, }; @@ -339,14 +339,14 @@ void test_merge_trees_recursive__conflicting_merge_base_with_diff3(void) { 0100644, "4b7c5650008b2e747fe1809eeb5a1dde0e80850a", 0, "bouilli.txt" }, { 0100644, "c4e6cca3ec6ae0148ed231f97257df8c311e015f", 0, "gravy.txt" }, { 0100644, "68af1fc7407fd9addf1701a87eb1c95c7494c598", 0, "oyster.txt" }, - { 0100644, "adb1bf17d112a0b4ecbd4e75bef6db3335d8ddcf", 1, "veal.txt" }, - { 0100644, "d604c75019c282144bdbbf3fd3462ba74b240efc", 2, "veal.txt" }, - { 0100644, "37a5054a9f9b4628e3924c5cb8f2147c6e2a3efc", 3, "veal.txt" }, + { 0100644, "0b01d2f70a1c6b9ab60c382f3f9cdc8173da6736", 1, "veal.txt" }, + { 0100644, "37a5054a9f9b4628e3924c5cb8f2147c6e2a3efc", 2, "veal.txt" }, + { 0100644, "d604c75019c282144bdbbf3fd3462ba74b240efc", 3, "veal.txt" }, }; opts.file_flags |= GIT_MERGE_FILE_STYLE_DIFF3; - cl_git_pass(merge_commits_from_branches(&index, repo, "branchH-1", "branchH-2", &opts)); + cl_git_pass(merge_commits_from_branches(&index, repo, "branchH-2", "branchH-1", &opts)); cl_assert(merge_test_index(index, merge_index_entries, 8)); @@ -392,16 +392,16 @@ void test_merge_trees_recursive__recursionlimit(void) { 0100644, "ffb36e513f5fdf8a6ba850a20142676a2ac4807d", 0, "asparagus.txt" }, { 0100644, "68f6182f4c85d39e1309d97c7e456156dc9c0096", 0, "beef.txt" }, { 0100644, "4b7c5650008b2e747fe1809eeb5a1dde0e80850a", 0, "bouilli.txt" }, - { 0100644, "ce7e553c6feb6e5f3bd67e3c3be04182fe3094b4", 1, "gravy.txt" }, - { 0100644, "d8dd349b78f19a4ebe3357bacb8138f00bf5ed41", 2, "gravy.txt" }, - { 0100644, "e50fbbd701458757bdfe9815f58ed717c588d1b5", 3, "gravy.txt" }, + { 0100644, "c4e6cca3ec6ae0148ed231f97257df8c311e015f", 0, "gravy.txt" }, { 0100644, "68af1fc7407fd9addf1701a87eb1c95c7494c598", 0, "oyster.txt" }, - { 0100644, "a7b066537e6be7109abfe4ff97b675d4e077da20", 0, "veal.txt" }, + { 0100644, "53217e8ac3f52bccf7603b8fff0ed0f4817f9bb7", 1, "veal.txt" }, + { 0100644, "898d12687fb35be271c27c795a6b32c8b51da79e", 2, "veal.txt" }, + { 0100644, "68a2e1ee61a23a4728fe6b35580fbbbf729df370", 3, "veal.txt" }, }; opts.recursion_limit = 1; - cl_git_pass(merge_commits_from_branches(&index, repo, "branchE-1", "branchE-2", &opts)); + cl_git_pass(merge_commits_from_branches(&index, repo, "branchC-1", "branchC-2", &opts)); cl_assert(merge_test_index(index, merge_index_entries, 8)); diff --git a/tests/merge/workdir/recursive.c b/tests/merge/workdir/recursive.c index 3c745947c..d47a0c50b 100644 --- a/tests/merge/workdir/recursive.c +++ b/tests/merge/workdir/recursive.c @@ -62,22 +62,22 @@ void test_merge_workdir_recursive__conflicting_merge_base_with_diff3(void) { 0100644, "4b7c5650008b2e747fe1809eeb5a1dde0e80850a", 0, "bouilli.txt" }, { 0100644, "c4e6cca3ec6ae0148ed231f97257df8c311e015f", 0, "gravy.txt" }, { 0100644, "68af1fc7407fd9addf1701a87eb1c95c7494c598", 0, "oyster.txt" }, - { 0100644, "adb1bf17d112a0b4ecbd4e75bef6db3335d8ddcf", 1, "veal.txt" }, - { 0100644, "d604c75019c282144bdbbf3fd3462ba74b240efc", 2, "veal.txt" }, - { 0100644, "37a5054a9f9b4628e3924c5cb8f2147c6e2a3efc", 3, "veal.txt" }, + { 0100644, "0b01d2f70a1c6b9ab60c382f3f9cdc8173da6736", 1, "veal.txt" }, + { 0100644, "37a5054a9f9b4628e3924c5cb8f2147c6e2a3efc", 2, "veal.txt" }, + { 0100644, "d604c75019c282144bdbbf3fd3462ba74b240efc", 3, "veal.txt" }, }; opts.file_flags |= GIT_MERGE_FILE_STYLE_DIFF3; checkout_opts.checkout_strategy |= GIT_CHECKOUT_CONFLICT_STYLE_DIFF3; - cl_git_pass(merge_branches(repo, GIT_REFS_HEADS_DIR "branchH-1", GIT_REFS_HEADS_DIR "branchH-2", &opts, &checkout_opts)); + cl_git_pass(merge_branches(repo, GIT_REFS_HEADS_DIR "branchH-2", GIT_REFS_HEADS_DIR "branchH-1", &opts, &checkout_opts)); cl_git_pass(git_repository_index(&index, repo)); cl_assert(merge_test_index(index, merge_index_entries, 8)); cl_git_pass(git_futils_readbuffer(&conflicting_buf, "merge-recursive/veal.txt")); - cl_assert_equal_s(CONFLICTING_RECURSIVE_H1_TO_H2_WITH_DIFF3, conflicting_buf.ptr); + cl_assert_equal_s(CONFLICTING_RECURSIVE_H2_TO_H1_WITH_DIFF3, conflicting_buf.ptr); git_index_free(index); git_buf_free(&conflicting_buf); -- cgit v1.2.1 From afcaf35eda87028705012e9deab75bf282be72f3 Mon Sep 17 00:00:00 2001 From: Edward Thomson Date: Sun, 21 Jan 2018 16:50:40 +0000 Subject: merge::trees::recursive: test for virtual base building Virtual base building: ensure that the virtual base is created and revwalked in the same way as git. --- tests/merge/trees/recursive.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/tests/merge/trees/recursive.c b/tests/merge/trees/recursive.c index 5ff0bfaf8..78491a17c 100644 --- a/tests/merge/trees/recursive.c +++ b/tests/merge/trees/recursive.c @@ -408,3 +408,28 @@ void test_merge_trees_recursive__recursionlimit(void) git_index_free(index); } +/* There are multiple levels of criss-cross merges. This ensures + * that the virtual merge base parents are compared in the same + * order as git. If the base parents are created in the order as + * git does, then the file `targetfile.txt` is automerged. If not, + * `targetfile.txt` will be in conflict due to the virtual merge + * base. + */ +void test_merge_trees_recursive__merge_base_for_virtual_commit(void) +{ + git_index *index; + git_merge_options opts = GIT_MERGE_OPTIONS_INIT; + + struct merge_index_entry merge_index_entries[] = { + { 0100644, "1bde1883de4977ea3e664b315da951d1f614c3b1", 0, "targetfile.txt" }, + { 0100644, "b7de2b52ba055688061355fad1599a5d214ce8f8", 1, "version.txt" }, + { 0100644, "358efd6f589384fa8baf92234db9c7899a53916e", 2, "version.txt" }, + { 0100644, "a664873b1c0b9a1ed300f8644dde536fdaa3a34f", 3, "version.txt" }, + }; + + cl_git_pass(merge_commits_from_branches(&index, repo, "branchJ-1", "branchJ-2", &opts)); + + cl_assert(merge_test_index(index, merge_index_entries, 4)); + + git_index_free(index); +} -- cgit v1.2.1 From b8823c2b1c2962edd7b2bf550266d4f136100182 Mon Sep 17 00:00:00 2001 From: Edward Thomson Date: Mon, 22 Jan 2018 23:56:22 +0000 Subject: Add failing test case for virtual commit merge base issue --- tests/merge/trees/recursive.c | 23 +++++++++++++++++++++ .../0c/e202f64fa8356c1a32835fce4058ca76b0c7ed | Bin 0 -> 183 bytes .../18/2d0d250d1d7adcc60c178be5be98358b3a2fd1 | 5 +++++ .../23/b427bf6278724433e64ef4cf6dc166c4f2e246 | Bin 0 -> 67 bytes .../23/cf2687a9327d55abbbd788ff04fa932072aebc | Bin 0 -> 52 bytes .../2c/ba583804a4a6fad1baf97c959be447238d1489 | Bin 0 -> 23 bytes .../35/dda4f3f9b3794d92a46d908790e550ed100eae | Bin 0 -> 52 bytes .../39/78944e4cd53edcc10a170ab2ff142f7295b958 | Bin 0 -> 185 bytes .../3e/eff81b57a0ac15a5ab6bb3a8e92511a01a429c | Bin 0 -> 66 bytes .../4a/06b258fed8a4d15967ec4253ae7366b70f727d | Bin 0 -> 42 bytes .../61/6d1209afac499b005f68309e1593b44899b054 | Bin 0 -> 69 bytes .../71/c50785d8d512293bd3af838b131f3da5829ebc | Bin 0 -> 91 bytes .../76/6afbfd7d42f757f1fac9ea550c9fcbc8041b89 | Bin 0 -> 180 bytes .../9c/dde216049c6a5ccddac0ad81f604419d8990ed | 2 ++ .../b2/908343e3c16249d0036dd444fc0d4662cd8c0e | Bin 0 -> 154 bytes .../b6/bd0f9952f396e757d3f91e08c59a7e91707201 | Bin 0 -> 74 bytes .../ba/9dcfe079848e8e5c1b53bc3b6e47ff57f6e481 | Bin 0 -> 91 bytes .../c0/dcb4bfcd86e65a822090aa7a0455413828886b | Bin 0 -> 64 bytes .../c4/44758b02d4af6e3145ac2fc0e3ed02199cf7ec | Bin 0 -> 17 bytes .../d3/482dbdca5bb83aaf3e3768359855d55aef84d7 | Bin 0 -> 91 bytes .../db/7e2af8ca83b8943adce7ba37d85f8fe7d7d2a9 | Bin 0 -> 61 bytes .../e5/20e6aaf8d1e68a433e29d4360c1e74aa4b24d1 | Bin 0 -> 91 bytes .../e6/269ce9017816d67c7189a58b6d0d22bf4b8a1a | Bin 0 -> 91 bytes .../ea/3521485adfa0b0373deaaa06db9218a22edae8 | Bin 0 -> 91 bytes .../f0/856993e005c0d8ed2dc7cdc222cc1d89fb3c77 | Bin 0 -> 51 bytes .../merge-recursive/.gitted/refs/heads/branchK-1 | 1 + .../merge-recursive/.gitted/refs/heads/branchK-2 | 1 + 27 files changed, 32 insertions(+) create mode 100644 tests/resources/merge-recursive/.gitted/objects/0c/e202f64fa8356c1a32835fce4058ca76b0c7ed create mode 100644 tests/resources/merge-recursive/.gitted/objects/18/2d0d250d1d7adcc60c178be5be98358b3a2fd1 create mode 100644 tests/resources/merge-recursive/.gitted/objects/23/b427bf6278724433e64ef4cf6dc166c4f2e246 create mode 100644 tests/resources/merge-recursive/.gitted/objects/23/cf2687a9327d55abbbd788ff04fa932072aebc create mode 100644 tests/resources/merge-recursive/.gitted/objects/2c/ba583804a4a6fad1baf97c959be447238d1489 create mode 100644 tests/resources/merge-recursive/.gitted/objects/35/dda4f3f9b3794d92a46d908790e550ed100eae create mode 100644 tests/resources/merge-recursive/.gitted/objects/39/78944e4cd53edcc10a170ab2ff142f7295b958 create mode 100644 tests/resources/merge-recursive/.gitted/objects/3e/eff81b57a0ac15a5ab6bb3a8e92511a01a429c create mode 100644 tests/resources/merge-recursive/.gitted/objects/4a/06b258fed8a4d15967ec4253ae7366b70f727d create mode 100644 tests/resources/merge-recursive/.gitted/objects/61/6d1209afac499b005f68309e1593b44899b054 create mode 100644 tests/resources/merge-recursive/.gitted/objects/71/c50785d8d512293bd3af838b131f3da5829ebc create mode 100644 tests/resources/merge-recursive/.gitted/objects/76/6afbfd7d42f757f1fac9ea550c9fcbc8041b89 create mode 100644 tests/resources/merge-recursive/.gitted/objects/9c/dde216049c6a5ccddac0ad81f604419d8990ed create mode 100644 tests/resources/merge-recursive/.gitted/objects/b2/908343e3c16249d0036dd444fc0d4662cd8c0e create mode 100644 tests/resources/merge-recursive/.gitted/objects/b6/bd0f9952f396e757d3f91e08c59a7e91707201 create mode 100644 tests/resources/merge-recursive/.gitted/objects/ba/9dcfe079848e8e5c1b53bc3b6e47ff57f6e481 create mode 100644 tests/resources/merge-recursive/.gitted/objects/c0/dcb4bfcd86e65a822090aa7a0455413828886b create mode 100644 tests/resources/merge-recursive/.gitted/objects/c4/44758b02d4af6e3145ac2fc0e3ed02199cf7ec create mode 100644 tests/resources/merge-recursive/.gitted/objects/d3/482dbdca5bb83aaf3e3768359855d55aef84d7 create mode 100644 tests/resources/merge-recursive/.gitted/objects/db/7e2af8ca83b8943adce7ba37d85f8fe7d7d2a9 create mode 100644 tests/resources/merge-recursive/.gitted/objects/e5/20e6aaf8d1e68a433e29d4360c1e74aa4b24d1 create mode 100644 tests/resources/merge-recursive/.gitted/objects/e6/269ce9017816d67c7189a58b6d0d22bf4b8a1a create mode 100644 tests/resources/merge-recursive/.gitted/objects/ea/3521485adfa0b0373deaaa06db9218a22edae8 create mode 100644 tests/resources/merge-recursive/.gitted/objects/f0/856993e005c0d8ed2dc7cdc222cc1d89fb3c77 create mode 100644 tests/resources/merge-recursive/.gitted/refs/heads/branchK-1 create mode 100644 tests/resources/merge-recursive/.gitted/refs/heads/branchK-2 diff --git a/tests/merge/trees/recursive.c b/tests/merge/trees/recursive.c index 78491a17c..71f5af150 100644 --- a/tests/merge/trees/recursive.c +++ b/tests/merge/trees/recursive.c @@ -433,3 +433,26 @@ void test_merge_trees_recursive__merge_base_for_virtual_commit(void) git_index_free(index); } + +/* This test is the same as above, but the graph is constructed such + * that the 1st-recursion merge bases of the two heads are + * in a different order. + */ +void test_merge_trees_recursive__merge_base_for_virtual_commit_2(void) +{ + git_index *index; + git_merge_options opts = GIT_MERGE_OPTIONS_INIT; + + struct merge_index_entry merge_index_entries[] = { + { 0100644, "4a06b258fed8a4d15967ec4253ae7366b70f727d", 0, "targetfile.txt" }, + { 0100644, "b6bd0f9952f396e757d3f91e08c59a7e91707201", 1, "version.txt" }, + { 0100644, "f0856993e005c0d8ed2dc7cdc222cc1d89fb3c77", 2, "version.txt" }, + { 0100644, "2cba583804a4a6fad1baf97c959be447238d1489", 3, "version.txt" }, + }; + + cl_git_pass(merge_commits_from_branches(&index, repo, "branchK-1", "branchK-2", &opts)); + + cl_assert(merge_test_index(index, merge_index_entries, 4)); + + git_index_free(index); +} diff --git a/tests/resources/merge-recursive/.gitted/objects/0c/e202f64fa8356c1a32835fce4058ca76b0c7ed b/tests/resources/merge-recursive/.gitted/objects/0c/e202f64fa8356c1a32835fce4058ca76b0c7ed new file mode 100644 index 000000000..9a84b7149 Binary files /dev/null and b/tests/resources/merge-recursive/.gitted/objects/0c/e202f64fa8356c1a32835fce4058ca76b0c7ed differ diff --git a/tests/resources/merge-recursive/.gitted/objects/18/2d0d250d1d7adcc60c178be5be98358b3a2fd1 b/tests/resources/merge-recursive/.gitted/objects/18/2d0d250d1d7adcc60c178be5be98358b3a2fd1 new file mode 100644 index 000000000..96674c89b --- /dev/null +++ b/tests/resources/merge-recursive/.gitted/objects/18/2d0d250d1d7adcc60c178be5be98358b3a2fd1 @@ -0,0 +1,5 @@ +xK +1]_>@H +^*}mi,K҇}4/;ZQѻzk1j#Wuv CN \ No newline at end of file diff --git a/tests/resources/merge-recursive/.gitted/objects/b2/908343e3c16249d0036dd444fc0d4662cd8c0e b/tests/resources/merge-recursive/.gitted/objects/b2/908343e3c16249d0036dd444fc0d4662cd8c0e new file mode 100644 index 000000000..7f0e0aba6 Binary files /dev/null and b/tests/resources/merge-recursive/.gitted/objects/b2/908343e3c16249d0036dd444fc0d4662cd8c0e differ diff --git a/tests/resources/merge-recursive/.gitted/objects/b6/bd0f9952f396e757d3f91e08c59a7e91707201 b/tests/resources/merge-recursive/.gitted/objects/b6/bd0f9952f396e757d3f91e08c59a7e91707201 new file mode 100644 index 000000000..87cb8fa04 Binary files /dev/null and b/tests/resources/merge-recursive/.gitted/objects/b6/bd0f9952f396e757d3f91e08c59a7e91707201 differ diff --git a/tests/resources/merge-recursive/.gitted/objects/ba/9dcfe079848e8e5c1b53bc3b6e47ff57f6e481 b/tests/resources/merge-recursive/.gitted/objects/ba/9dcfe079848e8e5c1b53bc3b6e47ff57f6e481 new file mode 100644 index 000000000..c43b79da3 Binary files /dev/null and b/tests/resources/merge-recursive/.gitted/objects/ba/9dcfe079848e8e5c1b53bc3b6e47ff57f6e481 differ diff --git a/tests/resources/merge-recursive/.gitted/objects/c0/dcb4bfcd86e65a822090aa7a0455413828886b b/tests/resources/merge-recursive/.gitted/objects/c0/dcb4bfcd86e65a822090aa7a0455413828886b new file mode 100644 index 000000000..f8fe20180 Binary files /dev/null and b/tests/resources/merge-recursive/.gitted/objects/c0/dcb4bfcd86e65a822090aa7a0455413828886b differ diff --git a/tests/resources/merge-recursive/.gitted/objects/c4/44758b02d4af6e3145ac2fc0e3ed02199cf7ec b/tests/resources/merge-recursive/.gitted/objects/c4/44758b02d4af6e3145ac2fc0e3ed02199cf7ec new file mode 100644 index 000000000..b2f6662a0 Binary files /dev/null and b/tests/resources/merge-recursive/.gitted/objects/c4/44758b02d4af6e3145ac2fc0e3ed02199cf7ec differ diff --git a/tests/resources/merge-recursive/.gitted/objects/d3/482dbdca5bb83aaf3e3768359855d55aef84d7 b/tests/resources/merge-recursive/.gitted/objects/d3/482dbdca5bb83aaf3e3768359855d55aef84d7 new file mode 100644 index 000000000..8442948fa Binary files /dev/null and b/tests/resources/merge-recursive/.gitted/objects/d3/482dbdca5bb83aaf3e3768359855d55aef84d7 differ diff --git a/tests/resources/merge-recursive/.gitted/objects/db/7e2af8ca83b8943adce7ba37d85f8fe7d7d2a9 b/tests/resources/merge-recursive/.gitted/objects/db/7e2af8ca83b8943adce7ba37d85f8fe7d7d2a9 new file mode 100644 index 000000000..0a0ad6527 Binary files /dev/null and b/tests/resources/merge-recursive/.gitted/objects/db/7e2af8ca83b8943adce7ba37d85f8fe7d7d2a9 differ diff --git a/tests/resources/merge-recursive/.gitted/objects/e5/20e6aaf8d1e68a433e29d4360c1e74aa4b24d1 b/tests/resources/merge-recursive/.gitted/objects/e5/20e6aaf8d1e68a433e29d4360c1e74aa4b24d1 new file mode 100644 index 000000000..bcf2dcfc5 Binary files /dev/null and b/tests/resources/merge-recursive/.gitted/objects/e5/20e6aaf8d1e68a433e29d4360c1e74aa4b24d1 differ diff --git a/tests/resources/merge-recursive/.gitted/objects/e6/269ce9017816d67c7189a58b6d0d22bf4b8a1a b/tests/resources/merge-recursive/.gitted/objects/e6/269ce9017816d67c7189a58b6d0d22bf4b8a1a new file mode 100644 index 000000000..f9a0a27cc Binary files /dev/null and b/tests/resources/merge-recursive/.gitted/objects/e6/269ce9017816d67c7189a58b6d0d22bf4b8a1a differ diff --git a/tests/resources/merge-recursive/.gitted/objects/ea/3521485adfa0b0373deaaa06db9218a22edae8 b/tests/resources/merge-recursive/.gitted/objects/ea/3521485adfa0b0373deaaa06db9218a22edae8 new file mode 100644 index 000000000..40d89843c Binary files /dev/null and b/tests/resources/merge-recursive/.gitted/objects/ea/3521485adfa0b0373deaaa06db9218a22edae8 differ diff --git a/tests/resources/merge-recursive/.gitted/objects/f0/856993e005c0d8ed2dc7cdc222cc1d89fb3c77 b/tests/resources/merge-recursive/.gitted/objects/f0/856993e005c0d8ed2dc7cdc222cc1d89fb3c77 new file mode 100644 index 000000000..22b1ad94c Binary files /dev/null and b/tests/resources/merge-recursive/.gitted/objects/f0/856993e005c0d8ed2dc7cdc222cc1d89fb3c77 differ diff --git a/tests/resources/merge-recursive/.gitted/refs/heads/branchK-1 b/tests/resources/merge-recursive/.gitted/refs/heads/branchK-1 new file mode 100644 index 000000000..309b38880 --- /dev/null +++ b/tests/resources/merge-recursive/.gitted/refs/heads/branchK-1 @@ -0,0 +1 @@ +182d0d250d1d7adcc60c178be5be98358b3a2fd1 diff --git a/tests/resources/merge-recursive/.gitted/refs/heads/branchK-2 b/tests/resources/merge-recursive/.gitted/refs/heads/branchK-2 new file mode 100644 index 000000000..f958f131c --- /dev/null +++ b/tests/resources/merge-recursive/.gitted/refs/heads/branchK-2 @@ -0,0 +1 @@ +0ce202f64fa8356c1a32835fce4058ca76b0c7ed -- cgit v1.2.1 From 1403c61265e6e459676c605ae934e8a86b58266c Mon Sep 17 00:00:00 2001 From: Tyrie Vella Date: Mon, 22 Jan 2018 14:44:31 -0800 Subject: merge: virtual commit should be last argument to merge-base Our virtual commit must be the last argument to merge-base: since our algorithm pushes _both_ parents of the virtual commit, it needs to be the last argument, since merge-base: > Given three commits A, B and C, git merge-base A B C will compute the > merge base between A and a hypothetical commit M We want to calculate the merge base between the actual commit ("two") and the virtual commit ("one") - since one actually pushes its parents to the merge-base calculation, we need to calculate the merge base of "two" and the parents of one. --- src/merge.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/merge.c b/src/merge.c index 37c83eccd..6c98d13fb 100644 --- a/src/merge.c +++ b/src/merge.c @@ -2271,8 +2271,14 @@ static int compute_base( if (given_opts) memcpy(&opts, given_opts, sizeof(git_merge_options)); - if ((error = insert_head_ids(&head_ids, one)) < 0 || - (error = insert_head_ids(&head_ids, two)) < 0 || + /* With more than two commits, merge_bases_many finds the base of + * the first commit and a hypothetical merge of the others. Since + * "one" may itself be a virtual commit, which insert_head_ids + * substitutes multiple ancestors for, it needs to be added + * after "two" which is always a single real commit. + */ + if ((error = insert_head_ids(&head_ids, two)) < 0 || + (error = insert_head_ids(&head_ids, one)) < 0 || (error = git_merge_bases_many(&bases, repo, head_ids.size, head_ids.ptr)) < 0) goto done; -- cgit v1.2.1