Son of the reposturgeon!

Somebody said “Release early, release often.” once…and, just a day after reposurgeon 1.5, reposurgeon 1.6 is out, with a bug fix and a tasty new feature.

The bug fix should prevent Python 3.2 from blowing up on the code. More significant is that I found a way to eliminate a fiddly step in my migration guide.

git-svn creates a local repository that is arranged for use as a live gateway to the remote Subversion repo. So it preserves information about the mapping between git commits and Subversion commits. But it also keeps all the branches as remotes, not what you want for a fully-converted local git repo.

Because of this, there are at least two programs named svn2git floating around that are wrappers around git-svn, existing mainly to move those branches. I give directions for doing this by hand, but it’s an error-prone step that humans really shouldn’t do.

Now they don’t have to. reposurgeon’s 1.6 gitsvnparse command – which you’d run in this situation anyway to build the map of Subversion commits – does it automatically. This is safe, because the operation is information-preserving and idempotent.

In a future release I’ll probably do something about converting the local lightweight tags this produces to real tag objects.

Fear the reposturgeon!

4 thoughts on “Son of the reposturgeon!

  1. I neither am a target user nor have strong opinions about the format of action stamps, but I’m becoming rather a fan of your headlines!

  2. Sorry to burst your bubble about the bug fix, but the try..except catch isn’t working either. Though looking into it, I’m not sure such complications are needed, Python 2.7 seems to accept the new style of syntax anyway.

  3. “Somebody said “Release early, release often.” once…”

    Hey…he wasn’t referring to the daily build, though….

    If you release that often, you’re saying, “Hello world! Here’s our daily bug fix! More tomorrow!”.

    Facetiously yours,
    LS

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">