I’ve just shipped reposurgeon 2.0, a power tool for editing and interconverting version-control repositories. This is a major release, adding the capability to read Subversion dump files directly.
I’ve blogged about this project before, highlights at 1 2 3 4 5 6 7 8.
Development had gotten stalled for six months because of a really insidious bug in the handling of Subversion dumps with certain odd sorts of multibranch histories. But recently one Greg Hudson sent me a performance-enhancement patch that enabled me to get rid of an O(n**2) lookup function deep in the code – and, as I had suspected since it first popped up, the bug was in that lookup function. (No, I still don’t know exactly where – it was something subtle.)
I’m shipping this now, before my previous target of when the NUT project guys sign off on their repo conversion, because I want people to stop using the older versions. 99 out of 100 times they would be OK, but that 100th time could be nasty.
Awesome; I’ve updated the Arch package already.
@Mike and thank you for maintaining that! (Signed: your user.)
OT: Android Q3 75% market share.
Networking effects indeed.
I guess that was Subversion misdesign decision to follow Perforce model of branching, i.e. branching by copying, which conflates projects / repositories + branches + project directory structure in one filesystem hierarchy namespace that was the ultimate source of the problem?
>I guess that was Subversion misdesign decision to follow Perforce model of branching, i.e. branching by copying, which conflates projects / repositories + branches + project directory structure in one filesystem hierarchy namespace that was the ultimate source of the problem?
Yes, I think so. There are no end of problems near branch merges in Subversion, and not just under my tools either.
I wonder how you can swim for so long so deep in Subversion’s innards without snapping? Your mental constitution can’t possibly be human. I, for one, would not trust myself with Subversion and a small arsenal at my disposal. Kudos to you sir, kudos.
>I wonder how you can swim for so long so deep in Subversion’s innards without snapping?
And you don’t know the half of it. In order to do the Subversion extractor, I ended up interrogating the Subversion devs at length and writing more exact and detailed documentation of the stream file format than had ever existed before. It’s part of the Subversion distribution now: https://svn.apache.org/repos/asf/subversion/trunk/notes/dump-load-format.txt