13 Jan 2019 18:06
TAGS: svn2github
Almost exactly one year ago, I was planning to spend some more time on svn2github, (see svn2github: Next Steps).
Unfortunately, I never delivered on that promise, and to put it as directly as I can, I need to close the project altogether. (Please continue reading if you're interested in doing a similar thing yourself!)
History
svn2github has been up since 2011/2012 (based on whois data). That's been 7 years already! What started a little side project, stayed exactly that. I kept it running, because I've seen people use it. I'm extremely happy I could help, but this time has come to an end.
I created svn2github back in 2011 to help my team at Allegro deal with SVN dependencies to our Git project. We wanted to use Git for our PHP application and Git submodules for our dependencies, but at that point in time many mainstream projects were still using SVN. Then out of a weekend of quick Python coding, svn2github was born!
7 years later and most programmers don't know what SVN is anymore :-). Most projects are either hosted in Git or Mercurial with big corporations backing them (Microsoft, Facebook). Also it looks like git submodules didn't catch on and language-specific dependency management is used instead (npm for JS, composer for PHP, etc). I don't think anyone will miss svn2github, but if you will, please leave me a comment, I will gladly share some information on how to build a service like svn2github. Let me remind you it was born in one weekend!
Stats
Through the 7 years of operation, its users mirrored about 1300+ SVN repositories to GitHub. My single server running the project was down a few times due to not scaling properly when mirroring HUGE repos (that I needed to disable at some point to continue operating). After removing the HUGE repos, the repos mirrored to GitHub currently take about 200GB.
Plan forward
13 January 2019: This note posted
20 January 2019: Disable automatically updating the repos (can still add more repos, but this will be a one-time import operation)
27 January 2019: Disable adding new repos
I'm not going to remove repos from GitHub (unless someone requests it due to legal issues, etc).
Next steps
The biggest challenge running the project was making sure all of the 1,000+ repos are actually mirrored. If you have just one or two repos to look after, your job is much easier, in fact I created a little helper script to help you do just that. Please check the simplified "just one repo" host-yourself version of svn2github at this link: https://github.com/gabrys/svn2github
Thank you!
Thank you all for using the service. If you want to contact me, please leave me a direct message on Wikidot, or send me an email, or leave a comment.
It'll be sad to see this great service go. Many of these longstanding projects (such as DOSBox) still seem to persist with SVN/Sourceforge, and svn2github seems to serve as a kind of hub for them all, serving in some cases as the closest thing to an official repo..
I've had a go with git-svn or similar before, but I seemed to get different commit hashes from yours, which was inconvenient when forking/merging.
If there's a way to have a "canonical" setup that can keep continuity with what you have done currently, that would be the next best thing, I think.
Thank you for your kind words and sorry for the disruption of service.
It is true each time you issue git svn init it creates an incompatible clone.
What is needed to create one that's compatible with the previous one is the UUID that's assigned to the existing one using this:
UUID for dosbox is ed541006-0bf7-43e9-8c4d-6fc63c346d47, SVN_URL is http://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk
I will test that if that works, I'll open another issue in the repos with instructions on how to clone the repo so that its compatible with the GitHub clone.
I imagine one could set up a simple service/script that keeps the repo updated.
Piotr Gabryjeluk
visit my blog
Nooo, this has been extreamly useful for me!!! :( Thank you for your efforts.
Thanks for hosting all of this. It was a big gift to the community. It will be missed.
Yes, I will miss it too (thanks for sharing the tool to do it), especially when I run into strange "Access is denied" issues while trying to update or import doublecmd. I made an issue on github with logs.
Okay I did it with:
and then just doing
updates git master, with new svn revisions only (since last time).
I made a branch for my fork development, and now I don't even see why I'd use svn2github.
Been using svn2github for a while, mostly because of Virtualbox still being on SVN. I will miss your service x)
Would it be possible to have a noisier message in the "It had been cloned by http : // svn2github.com / , but the service was since closed." area that appears on the top of the page with the top directory?
Some users of cloned projects may not notice at first sight the important part of your message: that the service is closed.
Perhaps: "but *CAUTION*: the service was since closed" would be better?
Assuming the main issue here was the overhead on the server side, I think it ought to be possible to get Travis CI to do this, see for example here (no proper links as I'm not allowed):
gist.github(dot)com/willprice/e07efd73fb7f13f917ea
And a cron job to actually make it happen:
docs.travis-ci(dot)com/user/cron-jobs/
Just a thought.
Post preview:
Close preview