Ever wanted to use SVN to grab code from GitHub? Well, now you can, and just like that GitHub is the world's biggest Subversion host. Here's a few things you might like to do with it:
- Use any GitHub repository as an SVN external.
- Use TortoiseSVN or your favorite SVN tool to view Git repositories.
- Use existing build tools or continuous integrations systems that only work with SVN.
How's it work? Just checkout your project from svn.github.com:
svn checkout https://svn.github.com/schacon/simplegit.git
Give it a shot! For now it's only read-only, but who knows what will happen in the future!
Update: I'd just like to reiterate that even though we had some fun with the timing of this announcement that it ACTUALLY WORKS!
Thu Apr 01 01:55:11 -0700 2010
Awesome ! Now I can go play with SVN while fishing.
Thu Apr 01 01:59:56 -0700 2010
woah, it really works ..... crazy
Thu Apr 01 02:03:18 -0700 2010
Looks like it isn't an april fool :S?
Great work, but I'll rather wait another day to see if it isn't a one-time stunt :).
Thu Apr 01 02:04:43 -0700 2010
Oh, nooooo!
Thu Apr 01 02:04:54 -0700 2010
You win one internet.
Thu Apr 01 02:06:41 -0700 2010
I guess SVNHub and Back to Subversion need updating...
This is actually pretty useful. Maybe. Not to me, but for some weird people who have Subversion addictions.
Thu Apr 01 02:16:15 -0700 2010
april fools?
Thu Apr 01 02:19:44 -0700 2010
What about Bazaar? It seems https://bitbucket.org/ start supporting Bazaar today!
Thu Apr 01 02:27:47 -0700 2010
if this is a aprils fool, it is a good one.
Thu Apr 01 02:34:40 -0700 2010
plz rename github to s(ubversion)h(igh-available)i(nternet)t(rash)-hub ;)
Thu Apr 01 02:42:58 -0700 2010
it's a very working april fools if it's a joke, either way, awesome work
Thu Apr 01 03:09:20 -0700 2010
It's a joke !!!!!!!!!!
Thu Apr 01 03:10:46 -0700 2010
I think the fact that it works makes this the best April Fools ever.
Thu Apr 01 03:22:09 -0700 2010
The other way around would be even better:
git clone https://mirror.github.com/https://svn.github.com/rails/rails
Thu Apr 01 03:29:16 -0700 2010
Aprils fool, huh? :P
Thu Apr 01 03:35:57 -0700 2010
Yeah, but we already have that with git-svn, peritus
Thu Apr 01 03:41:41 -0700 2010
Oh no! Now I still need to upgrade from CVS to SVN!
Thu Apr 01 03:52:45 -0700 2010
It's not a joke, I just checked out one of my own public projects too.
Thu Apr 01 03:53:21 -0700 2010
Peritus, the other way around works natively: git svn clone https://svn.github.com/rails/rails
Thu Apr 01 03:55:18 -0700 2010
When will you have CVS support? I need CVS support! What I am going to do with this 1500-pages book on CVS otherwise? I need to put that skill to use. I need CVS. Please!
Thu Apr 01 04:45:13 -0700 2010
Many people still waiting for CVS support in GitHub.
Thu Apr 01 05:08:23 -0700 2010
Awesome, now I can use git-svn to treat my Github repos as SVN remotely and git locally :D Just what I needed!
Thu Apr 01 05:21:09 -0700 2010
There is a bug. In one of my repositories, there is a file with accented characters and the checkout tries to quote the path but ends with a funny mess.
The project : https://github.com/plug/plugfr.org/
The file :
https://github.com/plug/plugfr.org/tree/master/pub/ -> "Assemblé Générale du PLUG_2500_v02.pdf"
The path created by the SVN checkout :
plugfr.org/"pub/Assemble\314\201 Ge\314\201ne\314\201rale du PLUG_2500_v02.pdf"
Thu Apr 01 05:21:28 -0700 2010
lol
Thu Apr 01 05:23:11 -0700 2010
LOL to that
Thu Apr 01 05:28:43 -0700 2010
Thank god! Git users branch too much, someone needed to make it harder!
Thu Apr 01 05:34:25 -0700 2010
holy crap, that's awesome. a joke that is not really a joke, but is very joke like funny. genius.
Thu Apr 01 05:48:45 -0700 2010
This is like OSX 10.9 adding support for Windows 2 programs.
Thu Apr 01 06:24:05 -0700 2010
Nice April fool's joke... that actually works. Awesome guys!
Thu Apr 01 06:54:33 -0700 2010
So when is VSS support coming? :)
Thu Apr 01 07:02:40 -0700 2010
Oh my... now that's pure win ;)
Thu Apr 01 07:12:50 -0700 2010
Definitely surprised that it looks like this actually works. Nice one.
Thu Apr 01 07:29:27 -0700 2010
As much as this is likely an april fools joke... it's great for svn:externals...
Thu Apr 01 07:35:32 -0700 2010
@jlecour - sorry, svn blows up with malformed XML, it's a bit of a crap shoot to figure out how to do some strangely encoded things. I'll try to get it fixed soon.
@dshafik - no joke. This is just the first step - full write support is just around the corner.
Thu Apr 01 07:51:24 -0700 2010
This is brilliant! Not the svn part but the fact that it works is just hilarious!
Thu Apr 01 07:54:00 -0700 2010
hdima asked earlier about bzr (Bazaar) VCS. Well hdmia, heres how to do that locally working_together-git_and_bzr
Yeah, bzr rocks too guys!
Thu Apr 01 08:28:34 -0700 2010
April srs!
Thu Apr 01 08:55:07 -0700 2010
Nice!
Thu Apr 01 08:56:41 -0700 2010
Awesome. Still seems to be a little rough around the edges -- if I checkout nelhage/barnowl.git, 'svn log' errors out about 10 revs back, and I don't seem to be able to di anything with any earlier revisions.
Thu Apr 01 09:07:20 -0700 2010
This just occurred to me: Due to the nature of git's naming objects by content, I wonder if it's possible to recover an exact copy of the original git repository by using
git-svn
on the subversion export, at least for some simple cases (i.e. no branching, commiter always the same as author).I doubt there's a practical reason to want to do this, but it would be a testament to the fidelity of the export if so.
Thu Apr 01 09:07:47 -0700 2010
I can die happy now.
Thu Apr 01 09:28:55 -0700 2010
awesome. my legacy setup rejoices!
Thu Apr 01 09:47:01 -0700 2010
Haha, I so gonna drop git now.
Thu Apr 01 10:26:32 -0700 2010
I know it's a joke, but I love that it actually works.
Thu Apr 01 10:39:54 -0700 2010
git is too hard, let's go home.
Thu Apr 01 11:46:36 -0700 2010
I hate git! Finally I'll have a good place to play with my precious subversion! Long live to subversionHub! #joke #aprilfools
Thu Apr 01 12:55:25 -0700 2010
Genius. I can finally use GitHub as a serious developer's tool and not just a playground—glad you've seen the light and acknowledge SVN's unquestionable superiority. ;)
Thu Apr 01 13:11:09 -0700 2010
I can't copy the perl repository and
svn log
on my hailo repository fails.Thu Apr 01 13:38:06 -0700 2010
I call April's fool
Thu Apr 01 13:56:05 -0700 2010
Well, I guess I'll finally start PAYING for a plan now...
Thu Apr 01 13:56:22 -0700 2010
...APRIL FOOLS
Thu Apr 01 16:07:24 -0700 2010
haha cool.. must have been lot of work
Thu Apr 01 18:26:14 -0700 2010
Someone from the Blogger team: "Yeah, but when will they have FTP support?"
Thu Apr 01 21:11:13 -0700 2010
Still no SCCS
Fri Apr 02 01:15:40 -0700 2010
Really nice feature. Not so useful for us, but definitely handy for non-git folks.
@schacon: So where is the code of gitsucka? :)
Fri Apr 02 05:14:10 -0700 2010
How about branches?
Fri Apr 02 05:22:53 -0700 2010
When can we expect Mercurial support? :-)
Fri Apr 02 05:55:17 -0700 2010
The only way I can stand to use svn is with git-svn. Lets see if it works:
git svn clone https://svn.github.com/schacon/simplegit.git
Initialized empty Git repository in ...simplegit.git/.git/
Oh good! I can now enjoy the perversion of git -> svn -> git.
Fri Apr 02 06:41:52 -0700 2010
I don't see how a fully working and incredibly useful feature is an April Fools joke.
Fri Apr 02 07:25:20 -0700 2010
It's a double joke, first they trick people into thinking it's a joke, then the joke turns out to be a joke.
Does anyone have the commands for updating an old svn repo with the current git repo?
Fri Apr 02 07:28:20 -0700 2010
I am so confused :-)
Fri Apr 02 08:14:32 -0700 2010
I got an error when I checkout our project:
https://svn.github.com/mosa/MOSA-Project.git
Error: REPORT of '/mosa/MOSA-Project.git/!svn/vcc/default': 200 OK (https://svn.github.com)
Fri Apr 02 09:05:41 -0700 2010
April fool. :=)
Fri Apr 02 10:53:28 -0700 2010
oh that's just mean :-(
April fools is all about jokes not making people gullible... boo hoo...
Now go off and build us something wonderful like Versions to manage our repo's, so forgive you after that.
Enjoy easter guys ;-)
Fri Apr 02 10:53:40 -0700 2010
...and gals ;-)
Fri Apr 02 15:04:25 -0700 2010
We are fooled by the april fool —
The svn read-only access seems to be a reality...
Sat Apr 03 04:42:15 -0700 2010
It is not an april fool joke, I tested the sample repository above in Subclipse and it worked!
Sat Apr 03 12:47:53 -0700 2010
This is a real feature. This is an April Fool's joke. The two are not mutually exclusive.
Sat Apr 03 15:11:01 -0700 2010
oh no.
Sat Apr 03 17:22:13 -0700 2010
+1. The best April Fools "jokes" are announcements like this that actually turn out to be true, much like how Gmail turned out to be real several years ago.
Sun Apr 04 12:30:54 -0700 2010
Now, read/write svn access available from git.git would be a real world-changer. Even if it allowed only single-branch operations without merging, this would be the point where the tortoise-svn users don't need to resist switching to git anymore. Gosh, where do I get a spec of svn's http protocol?
Mon Apr 05 13:49:44 -0700 2010
Sweet. Q: can one peg the svn checkout to a git tag/branch?
Tue Apr 06 08:47:40 -0700 2010
It couldn't connect to my private repository. URL not found error.
Tue Apr 06 14:09:35 -0700 2010
IDK if its a joke, but still GIT is GIT and should stay that way.
It makes it more pro than the SVN...
SVN = Small Projects
GIT = Huge and Professional ones.
Tue Apr 06 15:27:09 -0700 2010
Can one see the code to pull this stunt off? A companion to git-cvsserver would be awfully nice...
Wed Apr 07 04:54:42 -0700 2010
gooooood
Wed Apr 07 06:55:40 -0700 2010
such an amazing idea! I'm looking forward writing support.
Wed Apr 07 09:28:42 -0700 2010
Works fine for me.
Thank you!
Wed Apr 07 14:59:09 -0700 2010
Great great
Thu Apr 08 00:49:16 -0700 2010
Weird. Guess it isn't an april fools joke. But what's the point of all this?
Thu Apr 08 06:47:52 -0700 2010
lol
Thu Apr 08 08:48:48 -0700 2010
What's the right place to report bugs? I've a file that turns into seemingly random binary data but looks fine inside git.
Thu Apr 08 13:20:39 -0700 2010
That might be useful
however
- it seems it is not possible to checkout older revision (except the HEAD) - trying the browse remotely with TortoiseSVN does not work - trying to see the log remotely with TortoiseSVN does not work neither - and I tried on a significant (bigger than sample repo), and the checkout reported an ERROR (similar to what was already reported in previous comments)
So, this is a nice idea, good potential .. but I'll wait for next versions to see if this gets better. But right, this is really a good idea.
Sat Apr 10 06:49:23 -0700 2010
very good.
any chance we can have auto tracking of remote svn repos any time? that's still my number one missing feature on github.
the svn import is good, but is promptly out of date so is useless for tracking an upstream project that is sticking to svn (there can be many reasons, build systems etc).
pretty please?
Sat Apr 10 06:54:35 -0700 2010
@timabell - probably not. we're most likely going to concentrate on adding more SVN features, like write support to GitHub so you can just switch the project over to github rather than have to have it mirrored.
Sun Apr 11 08:42:17 -0700 2010
Hey Scott-
I love this, but I'm still shooting myself in the foot a little bit. I've got a project that uses git submodules, which point to other repos on github. What's great is that each of these git repos now has its own svn mirror. It would be great if the svn mirror of my project could translate its github submodules into github svn externals.
Possible, impossible? I just want to use github, but offer svn for those who might still want it.
Great work, thanks!
Sun Apr 11 18:41:08 -0700 2010
Requesting full features (not just read only)
Mon Apr 12 07:16:39 -0700 2010
Adding SVN support for writing would be an amazing next step, even though github was built on git, having full svn support couldn't hurt anyone, and for those who haven't switched to git for everything, they could keep using svn on a git system until they learn.
Mon Apr 12 19:49:46 -0700 2010
Very very good, very crazy...
Thu Apr 15 23:53:47 -0700 2010
well, I think svn is more simple. I love it very much
Fri Apr 16 01:15:05 -0700 2010
svn write access will be awesome!
This will finally allow us to move all our projects to github... and our designers can continue to use the simple svn workflow and UI they are used to, while we developers can use git for coding and deployment.
We'll likely need to upgrade our plan to LARGE or MEGA then. Good selling point :-)
Keep up the great work.
Fri Apr 16 09:16:30 -0700 2010
I can checkout open projects (like your sample schacon project) but can't get it to work with my own password-protected projects. I'm using the same username and password that I'm using to login here.
I've tried with both TortoiseSVN and Subclipse.
Is there something I need to do to get it working?
Fri Apr 16 13:03:27 -0700 2010
Thank you. Thank you! THANK YOU!
This is awesome. Thank you!
Fri Apr 16 13:18:46 -0700 2010
Maybe I was a little premature with my praise. I just tried it and it's not working (even on the repository you provided in your example.)
Fri Apr 16 13:33:07 -0700 2010
So it looks like you can't browse the repo with TortoiseSVN, but you can do direct checkouts.
Sat Apr 17 01:28:39 -0700 2010
Agreed with weaverryan, would be awesome if read-only svn version of git repositories would expose and resolve their public submodules.
Sun Apr 18 13:16:20 -0700 2010
Cool - which of the SVN APIs are working? "checkout" worked, but "ls" didn't.
Tue Apr 20 14:31:33 -0700 2010
Git rocks!
Tue Apr 20 14:55:36 -0700 2010
I second @tehmaze - who even uses svn? :-) Give us mercurial!!! :-)
Wed Apr 21 04:59:47 -0700 2010
Works like charm.
Great job
Wed Apr 21 09:03:53 -0700 2010
Is this available for private projects?
Wed Apr 21 10:41:06 -0700 2010
This is actually very useful to me since I have a few projects that use svn and now I can import git dependencies directly using svn:externals. However, how can I make it use a specific branch, tag or rev?
Fri Apr 23 13:31:40 -0700 2010
so good, thank a lot !
when dead we can commit directly ?
Fri Apr 23 13:34:09 -0700 2010
@jcaspes - working on it right now. trying to make really sure that SVN doesn't do anything stupid with your code.
Sat Apr 24 00:43:56 -0700 2010
It's really useful! Esp. for ones who behind firewalls that block git but svn!
Sat Apr 24 16:08:14 -0700 2010
cool story, bro
Mon Apr 26 22:56:39 -0700 2010
This doesnt work with Hudson CI, I think it's related to the fact if you browse the URL from a web browser it returns 'incomplete headers'. Hudson CI will just hang and hang trying to checkout the code and eventually returns and error something like this:
ERROR: Failed to check out https://svn.github.com/doctrine/doctrine2.git
org.tmatesoft.svn.core.SVNException: svn: can not read HTTP status line
svn: PROPFIND request failed on '/doctrine/doctrine2.git'
Thu Apr 29 02:26:37 -0700 2010
Best idea ever. I have a bunch of my open source projects on github, however I moved them all back to SVN (using springloops + cornerstone) as I just found git wayyy too difficult to use.
Is the goal to eventually get a full featured SVN client going, so checkout, export, browse, commit, log?
Fri Apr 30 23:32:35 -0700 2010
I love git, and thanks to this I'm now able to use Github with a tool that can only read from SVN! Thanks!
Sat May 01 07:34:11 -0700 2010
Unfortunately this feature don't works if you try to uses any project other than the sample one.
Sat May 01 23:12:10 -0700 2010
How can I only checkout some directories of the project?
Sat May 08 09:40:56 -0700 2010
I'm also trying to use eclipse on a cakephp project and I get the same error as @drak
Fri May 21 12:46:20 -0700 2010
I'm attempting to use this to deploy an update to TextDrive shared hosting. Get the error
svn: Svndiff has invalid header
. Any ideas?Wed May 26 13:47:31 -0700 2010
I'm getting a similar problem, andyinabox. I'm assuming it's an incompatibility with older versions of svn. I was seeing it with version 1.2.3. Works fine with version 1.4.4.