Slashdot Mirror


KDE Switches to Subversion

Michael Pyne writes "It's official, after weeks of preparation, KDE has completed switching their source control repository from CVS to Subversion. KDE is one of the largest software projects to make the switch, and is the first major desktop environment to do so. Some of the goodies that CVS users are used to are still in the process of being switched over (including WebSVN), but everything seems to be working well so far." (The announcement of early April is no longer the operative statement.)

59 of 310 comments (clear)

  1. Obligatory by Anonymous Coward · · Score: 4, Funny

    Kongradulations!

  2. I truly wished they have given a different name. by cabazorro · · Score: 5, Funny

    My managers simply refuse to use anything proposed by us, the development team, and named subversion.

    --
    - these are not the droids you are looking for -
  3. A much needed switch by CastrTroy · · Score: 4, Insightful

    Its nice to see them making the switch. Having used both Subversion and CVS, I have to say that Subversion is much better. I hope more projects continue to do the same. Its amazing that CVS has lasted as long as it has.

    --

    Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
    1. Re:A much needed switch by Anonymous Coward · · Score: 2, Informative

      The only downside is that I've had some friends unable to use the WebDAV method PROPFIND because some corporate firewalls have blocked it. Regular GETs will work, but you don't have all the info about the file. And trying to get a big organization's IT dept to change a firewall setting for one project is a huge struggle.

      That and some people use Novell netdrive to access subversion like a regular drive which results in tons of small uncommented commits if they have write permission.

    2. Re:A much needed switch by RootsLINUX · · Score: 2, Informative

      Yeah, I'm not a big CVS fan and I'm eager to start using subversion. Unfortunately, SourceForge still doesn't support it so I (and thousands of others) are stuck with CVS for a while. However, they're looking into it. Here's an excert from their site status updates:

      Subversion Service: The research, analysis, and support gear-up needed to implement a Subversion service at SourceForge.net is now in progress. As with all SourceForge.net services, extensive analysis and testing must be performed to verify suitable levels of stability and scalability before a service can be rolled-out. We are expecting the initial phases of this effort to last several weeks, to be followed by the implementation of a testing environment which will be used for a live beta test by specific selected projects. Pending successful scalability testing, service details will be finalized and service will be offered to all projects. (Refreshed 2005-04-21, to show continued in-progress status.) (Last updated: 2005-04-21 Pacific)

      --
      Hero of Allacrost, a FOSS RPG for *NIX/*BSD/OS X/Win
    3. Re:A much needed switch by flink · · Score: 3, Informative

      If you setup SSL on the web server, they should be able to check out just fine using an https:/// url, as the firewall will have no idea what PROPFINDs are flying around.

    4. Re:A much needed switch by Dan+Ost · · Score: 2, Informative

      Subversion is being developed by the people who created CVS. They recognized
      CVS's limitations and decided that it would be more painful to fix CVS than
      it would be to start from scratch.

      But don't worry about CVS, it'll be around for a long time to come.

      --

      *sigh* back to work...
  4. Why not everyone likes svn: by Anonymous Coward · · Score: 5, Informative
    1. Re:Why not everyone likes svn: by Anonymous Coward · · Score: 2, Insightful

      How about you check out the new backend fsfs?

    2. Re:Why not everyone likes svn: by DarkDust · · Score: 4, Informative

      If you're scared by the BDB backend then use the FSFS backend which is a filesystem based backend, like CVS uses RCS files.

      We're using SubVersion for over two years now, versioning our in-house Linux distribution with which we're doing our products and we've never had any data loss (though we had some trouble with BDB back in the 0.xx days).

    3. Re:Why not everyone likes svn: by NixLuver · · Score: 2, Insightful

      Excellent article with excellent points; On the other hand, if you don't have backups, the same thing could happen with CVS, although the damage footprint would be different. Disk corruption due to bad memory is not uncommon - many people who experience this in Windows simply chalk it up to 'a virus' (even experienced technicians do). If the problem exists for some length of time beyond your last backup, you lose everything modified anyway. In small code trees, it's not a problem, but can you imagine working back through the code tree of KDE or GNOME to discover exactly which files are corrupt?

      If you back up your databases from SVN nightly, you're still never more than 24 hours out.

    4. Re:Why not everyone likes svn: by Speare · · Score: 3, Funny

      ISTR TLAs give ROI over RSI, YMMV, HTH.

      --
      [ .sig file not found ]
    5. Re:Why not everyone likes svn: by GuidoW · · Score: 3, Insightful

      This is why subversion has the svn dump command (or was it svnadmin dump or svndump? Well, it doesn't really matter) that you can use to do backups of your repository to _plaintext_ files, just like you would use pg_dump to backup your postgresql database.

      Obviously, if you don't use the feature, it's pretty useless, but, hey, how often has it been pointed out that every serious project that uses computers needs a good backup strategy?

      --
      If it's so secret, then how come I've never heard of it?
    6. Re:Why not everyone likes svn: by limbostar · · Score: 4, Informative

      But while using the Subversion client, you don't have to care what backend the project managers are using. If the project database crashes, it's not your fault as a user.

      If you're really super ultra paranoid, you could set up your own svn repository with your favorite backend, sync it up with KDE's project, and work from there, but then you're just making trouble for yourself.

      SVN in client mode uses .svn directories (similar to CVS directories) with XML files and such to manage your local copy. Those big bad BDBs never come near you unless you're managing the repository.

      --
      this is a sig.
    7. Re:Why not everyone likes svn: by DarkDust · · Score: 2, Interesting

      If you work on an svn-based project like KDE which is already run by somebody else, you will most likely be stuck with their choice of backend, more often than not you'll get all the hazards (and efficiency) of a Berkeley backend.

      But in this case you don't have to worry as it's not your problem any more ;-) And you're not the one to implement the backup (which everyone with a little common sense does). As a user you can't notice the backend differences anyways (except for a small corner-case: the speed of "svn annotate").

    8. Re:Why not everyone likes svn: by kfg · · Score: 2, Funny

      Bugger, as it turns out restore does not support my head.

      KFG

    9. Re:Why not everyone likes svn: by DarkDust · · Score: 2, Informative

      Actually for any large svn project, the users will notice a significant speed difference between a svn server that uses the efficient binary-formatted BDB backend compared to one that uses the ASCII-formatted FSFS.

      FSFS is not "ASCII-formatted". And I didn't notice any difference when I switched our 3GB repository from BDB to FSFS half a years ago :-)

  5. Differences by ecsdrive · · Score: 2, Insightful

    What are the most important features that Subversion has and CVS hasn't? It's been a lot of buzz lately behind Subversion, but I didn't figure it out what CVS has that is so wrong/slow/bad for software versioning

    1. Re:Differences by dos_dude · · Score: 4, Informative

      Apparently, subversion allows you to rename files (which is a clumsy process in cvs). It's also able to keep track of directories themselves. cvs doesn't care about diretories, only about files.

      There are lots more differences though, but the two I mentionend certainly sound like they made life a little easier.

    2. Re:Differences by Pete · · Score: 5, Informative

      Subversion's really intended to be as close to a drop-in replacement for CVS as possible - except with most of the huge design flaws fixed.

      The feature I most notice (I use Subversion at work, albeit with a fairly small dev team) is the ability to do handle file renames properly (preserving history). Atomic commits (of groups of files) are also nice.

      There are lots of other important features of course, but I tend to use it just as a better CVS - which role it fills admirably.

    3. Re:Differences by Chris+Kamel · · Score: 5, Informative

      Check this for a detailed checklist of what each of the major version control systems support/doesn't support.

      --
      The following statement is true
      The preceding statement is false
    4. Re:Differences by Anonymous Coward · · Score: 5, Informative
      There are many...

      The main one tends to be lack of tracking of file/directory renames. CVS does not really handle this at all while Subversion handles this very well.

      Subversion also treats a commit of changes to multiple files as an atomic operation. This is a major benefit. You can easily see what all went into a specific commit (bug fix/etc) without trying to track down each file that it happened to. You also never have to worry about part of your commit being on the server and part of it not. It either is committed or it is not. CVS can not do that. (Well, beyond a single file that is)

      Another major issue is the client/server relationship. Subversion has a very clean client/server interface. It is orthogonal, well designed, and relatively low overhead. CVS can not claim this to be the case. In fact, CVS's client/server features were bolted on after-the-fact and show it.

      Subversion can work via HTTP/HTTPS protocols via an Apache plugin. In fact, it is not just HTTP but WebDAV and DeltaV protocol based, which means that there are other tools that can play with the repository as a auto-revisioned filesystem.

      Subversion makes it possible to do some advanced web interfaces rather easily, such as the Insurrection http://insurrection.tigris.org/ does.

      For me, once Subversion 1.1 came out there was no reason to look back at CVS other than legacy systems. (Subversion 1.0 was already better but it was 1.1 that finally put be over the edge.)

    5. Re:Differences by DarkDust · · Score: 5, Informative

      What are the most important features that Subversion has and CVS hasn't? It's been a lot of buzz lately behind Subversion, but I didn't figure it out what CVS has that is so wrong/slow/bad for software versioning

      • File/directory renaming. This is one of the most important things: you can easily move files around in a repository and thus rearrange your project directory structure. I'm forced to work on a big commercial project where we use CVS and the directory layout has grown like a cancer because some idiots couldn't get the layout clean in the first place and noone was able to correct it later (the CVS admin lacks the knowledge and the work necessary has become too big). This is a common CVS problem.
      • Atomic commits.
      • Cheap copies (which are used instead of tags and branches, more on this below).
      • Optional WebDAV support.
      • True binary file support (SVN only stores the deltas to previous versions while CVS has to store the complete file again if something changed... try versioning a 128MB binary file with CVS and watch your disk usage go up by 128MB with each commit).

      There are two things that you'll find different when comming from CVS:

      • The first is the fact that you don't version single files but the whole repository. This is very strange at first, but you'll quickly notice that it's much better than versioning single files as most of the time a source change like a feature implementation affects more than one file. With CVS you don't know that two files were changed at once and that these changes belong together: with SubVersion you instantly know because you see that at revision XY two files where changed.
      • The other thing that seems odd is the "lack" of branches and tags like they're used in CVS: in CVS the repository file path stays the same while the working copy content is different according to the tag/branch. In SubVersion, you'll make a copy of a directory (in the repository) to start a branch. Thus the file path is different. I think the SubVersion way is cleaner and also more user/developer friendly but people that use CVS for years won't agree, I think ;-)

      SubVersion as a whole has more clean, thought-out-design feel, IMHO. Being a former CVS user myself I guarantee you that after working with SubVersion for a while CVS feels a bit hacked together.

    6. Re:Differences by SpryGuy · · Score: 2, Interesting

      Perforce has handled file renames and atomic commits for years now. I'm just curious why Perforce isn't used more widely, as it sounds like Subversion is just now trying to catch up with where Perforce has been for a long time now.

      --

      - Spryguy
      There are three kinds of people in this world: those that can count and those that can't
    7. Re:Differences by Woody77 · · Score: 3, Interesting

      Price difference. Perforce was simply not an option for my small company. Subversion, on the other hand, is just as easy on the pocket-book as CVS.

  6. More switching! More, more! by Pete · · Score: 4, Interesting

    Great!

    Now when are they going to be switching from Bugzilla to Trac?

    (insert ha-ha-only-serious-cos-Bugzilla-scares-me smiley here)

    1. Re:More switching! More, more! by DarkDust · · Score: 2, Informative

      Why does bugzilla scare you?

      Because it's ugly and not very user friendly... if you've seen commercial bug trackers or stuff like Trac you'll notice the difference. Don't get me wrong, Bugzilla is a valuable tool and it does the job it needs to do, but the UI is horrible.

    2. Re:More switching! More, more! by Pete · · Score: 3, Interesting

      Purely because I feel the UI is complicated. Of course I've mainly dealt with it on hideously large and complex projects like KDE and Mozilla, so the complexity of the UI may simply be a function of the project's complexity (or, more specifically, a function of Mozilla's complexity, as it was originally designed for Mozilla).

      Note that I'm not meaning to slag off Bugzilla at all - it does the job and does it well, as far as I understand. But I wouldn't want to use it for the kind of software I work on (much much smaller and simpler than Moz).

      My team is using a combination of Trac and Mantis at the moment - my boss likes Mantis better as a pure bugtracker, but I'm hoping to convert him after Trac 0.9. :)

  7. Subversion + trac by gregmac · · Score: 5, Interesting

    I recently switched my internal development from CVS to Subversion, and use trac (there site seems to be down right now) as a front end to it all. Trac is a web based interface (written in python) that is a combination wiki, bug tracker, source viewer, changelog and milestone tracker. It has some amazingly cool features, like the ability to put wiki markup anywhere.

    Using a wiki for documenting code is somewhat handy, but what's even better is the wiki extensions trac adds. You can type "This is related to bug #236" and it will make it a link to that bug. The cool part is, you can do that anywhere -- such as an svn commit message. (There's also ways to link to milestones, revision numbers, etc)

    I originally switched to subversion for the big features - the ability to move files/directories, and the simple (compared to cvs) tagging/branching support. Trac just made it that much better.

    --
    Speak before you think
    1. Re:Subversion + trac by tuxpert · · Score: 4, Informative

      Although trac is quite good and integrates well with SubVersion, it has a few disadvantages, the main one being no support for multiple projects.

      Scarab, the open-source bug tracking tool that CollabNet's commercial offering uses and GForge, although cumbersome to setup are IMHO better alternatives if you're looking for bug-tracking tools to use along with SubVersion

      --
      Ravi

      --
      -- Ravi
    2. Re:Subversion + trac by Pete · · Score: 3, Informative

      I understand that Trac support for multiple projects (along with a few other features) is due soon - I believe as part of the upcoming 0.9 release.

      Thanks for the pointers re: Scarab and GForge though, I'll have a look at them. Always nice to keep up-to-date with the alternatives. :)

  8. successor to CVS by moz25 · · Score: 4, Informative

    As I understand, subversion was more or less designed to be the successor (and replacement) of CVS. It's not a big surprise then that switching is a major issue. The users are already used to its methodology (contrary to e.g. linux kernel developers).

  9. Re:I truly wished they have given a different name by Anonymous Coward · · Score: 2, Informative

    You mean this?

  10. This is what happens... by gbulmash · · Score: 4, Funny
    ...when you let geeks name products.

    Of course, Microsoft is coming out with their own alternative. It's called Coercion.

    - Greg

  11. I would love to see how well Insurrection works... by Anonymous Coward · · Score: 5, Informative
    I have build Insurrection, an enhanced web interface to Subversion, that is very closely tied to the way Subversion works. I would love to see how well it handles a repository as large as the KDE repository. (Plus I think it is a good tool, but then I wrote it :-)

    You can play around with it at http://www.sinz.org/Michael.Sinz/Insurrection/

    Note that I am still in somewhat active development but the code is also in active use. It can be checked out with:

  12. TortoiseSVN by Mustang+Matt · · Score: 4, Informative

    This is one of the best windows based svn clients I've seen.

    http://tortoisesvn.tigris.org/

    --
    The man who trades freedom for security does not deserve nor will he ever receive either. - Benjamin Franklin
  13. Re:windows cvs by tuxpert · · Score: 2, Informative

    SubVersion is available for Windows as well.

    --
    -- Ravi
  14. Re:GUI frontend for SVN by slavemowgli · · Score: 4, Informative

    Did you look into RapidSVN? I haven't tried it myself, but it may be an interesting alternative to TortoiseSVN if you want support for platforms other than windows.

    There's also a Subversion plugin for Eclipse, in case you're using that.

    --
    quidquid latine dictum sit altum videtur.
  15. Re:I truly wished they have given a different name by dubl-u · · Score: 5, Funny

    My managers simply refuse to use anything proposed by us, the development team, and named subversion.

    Good that you mentioned it. for $50k a year, I'm glad to license them my own version control system, "Rule The Developers With an Iron Fist". It's actually just Subversion and Trac in a box with a pretty logo and some marketing collateral. Plus, a guy with a nice suit and good hair will come and spend two hours explaining things to them in short words and bullet points.

    Or they can get the deluxe version for $100k per year, where the guy with good hair will also take them golfing and out to dinner.

  16. merging by Hohlraum · · Score: 2, Interesting

    I remember awhile back that the subversion guys said that merging/branching wouldn't outshine cvs for a couple more releases. Is that that case now? I haven't been following subversion development for awhile now.

    1. Re:merging by JSD · · Score: 2, Informative

      Subversion has the same (poor) merging capabilities as CVS.

      FYI, I use Subversion but merging in Subversion and CVS is not nearly as simple as with Perforce or Arch. I subscribe to the subversion dev mailing list and I think it's probably at least another 1-2 years before Subversion has merging capabiliies on par with Perforce, Arch, ....

      If you're interested in doing lots of merging with Subversion then you'll want to look at svnmerge (http://www.dellroad.org/svnmerge/index). I haven't used it but it gets good marks from the svn users mailing list.

      --
      seth
  17. Re:windows cvs by langedb · · Score: 2, Informative

    Actually monotone works on windows as both client and server.

  18. Re:windows cvs by malloc · · Score: 5, Informative

    Subversion has a client, but no server [for Windows].

    What!? That is complete nonsense. Subversion has excellent and complete (client + server) cross-platform support. Linux, Windows, *BSD, MacOS X, Solaris -- you name it. They achieve this by using C and APR.

    Maybe you should read HOWTO Setup A Server on Windows.

    -Malloc
    --
    ___________________ I want to be free()!
  19. Uhhh... by lorcha · · Score: 2, Informative
    I am currently examining the FSFS repository that I use for my personal coding. Let me say this: "I defy you to make any sense out of the gibberish that is your FSFS backend."

    If you have a random corruption, I severely doubt you're going to be jumping into the FSFS repository and tweaking it to fix it.

    My solution: rsnapshot. Because the repository is filesystem-based, all of my backup history combined only takes up the same amount of space as my actual repository (god bless hard links). With BDB, the disk usage for my backups would be insane.

    --
    "Avoid employing unlucky people - throw half of the pile of CVs in the bin without reading them." -- David Brent
  20. Re:Oh no! by DarkDust · · Score: 2, Informative

    You can choose between a BDB based backend and a filesystem based backend.

  21. Re:I truly wished they have given a different name by EnronHaliburton2004 · · Score: 2, Informative

    The submitter was complaining that the SVN utilities lack features available in the party CVS utilities; such as SVNweb vs CVSweb.

    He wasn't complaining that SVN itself lacks useful features available in CVS. There are enough improvements (Atomic commits, versioning of directories and permissions) in SVN over CVS that switching to the new system is compelling.

    The utilities don't all need to work now anyways.
    Any sort of large-scale migration like this is done in phases. Phase 1, switch the repository. Phase 2, switch the utilities, Phase 3, cleanup :)

  22. Re:Oh no! by djmurdoch · · Score: 2, Informative

    The disadvantage of the filesystem back end is the proliferation of files. You get a new file with every commit. You need to be careful that your file system works well with a directory that might contain tens of thousands of files.

    But you shouldn't lose a repository if bdb corrupts -- you should just lose the commits since the last backup. If you're running without backups, then you'd better watch out for hardware failures, system theft, fires, floods, etc.

  23. Re:GUI frontend for SVN by gregfortune · · Score: 2, Informative

    Trac provides a nice web based diff tool and a bunch of other features.

  24. Try SVK by Krischi · · Score: 2, Informative

    SVK works well with subversion, and has support for star merges. The ability to work offline is another cool bonus. On the flip side, documentation kinda sucks right now, but its command set for every day use works in pretty much the same way as subversion's.

  25. Reasons NOT to do it in an Eclipse environment by standards · · Score: 2, Interesting

    I know all about Subversion and its advertised benefits, but then again, my organization is centered around CVS and it works for us (despite its well known limitations).

    But since I need to reorganize my development environment (new development machines, etc), I'm curious - should I switch now?

    My development environment consists of CVS and Eclipse on Windows, Linux, Solaris, and Mac (an amalgam, eh?) ... a small group of distributed developers working on a (currently) proprietary product based around Java and Perl.

    I'd only like to convert and clean up my source code repository once every 5 years or so... so is this the time to do it, or am I just looking for trouble?

  26. Re:No per file version numbers. by aweiland · · Score: 2, Interesting

    Not really. I use svn for personal use and CVS at work.

    I find it confusing when working on two files that are the same version of our software and one says 11.2 and the other is 11.8. Doesn't make a lot of sense to me personally.

    I find the repository wide revision numbers to be more intuitive to me.

    Maybe I'd be on the same wavelength as you if I had learned CVS before SVN.

  27. Re:I truly wished they have given a different name by killjoe · · Score: 3, Insightful

    " My managers simply refuse to use anything proposed by us, the development team, and named subversion."

    For the umpteenth time people. When you say things like this name your company. We all want to make sure we don't have ny stock in companies with this kind of management.

    --
    evil is as evil does
  28. WTF by eldacan · · Score: 5, Insightful

    The GNOME people are probably breaking out the champagne at this point. :-(

    Excuse me!? Please don't spread the disgusting idea that GNOME people would rejoice at hundreds of FOSS developers losing their work.

    There may be many "trolls" among GNOME and KDE users, but there are many intelligent people among the devs, who collaborate through freedesktop.org and even joke together, like on April 1st when they made planet.gnome.org point to planetkde.org and vice versa.

  29. Re:I truly wished they have given a different name by rednaxel · · Score: 2, Interesting
    Good that you mentioned it. for $50k a year, I'm glad to license them my own version control system, "Rule The Developers With an Iron Fist". It's actually just Subversion and Trac in a box with a pretty logo and some marketing collateral. Plus, a guy with a nice suit and good hair will come and spend two hours explaining things to them in short words and bullet points.

    Or they can get the deluxe version for $100k per year, where the guy with good hair will also take them golfing and out to dinner.

    It's sad, not funny. Sad, but true.
    --
    If you can read this, thank an english teacher.
  30. Platinum support contract by dubl-u · · Score: 2, Funny

    I'll put in a purchase order for the $1,000,000 version with the $100,000 per year support contract. That's the version where girls with good hair provide on site support.

    Then you should certainly consider the $200,000/yr support contract. Then the on-site tech is an experienced fluffer. Of course, on the paperwork we describe her as a network technician, so that she has a good excuse for spending a lot of time under people's desks straightening their cables.

  31. Re:GUI frontend for SVN by MemoryDragon · · Score: 2, Informative

    Well depends on how you see it, the devs currently are busy to implement everything which the eclipse CVS plugin can do, which is quite a lot. They are 95% there with small functionalities missing.
    Nevertheless the plugin people usually deliver a new javasvn and subclipse version within a few days timeframe of a new svn version, and currently the plugin is pretty much the best svn crossplatform client you can get.

  32. Re:I truly wished they have given a different name by robertjw · · Score: 2, Funny

    My managers simply refuse to use anything proposed by us, the development team, and named subversion.

    Wow, your managers actually listen to anything your say? Crazy. My manager wouldn't pay attention long enough to actually object.

  33. Re:I truly wished they have given a different name by Spoing · · Score: 2, Insightful
    My managers simply refuse to use anything proposed by us, the development team, and named subversion.

    You think that's hard...try and get sign off on something called Double Choco Latte!

    My manager at the time had this comment; "It's a great program, and exactly what we need, though I can't tell anyone about it here -- they'd laugh in my face! I'm just not going to do it!" In order to 'sell' it to other groups, we renamed it to "DCL" and swapped out the default logo. Nobody laughed, though we weren't complete enough and someone noticed a reference to "Double Choco Latte" and the begining support simply evaporated.

    --
    A firewall can not protect you from yourself. Turn off what you do not need. Do not use the firewall to do your work.
  34. Re:Is KDE using BDB or FSFS? by stilborne · · Score: 2, Informative

    FSFS