Bride of the reposturgeon!

Another big repository conversion – the Hercules project – brings with it some new bug fixes and features, so reposurgeon 1.3 has shipped.

The cvspreen command has been renamed to cvslift. cvslift now generates real tag objects corresponding to cvs2svn-generated tags. Comments that read ‘*** empty log message ***’ are no longer coalesced (cvs2svn generates these). There are various bug fixes, including for a crash bug in rebuild after expunge. The default set of files to be preserved is now set properly in a repository-type-dependent manner.

I’ve moved the code to Python 3 (but don’t worry as it will run in 2.7.2 under the -3 option). No real reason except that it was about time for me to get familiar with 2to3 and the forward-porting process.

The general offer to convert your project’s repo is still open. It may not be for long. however; the Hercules conversion turned up fewer bugs and deficiencies than my last one (as expected) and the next will probably turn up fewer still.


  1. Hi esr, extremely sorry for this off-topic (you can delete it if you wish), but I am very interested in learning Haskell and was wondering if you had any more updates from your explorations into Haskell and functional programming. I was very confused on reading most tutorials on Haskell. They go from the trivial to the un-readable very quickly (I got stuck from the point of higher order functions and types). If you could write an article on that, it would be really great.

    (I’m still learning Python, but I can now write decently complex programs in Python, but Haskell is a whole new universe).

  2. Don’t forget “The reposturgeon strikes back”, which is the best of the original reposturgeon trilogy.

    The whole dialog where svn is dangling from an unsupported branch and cvs says “I’m your father. Search your header files. You know it to be true…” is one of the biggest reveals in all of Open Source!

  3. @Ken Burnside:

    Stop! We are getting perilously close to embracing the dark side of the Farce! We must end this before it goes farther, before others are harmed! I for one shall not contribute further to causing menacing people to walk about in black helmets, robosuits, and capes (except perhaps this weekend, and then only if they are rather small, young, and asking for candy).

  4. @reader:

    So you can dish it out, but you can’t take it, huh?

    Anyway, in simpler times it would just be “The reposturgeon rides again!”

  5. I’m going to grab this and try my luck at fixing the HelenOS trunk moves myself, just as a way to explore the tool. The CryoPID repository had similar issues when I converted it from SVN to HG, but resulted in one branch per trunk move instead of an unresolved head per trunk move. I still can’t figure out why they turned out differently.

    Reposurgeon looks like it might lead me to finally solving that mystery, while gaining a more in depth understanding of how Mercurial actually works. It should be a fun and relaxing weekend project.

Leave a comment

Your email address will not be published.