<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
On 05/24/2018 11:38 AM, Augie Fackler wrote:<br>
<blockquote type="cite"
cite="mid:3EC75F74-74CF-47F6-8CD9-1898D1C0A5FD@durin42.com">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<br class="">
<div><br class="">
<blockquote type="cite" class="">
<div class="">On May 24, 2018, at 2:20 PM, Hollis Blanchard
<<a href="mailto:hollis_blanchard@mentor.com" class=""
moz-do-not-send="true">hollis_blanchard@mentor.com</a>>
wrote:</div>
<br class="Apple-interchange-newline">
<div class="">
<div text="#000000" bgcolor="#FFFFFF" class=""> On
05/23/2018 03:15 PM, Hollis Blanchard wrote:<br class="">
<blockquote type="cite"
cite="mid:0b2b1bd7-5707-99d3-078c-e26eeba9102a@mentor.com"
class=""><br class="">
2. Commit tags as children of the correct head. <br
class="">
<br class="">
I don't see a 'tag' cmdline option for this, though: the
parent commit is the parent of the working directory,
without an ability to override. That means I would need
to keep working directories for all these mirrors, and
since there are GBs of working directories and millions
of files, that would be significant overhead. <br
class="">
<br class="">
</blockquote>
<p class="">Looks like I can use 'hg debugsetparents' for
exactly this purpose:</p>
<blockquote class="">
<p class="">hg debugsetparents REV1 [REV2]<br class="">
</p>
<p class="">manually set the parents of the current
working directory<br class="">
<br class="">
This is useful for writing repository conversion
tools, but should be used<br class="">
with care. For example, neither the working
directory nor the dirstate is<br class="">
updated, so file status may be incorrect after
running this command.<br class="">
</p>
</blockquote>
<p class="">I hope that debug command sticks around… </p>
</div>
</div>
</blockquote>
<div>I’d be very surprised if it went away. I’d probably do what
you’re doing given the same constraints.</div>
<br>
</div>
</blockquote>
I've run into two complications:<br>
<br>
1. Bookmarks. If I apply a tag to a bookmarked changeset, I want the
bookmark to advance (don't I?). However, debugsetparents doesn't
activate the bookmark, so it doesn't advance. To work around that, I
could script all the bookmark manipulation by hand, but that's
awkward and becoming many python invocations...<br>
<br>
2. Importing one label become a series of stateful commands:
debugsetparents; tag; adjust bookmarks; maybe debugsetparents back.
If something interrupts that sequence (e.g. concurrent imports, or
even something external like 'kill'), then badness would result.<br>
<p><br>
</p>
<p>It seems like a 'tag --parent' option would solve all of these
problems. Is that reasonable, if someone submitted a decent patch
for it?<br>
</p>
<pre class="moz-signature" cols="72">Hollis Blanchard
Mentor Graphics Emulation Division</pre>
</body>
</html>