As one of the GitHub cofounders and the brainchild of this particular feature, I want to let everyone know that this is maybe the funniest thing I've ever done.
We released this feature and published the announcing blog post, on April Fool's Day, 2010. I remember demoing it to the other GitHub guys and saying how funny it would be if we made this an April Fool's day post as though it was a big stupid joke but then it actually completely worked on every repository we had and we all thought it would be great. Until nobody believed us. Which in hindsight we should have seen coming, since that was the joke, but nobody actually tried it. Then people tried it and it worked and they thought it was a trick or something.
It was really helpful for people migrating from legacy SVN based systems to us (CI and stuff) but I'm surprised to some degree that it's still running 13 years later when nobody is really facing that issue anymore. And I'm still undecided if the joke was worth the massive confusion it caused. But if I'm pressed, I would say that I would 100% release it on April Fool's Day again.
As the PM who ended up finally killing it, I (on behalf of the team) thank you for your "joke" that wasn't really a joke. It did help some customers who had legacy SVN workloads land on GitHub.
I wanted to announce this on April Fool's Day, but just couldn't make the timing work.
I don't read the news on April 1 because it got old decades ago. Sunsetting a service, rather than killing it outright, is a kindness. Making the announcement on April 1 means people will miss it or ignore it. Uncool.
“A few support calls” = At least a few companies who have unnecessarily faced major enough issues that they worked through internal investigations of many different pieces in the stack and then eventually decided to reach out to external support for GitHub, potentially having reached out to other vendors’s support because some PM thought it would be “funny”.
I don’t actually think it would cause any problems personally, but I’m astonished at the flip dismissal of a “few support calls”.
i'm still angry at mozilla and google for deprecating that, being able to set up a simple anonymous FTP server and send normies a link to it that they can open in their browsers was really convenient. Now if I want to use FTP i have to explain to them that they have to copy it into the windows file explorer or download filezilla.
FTP is a pretty clunky protocol: it's round-trip heavy, not friendly to NAT on the client-side when you don't use PASV, not friendly to firewalls on the server-side when you do. I'm not sure what benefits there are to it these days.
Python http.server doesn't handle concurrent requests, so it works pretty well until it doesn't. Example don't use it to serve an ISO to iLO/iDRAC, boot will fail.
I didn't even use it all that often but, yes, I also feel like this was useful to have. Every now and again I come across an ftp site that I now have to copy into a dedicated program instead.
Not just FTP is being deprecated, but WebDAV (DeltaV) is deeply based on Apache's mod_dav_svn subversion integration as well. WebDAV maps over regular HTTP GET/POST routes to provide quite sophisticated versioning of web resources at the same endpoint using just additional HTTP verbs (though also is/was often routed at URLs with a special prefix).
I wonder how much PHP source code is publically reachable out on the Internet because people would do this without realizing that modphp wouldn't treat it like a PHP file anymore, so an HTTP request to it would cause it to dump the file's source code.
I think April 1st should definitely be "Crazy-but-real announcement day". It'll take some attention off the unfunnier-every-year "jokes" which have turned a pleasant and fun yearly occasion into the internet being unusable for ~36 hours.
Lee Valley tools traditionally “announces” a new fake tool on April first, but will sell it if there’s enough interest. Most have been discontinued by now, but one is still available for sale: a blank tape measure so you can make up your own dimensions.
BBC usually does a “stories which sound like april 1st jokes, but are actually true” compilation on that day. I always found it funnier than the real april 1st jokes. Also it kinda shows of their fact checking and news gathering muscles, that they are able to pull the crazy-but-true out of the sea of general crazyness.
There is nothing funny or lighthearted about modern-day Internet April Fools. It is too ingrained in ‘social media marketing’ culture at this point. What used to be ‘people having fun’ is now a temporal dumping ground for a bunch of unfunny forced jokes pumped out by soulless marketing teams as some sort of brand awareness exercise.
The only redeeming thing about that day is I get to have an excuse to not be reachable for a day and can be disconnected for a while. Hopefully my loved ones don't end up in the hospital on bad timing.
> #6 Insert the TiSP installation CD and run the setup utility to install the Google Toolbar (required) and the rest of the TiSP software, which will automatically configure your computer's network settings.
I recall needing/wanting to clone only a specific folder from a repo and the best solution being to use SVN.
I'm pretty sure I used that trick a few times and even shared it a couple of times. Don't know if it's possible with git now, but that was how I discovered this feature and it seemed eminently useful to me at the time!
A sparse checkout isn't quite the same thing. It still has to clone the whole repository, it just only puts part of it in the working tree. With svn, you don't have to pull down anything for other directories. More recently, you can combine a sparse checkout with partial clone to get more similar functionality, but it isn't exactly simple.
That is yet a different concept, where it doesn't include the full history, but without a partial clone it still pulls the entire tree for the head commit.
A few different SVN -> Git migration tools failed to migrate a large legacy repo at a previous employer. I thought I was doomed to be stuck on subversion forever.
It was GitHub's migration that finally worked and got us migrated across.
Funny we were only svn because I had previously been part of an effort to migrate them to svn when I'd joined a few years prior because before that they were using an old TFS system where developers would block each other by checking out files which would lock them for the whole repo.
I knew that switching immediately to git would have been too much of a culture shock so I got them over to a CVS where people could at least work independently first. ( I also have a soft spot for svn anyway, I think for many small teams it works just as well as git with fewer opportunities to shoot oneself in the foot. )
And I just want you to know that I know of SVN's shortcomings but I do like it's comprehensibility very much, and though I use git it has caused me a lot of unnecessary pain. FYI.
I've always been really curious how this works - from what I remember back in my subversion days, both sides have things which are very hard to represent in one another.
I imagine some of those are overcome by enforcing heuristics (e.g. the branches/tags/trunk hierarchy is mandatory and has business logic run based on it), but I'm really curious if there was ever a more detailed writeup on how it works?
> As one of the GitHub cofounders and the brainchild of this particular feature, I want to let everyone know that this is maybe the funniest thing I've ever done.
Obviously it's unimportant compared to the rest of the post, but, in case you like to know, the feature is your brainchild. You would be its brainparent, I guess.
I fondly remember that blog post, having a play, and my sheer delight in finding it worked. I've always thought of it as the April Fools' joke that kept on giving.
We released this feature and published the announcing blog post, on April Fool's Day, 2010. I remember demoing it to the other GitHub guys and saying how funny it would be if we made this an April Fool's day post as though it was a big stupid joke but then it actually completely worked on every repository we had and we all thought it would be great. Until nobody believed us. Which in hindsight we should have seen coming, since that was the joke, but nobody actually tried it. Then people tried it and it worked and they thought it was a trick or something.
It was really helpful for people migrating from legacy SVN based systems to us (CI and stuff) but I'm surprised to some degree that it's still running 13 years later when nobody is really facing that issue anymore. And I'm still undecided if the joke was worth the massive confusion it caused. But if I'm pressed, I would say that I would 100% release it on April Fool's Day again.