Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Worth noting that ESR has spent a huge amount of time on the perfect svn-to-git transition tool.


Can you recommend which tool they used? Last time I looked (c.2018), the tools I found were not always reliable, or available for platforms like Windows.

I'd love to be able to use a dedicated transition tool of the quality FreeBSD would like and need.


> Can you recommend which tool they used?

From [0]:

> The software used for the conversion is a slightly modified fork of svn2git, as used by the KDE project.

> It requires a rules file to map svn trees and/or revisions to git branches or tags. The current rules don't make use of tags but simply store them as branches.

> See the project branch at http://svn.freebsd.org/base/user/uqs/git_conv/ for extra patches, rules and the scripts used to do these conversions.

--

[0]: https://wiki.freebsd.org/GitWorkflow


reposurgeon's home page is here: http://www.catb.org/~esr/reposurgeon/repository-editing.html

Haven't used it myself though; I just noticed that ESR has spent considerable effort in creating reposurgeon.


http://www.catb.org/~esr/reposurgeon/repository-editing.html... is a wonderful read. You are right, ESR has absolutely "spent considerable effort".


Thankyou!


Years ago I used git-svn for this purpose. Didn't have any issues.


> ... some help pages on the web are still recommending git-svn as a conversion tool for migrating Subversion repositories to git. DO NOT DO THIS. You may damage your history badly if you do. -- http://esr.ibiblio.org/?p=6778 (2015-05-28)


ESR is a little grandiose. Note he doesn't give much detail, just say that it will bite you and you should listen to his assertions because he has done it more than anyone in the world.


You're not exactly wrong, but the test suite for Reposurgeon has a number of test cases derived from malformations caused by other tools, or made worse by other tools. The real problem here is that they were gathered over a decade, and nobody (myself included) really documented them very well. They all made sense when we committed them…

Also, most conversion tools will handle the most common cases OK, and only generate garbage in oddball situations. They don't print out a warning when the oddball situations happen, so unless you go back and look at every commit you'll never notice the damage. Most of those situations only happen because of accidents, like creating a Subversion branch the wrong way, then deleting it and making it the correct way. Or adding files to a CVS repository by copying ,v files from a different CVS repository.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: