Forgot your password?
typodupeerror
Data Storage Operating Systems Programming Software BSD

FreeBSD Begins Switch to Subversion 120

Posted by timothy
from the subvert-the-dominant-paradigm dept.
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."
This discussion has been archived. No new comments can be posted.

FreeBSD Begins Switch to Subversion

Comments Filter:
  • by bsDaemon (87307)
    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?
    • by X0563511 (793323)
      It should - the operation CVSup performs is a core function of version control, but wraps some CVS details up.

      Likely, all you will need to do with subversion is this:
      > cd /usr/ports
      > svn update ... come back later to an updated portage tree.
      CVS would probably be that simple, but for it's need for you to 'log in' and some strange (to me) syntax. CVSup eliminates that weirdness.

      Of course, I'm sure that CVSup does a lot of extra stuff I don't know
      • Re: (Score:1, Offtopic)

        by bsDaemon (87307)
        I haven't even bothered trying to mess with the nVidia driver -- generic vga displays just fine. Then again, I'm using WindowMaker and have no intention of messing with compiz. i tried it on mint, but it kept crashing... i don't even care if i'm wasting 512mb of video ram...

        PC-BSD will auto-detect and install nvidia; it started the nvidia crap when i put up a livecd on my laptop the other day, but i didn't install it 'cause I don't want to fuss with removing all the KDE stuff.
        • by X0563511 (793323)
          Well, in my experience vga is just too slow, even for mundane stuff. Also, I like to mess with graphics and such - and even just updating the screen in a timely manner is nice (vga is ssllooww!!))
          • by bsDaemon (87307)
            yes, it is sort of a slow-ass bitch. I'm just dealing with it for right now. I'll probably fix it this weekend.
      • Re: (Score:3, Informative)

        by MavEtJu (241979)
        If you are still using CVS, or CVSup, for updating your ports tree, I suggest you have a look at portsnap(8):

        PORTSNAP(8) FreeBSD System Manager's Manual PORTSNAP(8)

        NAME
                  portsnap -- fetch and extract compressed snapshots of the ports tree
        • by X0563511 (793323)
          Does portsnap grab whole copies of the tree, or does it only update individual files like I think CVSup does?
          • by geniusj (140174)
            It does the latter. Also look at freebsd-update written by the same guy and also included in the base system.
          • by MavEtJu (241979)
            portsnap *fetches* the whole tree but it can extract parts of it.
      • Re: (Score:3, Funny)

        by kv9 (697238)

        Likely, all you will need to do with subversion is this: > cd /usr/ports > svn update ... come back later to an updated portage tree.
        heathen!
        • by X0563511 (793323)
          Whoops... well, ports and portage arn't really that different in form or function. Plus, portage is a cooler name :P
    • 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?

      Yes. For now, they're automatically pushing all SVN commits into CVS. That way, the old CVS distribution infrastructure will continue to work. An insightful email from the guy doing the conversion can be found here [freebsd.org].

    • by Hatta (162192)
      It will be replace with SVNup.
    • Re: (Score:3, Informative)

      by cperciva (102828)
      For the forseeable future, yes. Commits to SVN are being replicated into CVS, so all the existing CVS infrastructure will continue working.
    • by gfim (452121)
      You shouldn't be using CVSup these days. Try csup instead. It's more efficient, doesn't require Modula, and is part of the base system. It's backwards compatible with supfiles too.
  • FreeBSD is dying? (Score:1, Redundant)

    by Chas (5144)
    Oh wait...
    Maybe not...

    Here's hoping they have better luck than some of the switchovers I've had the "privilege.
  • GIT? (Score:5, Interesting)

    by liquidpele (663430) on Wednesday June 04, 2008 @02:17PM (#23656199) Journal
    Wonder why they went with subversion over GIT?
    • Re:GIT? (Score:5, Informative)

      by bark (582535) on Wednesday June 04, 2008 @02:23PM (#23656295)
      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.
    • Re:GIT? (Score:5, Informative)

      by LurkerXXX (667952) on Wednesday June 04, 2008 @02:25PM (#23656337)
      Subversion has an Apache/BSD type license. GIT does not.
      • Re: (Score:3, Informative)

        by compass46 (259596)
        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."
    • by krelian (525362)
      http://reddit.com/r/programming/info/6lzue/comments/c048e6q [reddit.com]


      There are other informative comments by that guy over there if you are interested.

    • Re:GIT? (Score:4, Interesting)

      by AKAImBatman (238306) <akaimbatman@@@gmail...com> on Wednesday June 04, 2008 @02:29PM (#23656435) Homepage Journal
      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 [wikipedia.org] 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.
      • Oh really? (Score:5, Funny)

        by krog (25663) on Wednesday June 04, 2008 @02:32PM (#23656477) Homepage
        Thanks for promptly settling the SCM dispute! Now I'd love to hear your ideas on which text editor is the best.
        • by 0xABADC0DA (867955) on Wednesday June 04, 2008 @03:16PM (#23657203)
          VI lost the editor war early on. Its focus on text files with little to no support for email or shell prompts or playing text-mode hangman 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. VI was developed to meet the needs of text editing. If it happens to meet the needs of other activities, great. If it doesn't, that's just as fine.

          In any case, EMACS ended up being the "best of breed" solution. It offered all the features of the competing editors, was portable across platforms, had a significant tools (and games) appear practically overnight, and is used by HUGE OSS icons like RMS. I've used it in my own projects and have found that it is much easier and more dynamic than the classic, command/insert model of VI.

          har, har...
          • by bsDaemon (87307)
            EMACS isn't an editor. It's a LISP machine implemented in software that happens to have a text editor program for it.
            • by krog (25663)
              EMACS isn't an editor. It's a LISP machine implemented in software that happens to have a text editor program for it.

              You make it sound so haphazard! Emacs needed a text-editor; otherwise, how could it be completely self-hosting? Any program that can't bootstrap itself can fuck itself.
            • Re: (Score:3, Funny)

              by hawk (1151)
              EMACS has an editor?

              I guess we can finaly put away the old complaint about being a great OS in need of a good editor . . .

              hawk
            • Linux is nothing more than a bootloader for Emacs...

              Oh wait, did I just say that on a FreeBSD thread?
              • by bsDaemon (87307)
                Well, pretty much... GNU is UNIX done the MIT way. MIT are LISP-addicts, which is why GNU stuff uses Scheme (via GUILE) for scripting and extensions, and EMACS is pretty much just a LISP machine in and of itself.

                I don't much care for LISP, honestly.
          • by vimm (1300813)
            That hurts.. ..at least my hands aren't mangled by the end of the day though!
          • by Jack9 (11421)

            used by HUGE OSS icons like RMS
            That's not an endorsement.
      • Re: (Score:3, Interesting)

        by mTor (18585)

        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.

        Huh? Git didn't have windows support very early on but very soon you could compile it with Cygwi

        • Re: (Score:2, Interesting)

          by Anonymous Coward
          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
        • Re:GIT? (Score:4, Informative)

          by AKAImBatman (238306) <akaimbatman@@@gmail...com> on Wednesday June 04, 2008 @04:00PM (#23657903) Homepage Journal
          To reply or not to reply? I suppose replying probably won't assuage your holy quest, but here we go.

          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.
          Ready?
          Googlefight! [googlefight.com]

          git tutorial: 512,000 results
          mercurial tutorial: 1,100,000 results

          Winner: Mercurial!

          Also, Google Code now provides Git repos for almost ALL of the projects.

          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 [mcnie.name]

          Git didn't have windows support very early on but very soon you could compile it with Cygwin.
          Installing a Cygwin environment is not a supportable solution for most corporations. They needed native solutions. Something which has begun to appear.

          Target audience were Linux hackers so having support for various other systems wouldn't have done much at all.
          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.
          • Re: (Score:1, Informative)

            by Anonymous Coward
            Not quite...

            git tutorial: 589,000 Results

            mercurial tutorial: 680,000 Results

            "git tutorial": 5,890 Results

            "mercurial tutorial": 647 Results
            • Re: (Score:1, Insightful)

              by Anonymous Coward
              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.
              • Re:GIT? (Score:4, Informative)

                by mTor (18585) on Wednesday June 04, 2008 @04:31PM (#23658485)
                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.
                • Re: (Score:1, Interesting)

                  by Anonymous Coward
                  Use quotes for statistics purposes? FAIL!

                  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" ...but won't be found with "mercurial tutorial".

                  Statistics != SEO != Adwords
                  • Re: (Score:1, Informative)

                    by Anonymous Coward
                    "tutorial on Mercurial":
                    'No results found for "tutorial on mercurial".'

                    "tutorial on git": 323 Results.

        • by fafne (840092)
          git tutorial: 592 000 hits mercurial tutorial: 1 080 000 hits Am I missing something?
          • Re: (Score:1, Informative)

            by derago (582951)
            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.)
        • by macshit (157376)

          in short, Git has already won and expect it to be the biggest source code versioning system in less than two years from now.

          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 [debian.org] 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 incluc

        • by Skrapion (955066)

          Huh? Git didn't have windows support very early on but very soon you could compile it with Cygwin.
          So, your advice to Windows users is "use Linux"? I don't think that's going to fly, and I suspect your view might be a little myopic.

          But it's okay, implying that Mercurial had early Windows support is almost as laughable. When did TortoiseHg begin development, December?
        • by oojah (113006)
          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
    • Re:GIT? (Score:5, Informative)

      by Fweeky (41046) on Wednesday June 04, 2008 @02:32PM (#23656475) Homepage
      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.
    • Re:GIT? (Score:5, Funny)

      by Chemisor (97276) on Wednesday June 04, 2008 @02:47PM (#23656703)
      Well, if you believe Linus, it must be because they are ugly and stupid :)
    • 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?
    • by arensic (1302199)
      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
  • I thought core FreeBSD developers used Perforce: http://perforce.freebsd.org./ [perforce.freebsd.org] Is that not the case?
    • Re: (Score:3, Informative)

      by MavEtJu (241979)
      There are different tools for different purposes:

      CVS is (was) what the central repository uses to store the software.

      Perforce is a central repository for internal development. That way the limitations of CVS for this part of the job don't limit the developers.
      But Perforce is commercial software and you can't push it on to the community.

      Subversion is a free software which has the capabilities which are set as a requirement for the FreeBSD project. It has some capabilities of Perforce, it has some capabilitie
  • That headline will undoubtedly draw the attention of the FBI to the FreeBSD gang.

1 Billion dollars of budget deficit = 1 Gramm-Rudman

Working...