<div class="gmail_quote">On Thu, Jul 23, 2009 at 9:34 AM, Bruce Frederiksen <span dir="ltr">&lt;<a href="mailto:dangyogi@gmail.com">dangyogi@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
I have 3 branches under svn in addition to trunk.  I do regular merges between these branches and trunk, which svn now tracks in the svn:mergeinfo property.<br><br>I tried running &quot;hg convert&quot; but it doesn&#39;t track the svn merge info.  [...]<br>

<br>I tried extracting the merge info manually into a splicemap file to record the 2 parents for the merges done on svn.  This requires that I use the --datesort option, otherwise not all of the svn parents have been converted when the child is converted.  (I&#39;ve reported this as a bug).<br>

<br>I get an hg repo with somewhat fewer revisions.  A quick glance at the graph looks OK now.<br><br>Next, I find that files are missing on one of my branches.  Looking at the history in hg, the file is added and present under one rev (the rev where it was added under svn), but then disappears in the next rev (which was an svn merge rev, where I&#39;ve recorded multiple parents in the splicemap).<br>

<br>I don&#39;t know with the splicemap, whether the order of the two parents is important somehow?  (If so, this isn&#39;t documented).<br></blockquote></div><br>Well, I tried reversing the order of the two parents for each merge in the splicemap, and this seems to fix the problem of the missing file!<br>
<br>So the correct order is to put the parent from the same branch first, and the parent that was merged in from the other branch second.  For example:<br><br>svn:[...]/trunk@200 svn:[...]/trunk@196,svn:[...]/branches/release_1.0@199<br>
<br>to show that rev 199 from the release_1.0 branch was merged into trunk rev 196, producing trunk rev 200.<br><br>This should be documented somewhere!  The most obvious place would be in &#39;hg help convert&#39;?<br><br>
BTW, --datesort is still required.<br><br>-Bruce<br>