This may be a bit late in the game, but might this b any help?

Ulrich Spörlein uqs at freebsd.org
Tue Dec 22 09:00:45 UTC 2020


On Mon, 2020-12-21 at 13:27:02 -0800, Chris wrote:
>Maybe others have already examined this[1]. I forgot I had a copy.
>
>eposurgeon - a repository surgeon
>
>reposurgeon enables risky operations that version-control systems don't
>want to let you do, such as (a) editing past comments and metadata,
>(b) excising commits, (c) coalescing commits, and (d) removing files
>and subtrees from repo history. The original motivation for
>reposurgeon was to clean up artifacts created by repository
>conversions.
>
>reposurgeon is also useful for scripting very high-quality conversions
>from Subversion.  It is better than git-svn at tag lifting,
>automatically cleaning up cvs2svn conversion artifacts, dealing with
>nonstandard repository layouts, recognizing branch merges, handling
>mixed-branch commits, and generally at coping with Subversion's many
>odd corner cases.  Normally Subversion repos should be analyzed at a
>rate of upwards of ten thousand commits per minute.
>
>repodiffer is a program that reports differences between repository
>histories. It uses a diff(1)-like algorithm to identify spans of
>identical revisions, and to pick out revisions that have been
>changed or deleted or inserted. It may be useful for comparing the
>output of different repository-conversion tools in detail.
>
>Another auxiliary program, repopuller, assists in mirroring Subversion
>repositories.

Thanks, but that is a bit late, yeah. I've been working on the converter 
for the last 10 years ...

I had another look at reposurgeon about a year ago and couldn't make 
heads or tails of it. A straightforward conversion worked, but 
re-produced all the cvs2svn non-sense, so I figure an elaborate ruleset 
would've been required anyway.

Take a look at 
https://github.com/freebsd/git_conv/blob/master/freebsd-base.rules to 
get a sense of what is needed.

Cheers
Uli


More information about the freebsd-git mailing list