mirror of
https://github.com/facebook/sapling.git
synced 2024-10-10 08:47:12 +03:00
4d9877b4eb
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.
339 lines
6.1 KiB
Plaintext
339 lines
6.1 KiB
Plaintext
% 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>
|