FreeBSD Begins Switch to Subversion
An anonymous reader writes "The FreeBSD Project has begun the switch of its source code management system from CVS to Subversion. At this point in time, FreeBSD's developers are making changes to the base system in the Subversion repository. We have a replication system in place that exports our work to the legacy CVS tree on a continuous basis.
People who are using our extensive CVS based distribution network (including anoncvs, CVSup, cvsweb, ftp) will not be interrupted by our work-in-progress. We are committed to maintaining the existing CVS based distribution system for at least the support lifetime of all existing 'stable' branches. Security and errata patches will continue to be made available in their usual CVS locations."
etc. Let's just get it out of the way.
I don't have any experience with Subversion, so I don't know if this is going to be "better" or not -- but will CVSup still work more or less the same once the migration is complete?
Oh wait...
Maybe not...
Here's hoping they have better luck than some of the switchovers I've had the "privilege.
Chas - The one, the only.
THANK GOD!!!
Comment removed based on user account deletion
They don't use git because FreeBSD development has traditionally been "centralized". They use a model where patches are fed to a group of core developers with "commit permission" to the tree, and all source changes are vetted and fed through that funnel. Subversion's centralized source control methodology works well with the FreeBSD development process, and the decentralized aspects of git is not needed.
However, of course, there is still some distributed coding going on at the edges, but they tend to be peripheral and experimental. The developers working on these experimental branches can choose to use whatever source control system they wish. Many FreeBSD developers prefer perforce for their experimental work, but they can use git or mercurial if they wish.
Subversion has an Apache/BSD type license. GIT does not.
There are other informative comments by that guy over there if you are interested.
Emacs is also GPLed, but that doesn't mean everything I write with it is also automatically GPLed. Unless the BSD people are planning to become Git developers, the source license makes no difference. Try reading it sometime.
Ita erat quando hic adveni.
GIT lost the version control war early on. Its focus on Linux development with little to no support for Windows and Mac made it unpopular. That's a situation that has changed (somewhat), but the stigma is still attached to it. Which is not really a problem. GIT was developed to meet the needs of the Linux Kernel Project. If it happens to meet the needs of other projects, great. If it doesn't, that's just as fine.
In any case, Mercurial ended up being the "best of breed" solution. It offered all the features of the competing version control systems, was portable across platforms, had a significant toolchain appear practically overnight, and is used by HUGE OSS companies like Sun and Mozilla. I've used it in my own projects and have found that it is much easier and more dynamic than the classic, monolithic model of CVS.
Javascript + Nintendo DSi = DSiCade
Path of least resistance; it works much like CVS, it fits in with existing infrastructure, and everyone knows how to use it.
git isn't terribly well suited to very large monolithic projects; you need to split into multiple smaller projects since it tracks entire trees rather than single files. When your tree is 1.3GB+ and has upwards of quarter of a million files that's rather painful either way.
It also isn't well suited to rewriting history, e.g. in the case when you have to remove a changeset because it violates someone's patent or copyright; you can rewrite the repository to remove it, but you end up renaming every commit afterwards, since their names are SHA1's dependent on every previous commit, generating tonnes of churn in many different places as the whole of history basically disappears and reappears elsewhere.
Many of git's advantages can still be leveraged with SVN; git-svn works pretty well, and it doesn't require massive upheavals in all areas of the project.
Thanks for promptly settling the SCM dispute! Now I'd love to hear your ideas on which text editor is the best.
Cretin - a powerful and flexible CD reencoder
You can use a GPL licensed product in any way you wish.
GPL imposes limits on you only if you distribute GPL code (or the result of its compilation)
Well, if you believe Linus, it must be because they are ugly and stupid :)
http://video.google.com/videoplay?docid=-4400856579609253323&q=structure+of+freebsd&ei=k-VGSJH-DZT44gK5-YmZDA
Towards the end he talks about it.
Huh? Git didn't have windows support very early on but very soon you could compile it with Cygwin. As for Mac support... it got it very quickly. In fact, I'm willing to claim that not having very early Win support didn't do anything to adoption rate. Target audience were Linux hackers so having support for various other systems wouldn't have done much at all.
As for "changed (somewhat)", what do you mean somewhat? I use Git daily on my Mac laptop and have even used it under Vista without any issues.
Git is HUGE these days. Rails project, for example, has completely switched to Git. Same is happening to Pythin community as more and more things are moving to places like GitHub (which is amazing btw). Also, Google Code now provides Git repos for almost ALL of the projects.
As for Hg, it's lost the war. Git has won. If you want proof, try some searches for "git tutorial" and "mercurial tutorial" and see who's winning. Searches with " tutorial" appeneded are great because they indicate adoption rate and indicate that there are people out there who are trying to get started.
in short, Git has already won and expect it to be the biggest source code versioning system in less than two years from now.
I thought core FreeBSD developers used Perforce: http://perforce.freebsd.org./ Is that not the case?
Debian's popcon agrees with this synopsis.
Basically, in the first year or so of the "distributed SCM revolution" in 2005, Mercurial was in the lead. However in mid 2006 git passed it by, and took off exponentially. At the moment Mercurial usage is about half that of git. It looks like within a year or so git will pass rcs and soon after that cvs, to become the second most popular scm after svn.
It seems that in general, Mercurial is chosen by comities (Solaris, Mozilla etc.) as it offends the least number of people due to its earlier better windows support. However, in projects run by a single benevolent dictator (like Wine, linux kernel and X.org) git tends to win due to its better technology and the lesser importance of political issues. (The fact that Linus originally wrote git will definitely hold back its usage in non-linux OS's due to politics. I can't see Microsoft using it, for example.)
Googlefight!
git tutorial: 512,000 results
mercurial tutorial: 1,100,000 results
Winner: Mercurial!
Google doesn't provide JACK for GIT. GIT uses SVN. In order to use GIT with Google, you need to have a GIT->SVN translator:
http://nigel.mcnie.name/blog/using-git-for-your-sourceforgegoogle-code-project Installing a Cygwin environment is not a supportable solution for most corporations. They needed native solutions. Something which has begun to appear.I agree with you wholeheartedly. The target audience is Linux hackers. They are the ones using GIT. The business world, OTOH, has chosen Mercurial. Such is the way of things.
Javascript + Nintendo DSi = DSiCade
That headline will undoubtedly draw the attention of the FBI to the FreeBSD gang.
If you go by Debian's popcon, Subversion has already kicked both our asses and we should all go home:
http://people.debian.org/~igloo/popcon-graphs/index.php?packages=darcs%2Cgit-core%2Cmercurial%2Cbzr%2Csubversion%2C+cvs&show_installed=on&want_legend=on&want_ticks=on&from_date=2003-10-01&to_date=&hlght_date=&date_fmt=%25Y-%25m&beenhere=1
Javascript + Nintendo DSi = DSiCade
Not quite...
git tutorial: 589,000 Results
mercurial tutorial: 680,000 Results
"git tutorial": 5,890 Results
"mercurial tutorial": 647 Results
Because they cannot upgrade from 1980 to 2008 all at once.
Using quotes is asking for trouble. You are effectively assuming the rules of grammar in a complex language. Never use that for statistics. For that matter, never use Google Fights as evidence. As the fight above exemplifies, different Google users will get different results depending on their region and Google's last spider. The only consistent piece of information was that Mercurial had more search results.
git tutorial: 592 000 hits mercurial tutorial: 1 080 000 hits Am I missing something?
You should ALWAYS use quotes for specific phrases. if you've done some SEO work or actually tried paying for AdWords, you'd realize how important phrase searches are on Google.
Use quotes for statistics purposes? FAIL!
...but won't be found with "mercurial tutorial".
To give an example, this will be found with "git tutorial" in quotes:
"Click here for a git tutorial!"
However, it's rather clunky english. This sounds much better...
"Click here for a tutorial on mercurial"
Statistics != SEO != Adwords
"tutorial on Mercurial":
'No results found for "tutorial on mercurial".'
"tutorial on git": 323 Results.
FreeBSD's development model isn't all that similar to Linux, so why do you think they should use a tool designed to support a very different model?
Is this supposed to be sarcasm?
I honestly can't tell, and I'm curious now, since your assertions do not seem to match my experience. Granted, my own anecdotal evidence is not more than that, but I not only occasionally come across (large/important) projects that use git (projects not related to Linux), I also have never seen anyone actually use mercurial.
I'm sure there's projects that do indeed use mercurial, of course, but the assertion that git "lost" (what war, anyway?) and that mercurial "won" is so completely at odds with reality as I perceive it that I can't help but wonder whether you're actually being serious.
git is GPL'd and was written by Linux developers. FreeBSD using git would be like Microsoft switching to OS X for its web servers.
Contrary to Linux, FreeBSD uses a centralized development methodology which SVN is very well-suited for. (Now, if only they hurry up with the stable release of their merge-tracking, I could say that Subversion is perfect for a centralized development model.)
Then, there's the obvious licensing issue. GIT is released under the GPL, which, I'd guess, is a little too restrictive for BSD-style people. :P
Morality is usually taught by the immoral.
Yes, try the same search with quotes. Not that it would matter anyways, as it's not a viable method for comparing the usage of both. Let me reinterpret these results:
"Git is easier to learn than Mercurial as evidenced by the sheer ammounts of Mercurial tutorials that seem to be needed"
(Disclaimer: This is not my personal opinion. Just to demonstrate the uselessness of this data. But flame away anyways if you have bad eyesight, I'll actually be doing something worthwhile in the meantime.)
Indeed. Hg had an early boost from large organizations (e.g. sun), apparently because of it's better windows support at the time, but it seems clear that git has the majority of mindshare these days, especially in the FOSS world.
Here's a graph of scm system on usage on debian which made the rounds recently (note this is based on "popcon" statistics, which measure use of each tool). The top two descending lines are CVS and SVN; the third-from-the-top ascending line is git; the rest of the lines inclucde hg, bzr, darcs, etc. This data obviously isn't perfect, but it seems pretty much reflect the trends that I've observed.
We live, as we dream -- alone....
That wasn't any factor in the discussions about the switch as I remember. It was mostly, "What do people like and what will satisfy the most people."
Honestly, I'd be more interested in knowing why they chose SVN over the many options out there, and furthermore which options they considered in the first place. I hear about CVS, perforce, subversion, GIT, and mercurial all the time, but there are yet more options out there. For example, I recently discovered darcs, which I like as it happens to think about revisions the way I do (patches.) They all have their own qualities, and the more familiar the differences are, the easier it is to decide which tool matches the project best.
Comment removed based on user account deletion
Good analogy, in both cases there is a clearly superior alternative ;).
I doubt this is one of the primary reasons they chose Subversion, but there is a very real possibility that they would eventually want to distribute SVN.
FreeBSD currently distributes two tools to update the ports tree: csup and portsnap. With SVN, they could get the efficiency of csup with the simplicity of portsnap, while also adding all the features of proper source control. But if their tools of choice aren't BSD licensed, they can't include them in the distribution.
(There is one very good reason they would want to keep using something like portsnap, though: Subversion adds unmodified copies of all of your files to the directory, effectively doubling your required disk space. Granted, if doubling 700M is that big of a deal for you, you probably don't have a copy of the ports tree to begin with.)
The details are trivial and useless; The reasons, as always, purely human ones.
But it's okay, implying that Mercurial had early Windows support is almost as laughable. When did TortoiseHg begin development, December?
The details are trivial and useless; The reasons, as always, purely human ones.
I'm sure that one could also argue that a difference in the number of hits for tutorial is indicative of the relative difficulty of the vcs :)
Cheers,
Roger
Do you have any better hostages?
Very untrue about mac.. I use it almost daily
Comment removed based on user account deletion
You are either misinformed or obnoxious.
If your logic was correct, then playing music through a sound card with GPL drivers would make the music GPL, and compiling programs with a GPL compiler (like GCC) would make them GPL, and writing a book in a GPL text editor would make it GPL. That's not the case.
GIT's GPL license applies to GIT itself, not the code it distributes.
The command line tools were available for Windows long before TortoiseHg. Being based on Python, there was practically no porting required.
TortoiseHg merely offered an excellent UI under Windows.
Funnily enough, your graph also shows that Git kicks Mercurial's butt at somewhere over twice the install-base. :)
Granted, Debian popcon does not account for all the windows VCS installs, which you claim is Mercurial's strong territory.
Nevertheless, it's interesting that in the Unix world, Git is the strongest up-and-comer, so the fight isn't as clear-cut as you claim it is.
Misleading titles? Inflammatory blurbs? Keep in mind that Slashdot is a tabloid.
Comment removed based on user account deletion
It's not my graph. It's the graph that the parent was referring to. As you pointed out, the data is skewed toward a certain segment of Unix users. My point was that if we take that chart as gospel (which we cannot, because it's not representative of the market as a whole) both GIT and Mercurial have already lost. Badly.
Javascript + Nintendo DSi = DSiCade
Comment removed based on user account deletion