view tests/test-convert-svn-sink.out @ 10397:8cb81d75730c

mq: add parent node IDs to MQ patches on qrefresh/qnew The goal of this patch is to add the IDs of the parents of applied MQ patches into the patch file headers whenever qnew or qrefresh are run. This will serve as a reminder of when the patches last applied cleanly and will let us do more intelligent things in the future, such as: * Resolve conflicts found when qpushing to a new location by merging instead of simply showing rejects. * Display better diffs of versioned MQ patches because we can tell how the patched files have changed in the meantime. Here are the new rules this patch introduces. They are checked in this order: * If a patch currently has old, plain-style patch headers ("From:" and "Date:") do not change the style or add any new headers. * If the 'mq.plain' configuration setting is true, only plain-style headers will be used for all MQ patches. * qnew will initialize new patches with HG-style headers and fill in the "# Parent" header with the appropriate parent node. * qrefresh will refresh the "# Parent" header with the current parent of the current patch.
author Steve Losh <steve@stevelosh.com>
date Sun, 07 Feb 2010 10:47:54 -0500
parents b2310903c462
children f2618cacb485
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
created new head
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
use 'hg resolve' to retry unresolved file merges or 'hg update -C' to abandon
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>