Mercurial > hg
view tests/test-git-export.out @ 7566:5f7e3f17aece
mq: drop copy records when refreshing regular patches (issue1441)
Copy information was saved in a common loop, then refined in a git-only block.
The problem was the latter did filter out renames occuring in the current
patch and irrelevant to commit. In the non-git case, copy records still existed
in the dirstate, referencing removed files, making the commit to fail. Git and
non-git copy handling paths are now separated for simplicity.
Reported by Gary Bernhardt
author | Patrick Mezard <pmezard@gmail.com> |
---|---|
date | Sun, 04 Jan 2009 21:32:40 +0100 |
parents | 5a45c82fc7da |
children |
line wrap: on
line source
adding start adding new % new file diff --git a/new b/new new file mode 100644 --- /dev/null +++ b/new @@ -0,0 +1,1 @@ +new % copy diff --git a/new b/copy copy from new copy to copy % rename diff --git a/copy b/rename rename from copy rename to rename % delete diff --git a/rename b/rename deleted file mode 100644 --- a/rename +++ /dev/null @@ -1,1 +0,0 @@ -new adding src % chmod 644 diff --git a/src b/src old mode 100644 new mode 100755 % rename+mod+chmod diff --git a/src b/dst old mode 100755 new mode 100644 rename from src rename to dst --- a/src +++ b/dst @@ -3,3 +3,4 @@ 3 4 5 +a % nonexistent in tip+chmod diff --git a/src b/src old mode 100644 new mode 100755 % binary diff diff --git a/binfile.bin b/binfile.bin new file mode 100644 index 0000000000000000000000000000000000000000..37ba3d1c6f17137d9c5f5776fa040caf5fe73ff9 GIT binary patch literal 593 zc$@)I0<QguP)<h;3K|Lk000e1NJLTq000mG000mO0ssI2kdbIM00009a7bBm000XU z000XU0RWnu7ytkO2XskIMF-Uh9TW;VpMjwv0005-Nkl<ZD9@FWPs=e;7{<>W$NUkd zX$nnYLt$-$V!?uy+1V%`z&Eh=ah|duER<4|QWhju3gb^nF*8iYobxWG-qqXl=2~5M z*IoDB)sG^CfNuoBmqLTVU^<;@nwHP!1wrWd`{(mHo6VNXWtyh{alzqmsH*yYzpvLT zLdY<T=ks|woh-`&01!ej#(xbV1f|pI*=%;d-%F*E*X#ZH`4I%6SS+$EJDE&ct=8po ziN#{?_j|kD%Cd|oiqds`xm@;oJ-^?NG3Gdqrs?5u*zI;{nogxsx~^|Fn^Y?Gdc6<; zfMJ+iF1J`LMx&A2?dEwNW8ClebzPTbIh{@$hS6*`kH@1d%Lo7fA#}N1)oN7`gm$~V z+wDx#)OFqMcE{s!JN0-xhG8ItAjVkJwEcb`3WWlJfU2r?;Pd%dmR+q@mSri5q9_W- zaR2~ECX?B2w+zELozC0s*6Z~|QG^f{3I#<`?)Q7U-JZ|q5W;9Q8i_=pBuSzunx=U; z9C)5jBoYw9^?EHyQl(M}1OlQcCX>lXB*ODN003Z&P17_@)3Pi=i0wb04<W?v-u}7K zXmmQA+wDgE!qR9o8jr`%=ab_&uh(l?R=r;Tjiqon91I2-hIu?57~@*4h7h9uORK#= fQItJW-{SoTm)8|5##k|m00000NkvXXu0mjf{mKw4 % import binary diff applying b.diff % rename binary file diff --git a/binfile.bin b/renamed.bin rename from binfile.bin rename to renamed.bin % diff across many revisions diff --git a/dst2 b/dst3 rename from dst2 rename to dst3 % reversed diff --git a/dst3 b/dst2 rename from dst3 rename to dst2 % file created before r1 and renamed before r2 diff --git a/foo b/bar rename from foo rename to bar --- a/foo +++ b/bar @@ -1,2 +1,3 @@ a b +c % reversed diff --git a/bar b/foo rename from bar rename to foo --- a/bar +++ b/foo @@ -1,3 +1,2 @@ a b -c % file created in r1 and renamed before r2 diff --git a/foo b/bar rename from foo rename to bar --- a/foo +++ b/bar @@ -1,1 +1,3 @@ a +b +c % reversed diff --git a/bar b/foo rename from bar rename to foo --- a/bar +++ b/foo @@ -1,3 +1,1 @@ a -b -c % file created after r1 and renamed before r2 diff --git a/bar b/bar new file mode 100644 --- /dev/null +++ b/bar @@ -0,0 +1,3 @@ +a +b +c % reversed diff --git a/bar b/bar deleted file mode 100644 --- a/bar +++ /dev/null @@ -1,3 +0,0 @@ -a -b -c % comparing with the working dir % there's a copy in the working dir... diff --git a/created2 b/created3 rename from created2 rename to created3 % ...but there's another copy between the original rev and the wd diff --git a/created b/created3 rename from created rename to created3 % ...but the source of the copy was created after the original rev diff --git a/created3 b/created3 new file mode 100644 --- /dev/null +++ b/created3 @@ -0,0 +1,1 @@ + % created in parent of wd; renamed in the wd diff --git a/brand-new b/brand-new2 rename from brand-new rename to brand-new2 % created between r1 and parent of wd; renamed in the wd diff --git a/brand-new2 b/brand-new2 new file mode 100644 --- /dev/null +++ b/brand-new2 @@ -0,0 +1,1 @@ + % one file is copied to many destinations and removed diff --git a/brand-new2 b/brand-new3 rename from brand-new2 rename to brand-new3 diff --git a/brand-new2 b/brand-new3-2 copy from brand-new2 copy to brand-new3-2 % reversed diff --git a/brand-new3 b/brand-new2 rename from brand-new3 rename to brand-new2 diff --git a/brand-new3-2 b/brand-new3-2 deleted file mode 100644 --- a/brand-new3-2 +++ /dev/null @@ -1,1 +0,0 @@ - % there should be a trailing TAB if there are spaces in the file name diff --git a/with spaces b/with spaces new file mode 100644 --- /dev/null +++ b/with spaces @@ -0,0 +1,1 @@ +foo