4 ms·
Almost hard to believe it's finally happening! Couldn't we have gone with Git all along, without Subversion as an intermediary step for about a decade? Anyhow
by cnst 6y ago
Almost hard to believe it's finally happening! Couldn't we have gone with Git all along, without Subversion as an intermediary step for about a decade?
Anyhow, per https://wiki.freebsd.org/git https://wiki.freebsd.org/git, looks like GitHub/GitLab will have the new stuff on Tuesday, 2020-12-22T10:00Z; this'll likely require manual actions if you're exporting Git from GitHub. Personally, I'll probably be switching over to exporting directly from FreeBSD.org at that time, because GitHub still doesn't even support IPv6.
- sudobash1 6y agoMy source is Wikipedia, but FreeBSD is so much older than git. Git is only a decade and a half old (from 2005).
- V-eHGsd_ 6y agohttps://www.freebsd.org/doc/en_US.ISO8859-1/articles/committers-guide/subversion-primer.html https://www.freebsd.org/doc/en_US.ISO8859-1/articles/committ... freebsd switched to subversion in 2008. I would guess that git was just too new in 2008.
- andoriyu 6y agoIt wasn't just new, CVS to subversion was nearly drop-in change. It didn't require change in process - FreeBSD project could have kept its Cathedral style process. Git is too different from SVN and CVS. The real problem was - someone had to work on the switch itself. There is so much tooling that had to be adapted to new version control. Everyone talked, but no one sent any patches. The same reason it is taking so long to switch from Subversion to Git. I can't find it right now, but I've watched a video that explained CVS -> SVN timeline for FreeBSD. Here is "short" version of it: https://lists.freebsd.org/pipermail/freebsd-current/2008-June/086023.html https://lists.freebsd.org/pipermail/freebsd-current/2008-Jun...
- cnst 6y agoFWIIW, Matthew Dillon has converted DragonFly BSD from CVS directly into Git back in 2008, or, more specifically, on 2008-11-26: https://leaf.dragonflybsd.org/mailarchive/commits/2008-11/msg00122.html https://leaf.dragonflybsd.org/mailarchive/commits/2008-11/ms... It would appear that FreeBSD has switched the src repo from CVS into SVN on 2008-05-31. Sure, Git surely must have improved since 2008, but did it really miss any really important features that have since been implemented back then, or is it just a matter of a much wider acceptance than anything else? It looks like $FreeBSD$ tags are now deprecated, because they aren't supported in Git; I recall these tags have always been the biggest blocker in any VCS considerations for both FreeBSD and NetBSD. TBH, I got the impression that they've never been properly supported by Subversion, either -- you had to install a FreeBSD-specific version of SVN for the tag expansion to work "properly". I still think SVN is the worst out of all the VCS -- it has all the drawbacks of a centralised Git without many of the benefits, plus none of the benefits of CVS. For example, I wanted to have a local mirror on the history of the tree, which is absurdly easy to do with CVS with rsync -- you can even selectively ignore certain parts of the tree like --exclude "…src/contrib/???…/" --exclude "…src/gnu/…/…" (how do type a star symbol on HN?), but mirroring SVN was so complicated and inflexible that I had simply given up after it had used up way more space than the prior rsync mirror of CVS had ever required, and still wasn't even done. I then decided to entirely bypass SVN by directly switching to an "unofficial" git repo once the export from SVN back to CVS was completely deprecated and deleted at one point.
- cperciva 6y agoWhen FreeBSD switched from CVS to SVN, git wasn't able to handle repositories the size of the FreeBSD tree. Significant improvements have been made over the past decade.
- cnst 6y agoIs it really the improvements, though, or is just that Git has less resistance now in 2020 than it did in 2008? DragonFly BSD has a smaller src, but it's been using Git since November 2008, converting away from CVS directly into Git, only a few months after FreeBSD moved from CVS into SVN in May 2008.
- cperciva 6y agoDragonfly has a smaller tree and also a far less active one. Also, I think ports might have been a worse problem than sec -- not sure about that, just a vague memory.
- dkdk8283 6y agoGit has a steep learning curve especially when coming from long time svn users. At least that’s what happened to me. It took some mentorship to unfuck my brain and become acclimated to DVCS. Git is still hard to use in some circumstances.
- lloeki 6y ago> Git is still hard to use in some circumstances. It's not like SVN was easy all the time either like some would like you to think. https://stackoverflow.com/questions/3941291/a-sane-way-to-rename-a-directory-in-subversion-working-copy https://stackoverflow.com/questions/3941291/a-sane-way-to-re...
- dkdk8283 6y agoSure, we color our own experiences. All different. I think commit conflicts in svn are a lot easier than git conflict resolution.