Mercurial > hg
view tests/test-convert-svn-sink.out @ 5811:180a3eee4b75
Fix copies reporting in log and convert.
If copy logged in file revision, we report copy for changeset only
if file revisions linkrev points back to the changeset in question
or both changeset parents contain different file revisions.
This fixes extra copies reported when executable bit was changed for
previously copied file.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Sat, 29 Dec 2007 17:11:48 +0300 |
parents | b63ef7b1441c |
children | 5af5f0f9d724 |
line wrap: on
line source
% add adding a adding d1/d2/b % modify 1:e0e2b8a9156b assuming destination a-hg initializing svn repo 'a-hg' initializing svn wc 'a-hg-wc' scanning source... sorting... converting... 1 add a file 0 modify a file At revision 2. 2 2 test . 2 2 test a 2 1 test d1 2 1 test d1/d2 2 1 test d1/d2/b <?xml version="1.0"?> <log> <logentry revision="2"> <author>test</author> <date/> <paths> <path action="M">/a</path> </paths> <msg>modify a file</msg> </logentry> <logentry revision="1"> <author>test</author> <date/> <paths> <path action="A">/a</path> <path action="A">/d1</path> <path action="A">/d1/d2</path> <path action="A">/d1/d2/b</path> </paths> <msg>add a file</msg> </logentry> </log> a: a d1 a-hg-wc: a d1 same % rename 2:7009fc4efb34 assuming destination a-hg initializing svn wc 'a-hg-wc' scanning source... sorting... converting... 0 rename a file At revision 3. 3 3 test . 3 3 test b 3 1 test d1 3 1 test d1/d2 3 1 test d1/d2/b <?xml version="1.0"?> <log> <logentry revision="3"> <author>test</author> <date/> <paths> <path action="D">/a</path> <path copyfrom-path="/a" copyfrom-rev="2" action="A">/b</path> </paths> <msg>rename a file</msg> </logentry> </log> a: b d1 a-hg-wc: b d1 % copy 3:56c519973ce6 assuming destination a-hg initializing svn wc 'a-hg-wc' scanning source... sorting... converting... 0 copy a file At revision 4. 4 4 test . 4 3 test b 4 4 test c 4 1 test d1 4 1 test d1/d2 4 1 test d1/d2/b <?xml version="1.0"?> <log> <logentry revision="4"> <author>test</author> <date/> <paths> <path copyfrom-path="/b" copyfrom-rev="3" action="A">/c</path> </paths> <msg>copy a file</msg> </logentry> </log> a: b c d1 a-hg-wc: b c d1 % remove 4:ed4dc9a6f585 assuming destination a-hg initializing svn wc 'a-hg-wc' scanning source... sorting... converting... 0 remove a file At revision 5. 5 5 test . 5 4 test c 5 1 test d1 5 1 test d1/d2 5 1 test d1/d2/b <?xml version="1.0"?> <log> <logentry revision="5"> <author>test</author> <date/> <paths> <path action="D">/b</path> </paths> <msg>remove a file</msg> </logentry> </log> a: c d1 a-hg-wc: c d1 % executable 5:f205b3636d77 assuming destination a-hg initializing svn wc 'a-hg-wc' scanning source... sorting... converting... 0 make a file executable At revision 6. 6 6 test . 6 6 test c 6 1 test d1 6 1 test d1/d2 6 1 test d1/d2/b <?xml version="1.0"?> <log> <logentry revision="6"> <author>test</author> <date/> <paths> <path action="M">/c</path> </paths> <msg>make a file executable</msg> </logentry> </log> executable % executable in new directory adding d1/a assuming destination a-hg initializing svn repo 'a-hg' initializing svn wc 'a-hg-wc' scanning source... sorting... converting... 0 add executable file in new directory At revision 1. 1 1 test . 1 1 test d1 1 1 test d1/a <?xml version="1.0"?> <log> <logentry revision="1"> <author>test</author> <date/> <paths> <path action="A">/d1</path> <path action="A">/d1/a</path> </paths> <msg>add executable file in new directory</msg> </logentry> </log> executable % copy to new directory assuming destination a-hg initializing svn wc 'a-hg-wc' scanning source... sorting... converting... 0 copy file to new directory At revision 2. 2 2 test . 2 1 test d1 2 1 test d1/a 2 2 test d2 2 2 test d2/a <?xml version="1.0"?> <log> <logentry revision="2"> <author>test</author> <date/> <paths> <path action="A">/d2</path> <path copyfrom-path="/d1/a" copyfrom-rev="1" action="A">/d2/a</path> </paths> <msg>copy file to new directory</msg> </logentry> </log> % branchy history adding b adding left-1 adding left-2 1 files updated, 0 files merged, 2 files removed, 0 files unresolved adding right-1 adding right-2 3 files updated, 0 files merged, 2 files removed, 0 files unresolved warning: conflicts during merge. merging b merging b failed! 2 files updated, 0 files merged, 0 files removed, 1 files unresolved There are unresolved merges, you can redo the full merge using: hg update -C 2 hg merge 4 assuming destination b-hg initializing svn repo 'b-hg' initializing svn wc 'b-hg-wc' scanning source... sorting... converting... 5 base 4 left-1 3 left-2 2 right-1 1 right-2 0 merge % expect 4 changes At revision 4. 4 4 test . 4 3 test b 4 2 test left-1 4 3 test left-2 4 4 test right-1 4 4 test right-2 <?xml version="1.0"?> <log> <logentry revision="4"> <author>test</author> <date/> <paths> <path action="A">/right-1</path> <path action="A">/right-2</path> </paths> <msg>merge</msg> </logentry> <logentry revision="3"> <author>test</author> <date/> <paths> <path action="M">/b</path> <path action="A">/left-2</path> </paths> <msg>left-2</msg> </logentry> <logentry revision="2"> <author>test</author> <date/> <paths> <path action="M">/b</path> <path action="A">/left-1</path> </paths> <msg>left-1</msg> </logentry> <logentry revision="1"> <author>test</author> <date/> <paths> <path action="A">/b</path> </paths> <msg>base</msg> </logentry> </log>