repo.status: also compare flags for files in the lookup list.
We might be able to do something smarter about this in dirstate.status
for files in normallookup state, but that would require some extra
care to keep backwards compatibility.
% 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
merging b
warning: conflicts during merge.
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>