From 2270ca9f8feecf93fe39a02a6fbde90a22c1a665 Mon Sep 17 00:00:00 2001 From: David Turner Date: Fri, 3 Mar 2017 13:27:47 -0500 Subject: [PATCH] rebase: ignore untracked files in submodules An untracked file in a submodule should not prevent a rebase from starting. Even if the submodule's SHA is changed, and that file would conflict with a new tracked file, it's still OK to start the rebase and discover the conflict later. Signed-off-by: David Turner --- src/rebase.c | 4 +- tests/rebase/submodule.c | 65 ++++++++++++++++++ tests/resources/rebase-submodule/.gitmodules | Bin 0 -> 61 bytes tests/resources/rebase-submodule/.gitted/HEAD | Bin 0 -> 23 bytes .../rebase-submodule/.gitted/ORIG_HEAD | Bin 0 -> 41 bytes .../resources/rebase-submodule/.gitted/config | Bin 0 -> 161 bytes .../rebase-submodule/.gitted/description | Bin 0 -> 73 bytes .../resources/rebase-submodule/.gitted/index | Bin 0 -> 681 bytes .../rebase-submodule/.gitted/info/exclude | Bin 0 -> 240 bytes .../rebase-submodule/.gitted/info/refs | Bin 0 -> 267 bytes .../01/971e2453a407e4b9f6c865e2c37f4db21da294 | Bin 0 -> 187 bytes .../17/f8ae8ebdd08a4bb272f61b897b308ad42b1b12 | Bin 0 -> 206 bytes .../42/cdad903aef3e7b614675e6584a8be417941911 | Bin 0 -> 208 bytes .../4b/7c5650008b2e747fe1809eeb5a1dde0e80850a | Bin 0 -> 615 bytes .../5b/1e8bccf7787e942aecf61912f94a2c274f85a5 | Bin 0 -> 368 bytes .../68/af1fc7407fd9addf1701a87eb1c95c7494c598 | Bin 0 -> 443 bytes .../68/f6182f4c85d39e1309d97c7e456156dc9c0096 | Bin 0 -> 755 bytes .../7c/71f7606bd3bfb25d063c970804e7fc00b9605b | Bin 0 -> 279 bytes .../7c/7bf85e978f1d18c0566f702d2cb7766b9c8d4f | Bin 0 -> 198 bytes .../a7/b066537e6be7109abfe4ff97b675d4e077da20 | Bin 0 -> 621 bytes .../ab/6cf22b4c67a274aa8d31b5877d92341e8c2a9c | Bin 0 -> 279 bytes .../c4/e6cca3ec6ae0148ed231f97257df8c311e015f | Bin 0 -> 268 bytes .../f3/6de77de6f53dddafeb024ecaf375e45c3d9ddd | Bin 0 -> 58 bytes .../ff/b36e513f5fdf8a6ba850a20142676a2ac4807d | Bin 0 -> 355 bytes .../rebase-submodule/.gitted/packed-refs | Bin 0 -> 101 bytes .../.gitted/refs/heads/asparagus | Bin 0 -> 41 bytes .../.gitted/refs/heads/master | Bin 0 -> 41 bytes .../resources/rebase-submodule/asparagus.txt | Bin 0 -> 587 bytes tests/resources/rebase-submodule/beef.txt | Bin 0 -> 1372 bytes tests/resources/rebase-submodule/bouilli.txt | Bin 0 -> 1092 bytes tests/resources/rebase-submodule/gravy.txt | Bin 0 -> 390 bytes tests/resources/rebase-submodule/my-submodule | 1 + tests/resources/rebase-submodule/oyster.txt | Bin 0 -> 774 bytes tests/resources/rebase-submodule/veal.txt | Bin 0 -> 1095 bytes 34 files changed, 69 insertions(+), 1 deletion(-) create mode 100644 tests/rebase/submodule.c create mode 100644 tests/resources/rebase-submodule/.gitmodules create mode 100644 tests/resources/rebase-submodule/.gitted/HEAD create mode 100644 tests/resources/rebase-submodule/.gitted/ORIG_HEAD create mode 100644 tests/resources/rebase-submodule/.gitted/config create mode 100644 tests/resources/rebase-submodule/.gitted/description create mode 100644 tests/resources/rebase-submodule/.gitted/index create mode 100644 tests/resources/rebase-submodule/.gitted/info/exclude create mode 100644 tests/resources/rebase-submodule/.gitted/info/refs create mode 100644 tests/resources/rebase-submodule/.gitted/objects/01/971e2453a407e4b9f6c865e2c37f4db21da294 create mode 100644 tests/resources/rebase-submodule/.gitted/objects/17/f8ae8ebdd08a4bb272f61b897b308ad42b1b12 create mode 100644 tests/resources/rebase-submodule/.gitted/objects/42/cdad903aef3e7b614675e6584a8be417941911 create mode 100644 tests/resources/rebase-submodule/.gitted/objects/4b/7c5650008b2e747fe1809eeb5a1dde0e80850a create mode 100644 tests/resources/rebase-submodule/.gitted/objects/5b/1e8bccf7787e942aecf61912f94a2c274f85a5 create mode 100644 tests/resources/rebase-submodule/.gitted/objects/68/af1fc7407fd9addf1701a87eb1c95c7494c598 create mode 100644 tests/resources/rebase-submodule/.gitted/objects/68/f6182f4c85d39e1309d97c7e456156dc9c0096 create mode 100644 tests/resources/rebase-submodule/.gitted/objects/7c/71f7606bd3bfb25d063c970804e7fc00b9605b create mode 100644 tests/resources/rebase-submodule/.gitted/objects/7c/7bf85e978f1d18c0566f702d2cb7766b9c8d4f create mode 100644 tests/resources/rebase-submodule/.gitted/objects/a7/b066537e6be7109abfe4ff97b675d4e077da20 create mode 100644 tests/resources/rebase-submodule/.gitted/objects/ab/6cf22b4c67a274aa8d31b5877d92341e8c2a9c create mode 100644 tests/resources/rebase-submodule/.gitted/objects/c4/e6cca3ec6ae0148ed231f97257df8c311e015f create mode 100644 tests/resources/rebase-submodule/.gitted/objects/f3/6de77de6f53dddafeb024ecaf375e45c3d9ddd create mode 100644 tests/resources/rebase-submodule/.gitted/objects/ff/b36e513f5fdf8a6ba850a20142676a2ac4807d create mode 100644 tests/resources/rebase-submodule/.gitted/packed-refs create mode 100644 tests/resources/rebase-submodule/.gitted/refs/heads/asparagus create mode 100644 tests/resources/rebase-submodule/.gitted/refs/heads/master create mode 100644 tests/resources/rebase-submodule/asparagus.txt create mode 100644 tests/resources/rebase-submodule/beef.txt create mode 100644 tests/resources/rebase-submodule/bouilli.txt create mode 100644 tests/resources/rebase-submodule/gravy.txt create mode 160000 tests/resources/rebase-submodule/my-submodule create mode 100644 tests/resources/rebase-submodule/oyster.txt create mode 100644 tests/resources/rebase-submodule/veal.txt diff --git a/src/rebase.c b/src/rebase.c index 09941a2a2..bf1d086ba 100644 --- a/src/rebase.c +++ b/src/rebase.c @@ -546,7 +546,9 @@ static int rebase_ensure_not_dirty( } if (check_workdir) { - if ((error = git_diff_index_to_workdir(&diff, repo, index, NULL)) < 0) + git_diff_options diff_opts = GIT_DIFF_OPTIONS_INIT; + diff_opts.ignore_submodules = GIT_SUBMODULE_IGNORE_UNTRACKED; + if ((error = git_diff_index_to_workdir(&diff, repo, index, &diff_opts)) < 0) goto done; if (git_diff_num_deltas(diff) > 0) { diff --git a/tests/rebase/submodule.c b/tests/rebase/submodule.c new file mode 100644 index 000000000..7a38ab89f --- /dev/null +++ b/tests/rebase/submodule.c @@ -0,0 +1,65 @@ +#include "clar_libgit2.h" +#include "git2/checkout.h" +#include "git2/rebase.h" +#include "posix.h" +#include "signature.h" + +#include + +static git_repository *repo; +static git_signature *signature; + +// Fixture setup and teardown +void test_rebase_submodule__initialize(void) +{ + repo = cl_git_sandbox_init("rebase-submodule"); + cl_git_pass(git_signature_new(&signature, + "Rebaser", "rebaser@rebaser.rb", 1405694510, 0)); +} + +void test_rebase_submodule__cleanup(void) +{ + git_signature_free(signature); + cl_git_sandbox_cleanup(); +} + +void test_rebase_submodule__init_untracked(void) +{ + git_rebase *rebase; + git_reference *branch_ref, *upstream_ref; + git_annotated_commit *branch_head, *upstream_head; + git_buf untracked_path = GIT_BUF_INIT; + FILE *fp; + git_submodule *submodule; + git_config *config; + + cl_git_pass(git_reference_lookup(&branch_ref, repo, "refs/heads/asparagus")); + cl_git_pass(git_reference_lookup(&upstream_ref, repo, "refs/heads/master")); + + cl_git_pass(git_annotated_commit_from_ref(&branch_head, repo, branch_ref)); + cl_git_pass(git_annotated_commit_from_ref(&upstream_head, repo, upstream_ref)); + + git_repository_config(&config, repo); + + cl_git_pass(git_config_set_string(config, "submodule.my-submodule.url", git_repository_path(repo))); + + git_config_free(config); + + cl_git_pass(git_submodule_lookup(&submodule, repo, "my-submodule")); + cl_git_pass(git_submodule_update(submodule, 1, NULL)); + + git_buf_printf(&untracked_path, "%s/my-submodule/untracked", git_repository_workdir(repo)); + fp = fopen(git_buf_cstr(&untracked_path), "w"); + fprintf(fp, "An untracked file in a submodule should not block a rebase\n"); + fclose(fp); + git_buf_free(&untracked_path); + + cl_git_pass(git_rebase_init(&rebase, repo, branch_head, upstream_head, NULL, NULL)); + + git_submodule_free(submodule); + git_annotated_commit_free(branch_head); + git_annotated_commit_free(upstream_head); + git_reference_free(branch_ref); + git_reference_free(upstream_ref); + git_rebase_free(rebase); +} diff --git a/tests/resources/rebase-submodule/.gitmodules b/tests/resources/rebase-submodule/.gitmodules new file mode 100644 index 0000000000000000000000000000000000000000..f36de77de6f53dddafeb024ecaf375e45c3d9ddd GIT binary patch literal 61 xcmazpE=|hKPbtkwRZz;U)P?huV!1dA5=$}^Y!#4&xj0LUa)4q<`RS#_TmYk%6#W1I literal 0 HcmV?d00001 diff --git a/tests/resources/rebase-submodule/.gitted/HEAD b/tests/resources/rebase-submodule/.gitted/HEAD new file mode 100644 index 0000000000000000000000000000000000000000..cb089cd89a7d7686d284d8761201649346b5aa1c GIT binary patch literal 23 ecmXR)O|w!cN=+-)&qz&7Db~+TEG|hc;sO9;xClW2 literal 0 HcmV?d00001 diff --git a/tests/resources/rebase-submodule/.gitted/ORIG_HEAD b/tests/resources/rebase-submodule/.gitted/ORIG_HEAD new file mode 100644 index 0000000000000000000000000000000000000000..a1ccbb40df5f7831c406637f6f1b2af008883de3 GIT binary patch literal 41 ucmV~$!4Uu;2m`Rc)4-iT*QrqUAHgJc){u!iq>Ol-PB>Ry(6lQeRp$f!eG9|@ literal 0 HcmV?d00001 diff --git a/tests/resources/rebase-submodule/.gitted/config b/tests/resources/rebase-submodule/.gitted/config new file mode 100644 index 0000000000000000000000000000000000000000..af2095f84442c0d8b68ce58b11d7d16cc6c3b2f6 GIT binary patch literal 161 zcmZY2K?=hl6olcmoy6*N!gX`#1o8fZ3M{_rs~FG_iMM`>!gE8j_3 z(O*K#x`%tXd6#mLs;eB;ImEjNej}mSQAIbDLP?{o=wd%MM`B-|VS+Uf+py_;im+?y KG8NW^|KJ0=KsMq4 literal 0 HcmV?d00001 diff --git a/tests/resources/rebase-submodule/.gitted/description b/tests/resources/rebase-submodule/.gitted/description new file mode 100644 index 0000000000000000000000000000000000000000..498b267a8c7812490d6479839c5577eaaec79d62 GIT binary patch literal 73 zcmWH|%S+5nO;IRHEyyp$t+PQ$;d2LNXyJgRZve!Elw`VEGWs$&r??@ Q$yWgB0LrH#Y0~2Y0PnOK(EtDd literal 0 HcmV?d00001 diff --git a/tests/resources/rebase-submodule/.gitted/index b/tests/resources/rebase-submodule/.gitted/index new file mode 100644 index 0000000000000000000000000000000000000000..b63efabdb0ddc9bb02d5b65699fbaead8eadce84 GIT binary patch literal 681 zcmZ?q402{*U|<4bj)8=zS`bh z|C-6~)aTMCF}8E>GH~mqXO`sVr(dZoQKFhYj;y zN6FsfYiQ+S;7-af&CJQkgu4plPps~0L^Y4G?Z~q;i{E5D5b3*Q__HYdevhFXV>|C%00!xHJh80}$mn+|`Wg zE@rlj_43CZ>Tj;SFV484ZsWp!}8s14mhEVh+T#kRVrApbI4#EEEj5Y6`z6WMAIDDVEJy~uU)qFnx z!Ngk1+(D1yTW=`=M;8(jTk7WmlOk{X<(|Aupa)^)xWe~h)f!(g1VWQY(BXc5)k p?oakz{O3!3`1`z`U-wws?N2+y`lZ!H1U#%;C{?z5Qr|JyN`bK7U^)N* literal 0 HcmV?d00001 diff --git a/tests/resources/rebase-submodule/.gitted/objects/17/f8ae8ebdd08a4bb272f61b897b308ad42b1b12 b/tests/resources/rebase-submodule/.gitted/objects/17/f8ae8ebdd08a4bb272f61b897b308ad42b1b12 new file mode 100644 index 0000000000000000000000000000000000000000..79e4c484f3fc2d1162763248533db980d1b04ada GIT binary patch literal 206 zcmV;<05Sh~0WFV9Zo@DPM7!20c!2~GP5pqN$f8+x*9%Y|Cjx4#kmdCHm5Z#%8RBus zSeK=AKs~+nmNRfLaYhUjjb*gN?9!xycGf136RGSXvXA12TV6Xz<*mv{dSa3`Q}DBi z&ghJBvNNTCDlvKzy!S_Ka7(}35_~=CvegwXdALV+&Hsa!I>)-agCeO7DnlAhlB5*F z9mn?E;DeuKY}wm7#AU5d{w~|~RnN8E5863x9JzzmgBG7PmAORjWh5);6?hwO@O|IJ IAF|O>LkW6k@Bjb+ literal 0 HcmV?d00001 diff --git a/tests/resources/rebase-submodule/.gitted/objects/42/cdad903aef3e7b614675e6584a8be417941911 b/tests/resources/rebase-submodule/.gitted/objects/42/cdad903aef3e7b614675e6584a8be417941911 new file mode 100644 index 0000000000000000000000000000000000000000..99b5e6d2c8f1feb318ae3effc47c16d1f66918ce GIT binary patch literal 208 zcmV;>05AV|0V^p=O;s>5GG{O}FfcPQQAjKD%8Onl|EL(9jB2A{ZB9%z(Q zDp~`0c9}Zy!LU4TnP`R_a2j)I$sDeGffp+4!3AhA43rTJ zWFou6(+HCX3{H(@VP2uCCwfgfFK{R0k?|pZ5Tn=5VX^q(kEe+?4x#DTDaRH8q9={` zWw}8EEsSAvd9G9{tKCHm=?0zGU48B3V`RP-+bXJ(v;jb>SGxw2^@RZPNXkU^> z6Gz{R_OmI(24P;kl#I&RsBV>}TARmX?7g^Q>{EiS6pz508ZlJQ-6Vs%~M z*Ma+pM6e6PV2lD}J@`D|vUsZ&P(pYtE*B(>#_B=ZUR=vp`s&_R^t|3}=)K##tmtv~@$|adQW#0+sFU88 zyr687j!ag_Tf^?MAX5aGk%C9rn@OQTCMF3Hc^J)#)~`ji=kUB$8BMjIypcL0h$;xRP)6!ZczhVDt&1Uz7p0H#<{OJl97U zgcwL^i5W6ZZB!^p_&s_KCn&Y+wT76b&1wP);T2CVV{KWjLBcUKIyRwQV5gK<6 z)~_RqSxxl-GK~?&j23};H_~@_E=n^{u@yQ>XL$7&gwgEO=&L0>iH;?yFt$ALrztI(nqaC8z&a>7Zp&I8pAN0WCFP$2O-q(?ym5+LeLvPrCSY~yt{$?L+G6)tk4kU%Y>M`aoYkefxZI?kit~>LRrGIFjO%(nP(;)X}h2946ur z+LbAYF6|e45M+MnQfz#Cg!Q=4 zcScoIbgOWsAqe9+zywtAm4JvTr`nO`;^Q?4rJEG{3*AXqz;l)RAP<^TiqjU1LQY#8 zWu!jvaHT9cOX*tOx+lA!9O@(b7D2)2Q&eZP)c?X6q-l}(Qc33dRH8Kk2>NQ?wqlvpHMgV+B-53jsBV)y09GA#Q*rNI9BU?-PR8n4rX8b{NiUDrkJS z#>IVIL}6sEP#W!F$k9Vhr9Eu{287ne%oiFZ_yGf?T1>7bFzwL9(DilYug92+rlY;JP3e_oWtY%)Op0?3(po5hq;V1r2sz+akEz z?=)AlD5y6_xc@uC++(7eNLWJI3%(6++bHOZX9Fk>(@FfcPQQP4}zEXmDJDa}bOX84@@y!P2w+q>&uGx?qR zT>2!&cJ5uMvc%$o#G=IX(qg@miV}wZoAUzgRc1U?#yAB22+z?nwgW630CG^6BfYGtyfb2uwmZoDA{{_4Xs>I zW$8tUWtCt>N1mNo{3h#xNZ%#HpGD#Kdkp0m;|c^mvbZF*2;#E!^2Z(OZ?3&B&bXp(c2kZG6Bm=nK+xp>A}>x~?VH_7?k*tmy`824fU%b(Re8VaFWcI!i2) z;F%8klV0gp{I#=}_yWf2)-|T>H9TpnwL0i=Ug@7R>N9a=Tp-h(3rkY!4JO*5$hIEP z^GXG#ED=uEnc$1_jT0k$$X00QiB6AzcjN`fg@6;(nbf+C3wsC>k<(dy15#OGDOags A)Bpeg literal 0 HcmV?d00001 diff --git a/tests/resources/rebase-submodule/.gitted/objects/a7/b066537e6be7109abfe4ff97b675d4e077da20 b/tests/resources/rebase-submodule/.gitted/objects/a7/b066537e6be7109abfe4ff97b675d4e077da20 new file mode 100644 index 0000000000000000000000000000000000000000..54f9b66175cf9c6bd4592ad9048f2d45c195beda GIT binary patch literal 621 zcmV-z0+RiB0Zmi8uGBCPrS@0M2ZR+A6lkkkfP{p^l@L%*lF7!3W9NEoLil>lIJ-a@ z$8+Yq+=tZD+c)puz54#)=`(%(^6mNJ+;c7DV@brcr9x%SBJ@%@7o{}O&P8%}KTgr7 zs5D?iR}P`06vgS5Qk-hA>wVy1p-r|;GVp2~W$cLKNM%oUK{=F;c3<2ht)u`f#+VIn}IJ(#5a1;LR5xTw{XwHZoM`8?_-rwp z@P^dxM!&$W#l%@j6TqjDy@99J~55yH+;^16EI%6By~P^H2JJZk{8o{uLe9rQ=)d} zB^n27;L9v4oM~y$B>P|eKDrrN?vHJ^2IKD0RzoLBX4T(B;NXRR*#DKsJ8`cVJdCPa zs}VUxw#?c)gS4|xDTd=hPZ3af-w$u?RXjFT#d~%AqyFvPWLjb!7V`;70n8ey<>LMT HT=<4_?*22G literal 0 HcmV?d00001 diff --git a/tests/resources/rebase-submodule/.gitted/objects/ab/6cf22b4c67a274aa8d31b5877d92341e8c2a9c b/tests/resources/rebase-submodule/.gitted/objects/ab/6cf22b4c67a274aa8d31b5877d92341e8c2a9c new file mode 100644 index 0000000000000000000000000000000000000000..5acdf362e0ec591a719af28458d1391f67887285 GIT binary patch literal 279 zcmV+y0qFjC0V^p=O;s>9Fk>(@FfcPQQP4}zEXmDJDa}bOX84@@y!P2w+q>&uGx?qR zT>2!&cJ5uMvc%$o#G=IX(qg@miV}usx$ZOHE9$0bz4<07^wUd6-M@7yRAEwTY8qHg z#y1IlpVrIsggI~4)VU^x-I>EM4W=f)G&3hB6Rga;CMGx%PPT&jyyZF_)XRWk-kfYKa0Ze_ZZ4C#v7U$0D(eorEYO)62u1#HPt`jruWNA z90fOn8Sj)DLH literal 0 HcmV?d00001 diff --git a/tests/resources/rebase-submodule/.gitted/objects/c4/e6cca3ec6ae0148ed231f97257df8c311e015f b/tests/resources/rebase-submodule/.gitted/objects/c4/e6cca3ec6ae0148ed231f97257df8c311e015f new file mode 100644 index 0000000000000000000000000000000000000000..2bbf28f57352c06c42eb8b2a5eda9a9dde1ece90 GIT binary patch literal 268 zcmV+n0rUQN0VPl|Zp1JQ>+DzX0l7ngPDQ6qH@4`Z1v)B;k{EET)RHf_-&f9U0!fjS z`XoJGUZ0;XU++J^xPE+pof#bXwHmP}3$b>vlXKxQayA7iCMh_$#kW-I)?tsfJTTXXze?Gn-CKv9j7x_W zHAzacAF{2;z^WKy;la3Z&6Dhms}*uz4+zcMhaz=eK+woHepo4&oA)xfpxxpLM};ir zrDm*BxcTK^LfQiQ!ZfxsqrJg)fl;6Mq?<_AsixL-t?FU2Vjxp@-eXFjaRh}aX2z80 S=1+q8cKeOjJBNSmtBjvLQHhWM literal 0 HcmV?d00001 diff --git a/tests/resources/rebase-submodule/.gitted/objects/f3/6de77de6f53dddafeb024ecaf375e45c3d9ddd b/tests/resources/rebase-submodule/.gitted/objects/f3/6de77de6f53dddafeb024ecaf375e45c3d9ddd new file mode 100644 index 0000000000000000000000000000000000000000..cd330a71f1d67ffeb7ab7e8fd356dc87ed7112cb GIT binary patch literal 58 zcmV-A0LA}!0ZYosPf{>5WQZ;7~V705ZoHBifr7=l}o! literal 0 HcmV?d00001 diff --git a/tests/resources/rebase-submodule/.gitted/objects/ff/b36e513f5fdf8a6ba850a20142676a2ac4807d b/tests/resources/rebase-submodule/.gitted/objects/ff/b36e513f5fdf8a6ba850a20142676a2ac4807d new file mode 100644 index 0000000000000000000000000000000000000000..f655d12eaf66d9f8a63100f0d72e00c8f34be0a1 GIT binary patch literal 355 zcmV-p0i6DL0Yy?vZUZ3nBG<2*eK(fL(So$ovP zbpzpRbt+Wiq?-l`CRN`pUvSK^o|~=WB!phksfhaE=JlVLJ)Dn`~DdU1Yvrj>l_zo4eA`2mp_&;vFX BuR#C+ literal 0 HcmV?d00001 diff --git a/tests/resources/rebase-submodule/.gitted/packed-refs b/tests/resources/rebase-submodule/.gitted/packed-refs new file mode 100644 index 0000000000000000000000000000000000000000..44ac842a1b161a425ad4ffc4aad643cf534a10d5 GIT binary patch literal 101 zcmXZUOA3G>5CG79rx<80mFA~zGdg2NE+mua_7Svvo7Y3ZaEOy*g?qo!3WYf{L2Nlc s;zt+E%%~+r?bXDQthdUVWu6>`g{Ah+jf$j(FB%df)d6e46Sr2o7l?NtdjJ3c literal 0 HcmV?d00001 diff --git a/tests/resources/rebase-submodule/.gitted/refs/heads/asparagus b/tests/resources/rebase-submodule/.gitted/refs/heads/asparagus new file mode 100644 index 0000000000000000000000000000000000000000..e6adde8e6f885b6d306f2794d4b5a073c03e1b21 GIT binary patch literal 41 vcmXpsPqRo&wMb1$NincUG)YP_GB-*yGfc9uG*2=HilmqrB^f3e8gT&t`p*kd literal 0 HcmV?d00001 diff --git a/tests/resources/rebase-submodule/.gitted/refs/heads/master b/tests/resources/rebase-submodule/.gitted/refs/heads/master new file mode 100644 index 0000000000000000000000000000000000000000..2523d491d170dbd05905c6e3c76911d0bbc008d8 GIT binary patch literal 41 vcmV~$#{mE!2n4Xd(@;*3ag?(E2qwhg+=8taY3?f84Hg z{k&a{#(eWEG{&0AbAAZjYp|0PiX(AJocU49fr`zXgq%`vR{Z-wwkj|q#ei#+7!>Fv zq%i@{VF2H|-7I*fl~po|rkFaaDEql|SOQUp#n4tWx-7IhorozpvC^#E*~S3c-DC_7 z=w_j&O)N=Dk~?8xuP4L9K)ObHR?gbv>>lpX`Atxr?>qW+1L0?NDpcaAhXx8JRo^Wy zIObR%%~o;pl1;a0X5<5O%ZU8w(t*~=*@>1~lvXb@p;t!U5`_0%qL?s#xo6wLA; zs&}AaTSL(T^EZv1d*T7qsPOEt!$^8EjHm`AYdS^n2nXnZvmQg`ET+_Pbk<2w|E2-s fYe6^dt~q*q29Q<7$a+H;=jT1G<_QoZzAHcgIJq}zz;vvqPWRqBRY~ytr%GWb%_X#1mv~p|j&dkp2 zhnJU+^!4+%FBj)t`6^U5q0Psc6rYq98by|YrlaDp5QosNEJ1W@zu1Ey>(iK`4DQ_g zw9$TO#Y3v77>Q55lf>$ag!@3LvQ56;4E?j8}!gvla0Tp~D zAY#g?4y3vGcnw17CdK|jchVj3T;(yyljfA-as;E0(-CKxX$(AFDND{$hE}(p$u1~| z`i#CsP%!!w)fp}IziGJHgi^kSG_P-&|)#-4{#a9+Mv5=BW7oFw!-%v zP$4Y@)F4(D2X= zg^*60(ateSc~6kQ@tbM>v2%o19!2z6+2F!KNQy7;j$V-|v4~(+zPe^7G(q|v#sCK( zsTMta?-IbWg)F7367qDXnag$Pc5KB_harv)!Y10Mfq=jp7y<=fEB-=cp|;=QWJTJM z(A7G;?F_gs$i;oFg&T9PorPVq{yXA?>!+Z>>1$gA5BqgXp zl)d2F@V1SDzL*9U(1EDO<{xn7xx>#=;i4E literal 0 HcmV?d00001 diff --git a/tests/resources/rebase-submodule/bouilli.txt b/tests/resources/rebase-submodule/bouilli.txt new file mode 100644 index 0000000000000000000000000000000000000000..4b7c5650008b2e747fe1809eeb5a1dde0e80850a GIT binary patch literal 1092 zcmYk5U5?u@420ix3Le0l19abt0__3|v_N;!XW6E0!HVcgR9xS_Lpl2c1OcK@!*7Pv z@1L)~=+D#35BmD^_38Qf>EhgrUzv1aN@3ulwE3(gQ#;Zn3@i0Hl$G0I&pdVHd#Oqs z<^|WFC}9nj|-QLEB74>h?%i!wBm5pC2?H z5NajGUzv7)bR-F<_b!siCt9T1ZAqLv6nmvZDufQV_!~S0Tm{XR8J0K!ahVf?yz%*q@#zm^@){YAh@B235V# zd(vfvJDJXmPw|r&y$+76#Secx&$M%lu4k{DIs}NGG~t)!1`V_@hTWH?QK@Wp7ct~J zblGx9Yh*HbhkElfd{qu1EIC5uWy8Yvvy*o*9A$W-Ljl-{*^E!`a&in=ugH z4yQ{kUmhM>rk+ZjrZ5CfN`I?Q8uV!X-lk-HH=bF2ANhUYAt4d$!Z;eEg^9VN;Gt~T zs;NfP$k>b>*_2nZdFFDS~^jr)hcPt3-R{ e9o9Bu**`CHo3z$;vxxw{7`=)w_G;UjT-<*kZ-7$( literal 0 HcmV?d00001 diff --git a/tests/resources/rebase-submodule/gravy.txt b/tests/resources/rebase-submodule/gravy.txt new file mode 100644 index 0000000000000000000000000000000000000000..c4e6cca3ec6ae0148ed231f97257df8c311e015f GIT binary patch literal 390 zcmX9)L2kn^47>Xkd_da|?6gyl8&+(Y(Y^3lH<7BTm(g|Y>S3~CB2#zXb19%0K_TVJNQEB$B$#iH-*~-C_yiai$1`1g+}r15kD{bR+?Mf56N8>)Vgt z@cQ!S*V(zhz9sNwf~k5cAREI+_f;Bj1m2rqZ6{c}fFxXi3v47w9~JSt(`{ZGPxo&w z#HB$IYY&%2ZiE-Ps!(a zf+j<+HKfXYRuj+&Z+LPQrB}6*5Hfvqnt+P%c&{vn8MUfdhXHdMD{2m3evRBc$Q5V@ zUlCf5kpf|nyu+mPr;(f_3RgS`8~61{C~~i^t*lAJo(D(PuOo_CO^pC5g#@9ZMPS}d z^p5#DijDq3!Odl_9&nx;Tu^h?6=2Ta33-UP!9t~rrs|_^V&L3$QJI07tW_mdrYW;}#xl-A QH$PDeJZzXqThZBl0*7D{sQ>@~ literal 0 HcmV?d00001 diff --git a/tests/resources/rebase-submodule/veal.txt b/tests/resources/rebase-submodule/veal.txt new file mode 100644 index 0000000000000000000000000000000000000000..a7b066537e6be7109abfe4ff97b675d4e077da20 GIT binary patch literal 1095 zcmYjQOODhq5Z(I}b%4+p=+!JhLPBCB#IUX;mBfl;XIwTRoSs)sH?WN3di8#O`}p#O zzJ2}vdUNiz7V@zqV%k%ovSbl@ubhign&{vnxqBR^=u=c0FrpiW&{2xwbWbTxHQ4n& z@UYS@`z{%HHI6cN#Bro@B)gy-N=Jt;%XN}3Xs5vs(l!R+NDFUw3Ib|{`s4#?5gvUw z+tiY3);sCyH(YRO7+Ap!j83B}k@lx5%roiYqb>g_49@?<8morpLW;BGI~87q62^f; z|5$<0rK2rP)71XYSy+Yq1c|3pAcc{#R{;&fVVZqt#>^>=G~ha5Hvj8#0OX87;XcTR zW~0JK2c}biMDWcgMHpkcnu*|aN?4mwHY)S1)C)q2bciLQB{S5P#jC@jQZvZdERQ2; z+JuHBA)b+T&Kl&rTTc1)2C+5d-VW`aumh<-DFy09ai%RNde3nspaPW09}`Z