non-zero start revisions are only supported for single-directory clones?

Create issue
Issue #325 new
Fun Xue created an issue

I have a svn repository whose layout was not standard (with trunk/branches/tags) until revision 490. So, the question is how could I clone the repository with the standard layout?

If I use this command: {{{ hg clone --startrev 490 --layout standard }}} It fails with the message: {{{ abort: non-zero start revisions are only supported for single-directory clones. }}}

But, if I use the command without --startrev: {{{ hg clone --layout standard }}} It seems to hang at revision 490 forever with a message like this: {{{ [r490] sjfink: attempt to introduce tags and trunk pull [=====> ] 489/4291 2h31m }}}

So, how can I use hgsubversion to clone the svn repository with its tags/branches converted to mercurial's tags/branches even if the layout of the svn repository is not standard initially?

Comments (3)

  1. Augie Fackler repo owner

    (Reply via

    hgsubversion should walk the history of HEAD back and get only the standard-layout history in a smart way, so try just:

    hg clone

    It'll probably take a _LONG_ time to get the first revision (490), as it's probably going to have to backfill a ton of data from the server.

  2. Fun Xue reporter

    Yes, this command reports it uses "standard layout"!

    hg -v clone

    Also, yes, I left the command running overnight, it indeed went through r490. Not sure exactly how long it took, probably within the range of 4-12 hours.

    However, in fact, I don't need the old histories of the repository. I care only about the most recent changes right after when the last tag in the svn repository was introduced (revision 4027).

    And I knew I could clone the svn repo within 20 minutes with this command:

    hg clone --startrev 4027 --layout single

    But it uses single layout, and all tags/branches in the svn repo become a lot of separated directories in the cloned repo.

    So, the question is how can I enable "standard layout" for --startrev so I can clone the repo quickly AND get actual tags/branches?

    Thank you!

  3. Log in to comment