<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>