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.)
Kongradulations!
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 -
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.
Hey, that's neat, you can use SVN as a pointy-haired-boss detector!
Sorry about yours, by the way.
The enemies of Democracy are
Then call it SVN, Subversions shorter name.
tell him/her it's named "superversion"
Liberal (adj.): Free from bigotry; open to progress; tolerant of others.
Government taken control of KDE project??? Did I miss something? I only know that the KDE project was planning to switch to subversions since more than an year and finally they did it. really... Kongratulations.
Monolithic svn databases are vulnerable to irrecoverable corruption
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
Great!
Now when are they going to be switching from Bugzilla to Trac?
(insert ha-ha-only-serious-cos-Bugzilla-scares-me smiley here)
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
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).
see a Text Widget
You mean this?
I've been using SVN mainly for my documents, but hope to start using it for my code.
Right now I've been using the CLI and I was wondering if anybody knew of GUI frontends (especially for diff'ing).
xfce Already switched to svn weeks ago. Lightwight, slick, fast, and now hosted on SVN.
Of course, Microsoft is coming out with their own alternative. It's called Coercion.
- Greg
Start a happiness pandemic
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:
D'oh!
Liberal (adj.): Free from bigotry; open to progress; tolerant of others.
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
You missed the part about "subversion"
SubVersion is available for Windows as well.
-- Ravi
You should just pronounce it like it is hyphenated.
But, this is the first I am reading of this. Why are they moving from CVS to Subversion? It would seem that if it lacks useful features available in CVS that KDE would stick with CVS.
mbbac
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.
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.
Actually monotone works on windows as both client and server.
Perforce, while closed source, has a free version of their software that can be used for open source projects. You can find out more information about it here. Perforce has clients for just about every operating system you can think of, including Windows, Linux, BSD, and OS X.
I hope they at least refrained from using berzerkeleydb as backend. I know several projects who have lost their repositories with bdb.
:-(
I personally have also lost data to bdb, but not in subversion. I would never be so mad to trust my source code to some broken database backend. How are you going to get your code back if there is corruption? strings?
The GNOME people are probably breaking out the champagne at this point.
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()!
Can't tell if you're trolling, but this being a Subversion story and all, try googling it.
You could even try reading the fine Subversion red manual. Note that, for a simple setup using the file based repository (FSFS), you don't need any fancy-dan Apache or BDB, just subversion itself.
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
Linus chooses ham sandwich instead of chicken.
And the point is that people who look up to Linus may begin to choose ham over chicken. Just like people who look up to the KDE development team, or who use the desktop is more likely to consider Subversion now.
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
94% of Repubs and 21% of Dems voted to renew the Patriot Act
Am I required to pretend to believe Subversion is better now?
Saying Java is nice because it works on all OS's is like saying that anal sex is nice because it works on all genders.
Apologies, I misread: http://subversion.tigris.org/project_packages.html
as not having a server, rather just not running on windows 98. I'll take a look, although does it have support for vs.net?
Nothing costs nothing
I've read that Perforce is the software Microsoft user (with modifications), although they will be switching to to Team System when it appears this year - which should be good as they'll actually feel the pain of their own source control system if it goes tits up.
Nothing costs nothing
"user" should read "uses". It's a shame comments.pl doesn't allow you to edit like most other forums do.
Nothing costs nothing
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.
For shizzle. People are always complaining about "Oh, God, this product has such an awful name, my boss would never use it. I have a million better ideas for names!" But they don't get that, it's open source, so if you want to have a Fork In Name Only, you can go right ahead and do that. Just write a script that will changes all instances of 'Subversion' (or whatever) to 'Project Management Pro Elite'. Piece of cake.
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).
... a small group of distributed developers working on a (currently) proprietary product based around Java and Perl.
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?)
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?
I doubt they'd use Insurrection, since Konqueror doesn't handle the pages Insurrection generates (it's behind Safari as far as XML/XSLT support to begin with, and even Safari isn't working perfectly with it). Unfortunate, though, since it looks really cool.
It can be confusing.
AnkhSVN is a VS.NET plugin. However, I'd encourage you to check out the really excellent TortoiseSVN client. I think one of the main reasons people like IDE integration is they're so used to the extra hassle that first checking out, editing and remembering what files to checkin, that the lock-modify-unlock model imposes. With Subversion's copy-modify-merge model and TortoiseSVN's recursive-oriented commit dialog, I think tight IDE integration looses much of it's usefulness.
-Malloc___________________ I want to be free()!
Subversion is kinda behind the curve these days. I mean the whole concept of Subversion can basically be summed up as "let's make something that feels just like CVS, but doesn't suck." There are lots of free alternatives that provide much more advanced capabilities.
It's too bad they didn't chose something more advanced like Vesta, or Codeville, or monotone, or Darcs.
CVS is teh suck. Use Vesta instead.
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.
" 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
Try calling it SVN, and pronounce it ess-vee-en. If that isn't enough, claim you've got a "demo license" of it, rather than telling them it's open source. Weirdly, most companies I've worked at which had problems with open source had no trouble with developers using demo versions of things indefinitely.
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.
Project wide revision numbers and log messages are the 2 things as a Project Manager I find most useful!
Part of our build process reads the revision number from the .svn dirs in our tree and displays them on the title screen - bug reports coming back with a project wide revision, rather than just some stab in the dark like the date the bug was found, makes my job so much easier.
I think that's also well-worth noting, as Apache is a pretty big and significant open source software player, and as such its migration to Subversion, which happened months ago, served as the "green light" for smaller projects's move to SVN.
When is SourceForge making this move?
Simpy
Use the SVN property $LastChangedRevision$ which is similar to the CVS $Revision$ property.
Also, to see how many times a file as been changed, use SVN's log feature to show a list of revision numbers where that particular file was changed. I'm not sure the commandline for it since I use TortoiseSVN to view it.
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.
See what I've been reading.
Hummmmm. For fun, send them links to Satan.
I prefer the "u" in honour as it seems to be missing these days.
And for another 10 000$ per month the girls also have good "other body parts" on top of the hair. (well not on top, but in addition)
I like my dinosaurs feathery, and my pterosaurs hairy (or is it pycnofibery?)
If you can read this, thank an english teacher.
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.
There is no reason you can't install both - I much prefer TortoiseSVN for most of my interaction with SVN, but it is convenient to have commit status at a glance from within Visual Studio (thanks Ankh!).
"Good things don't end with eum, they end with mania or teria." - H. Simpson
I've seen a lot of projects moving to subversion lately, what are the major advantages Subversion has over CVS.
Bits of News Giving you the latest bits.
Apache almost switched all of is infrastructure to SVN... if you know that Apache.org is a little bit more than simply the webserver, you know what I mean. Guess the code which already is hosted on the Apache SVN outnumbers the one from the KDE project.
But nevertheless, Konkratulations
Trac + subversion (500 Mb repository) is awesome combination. Easy to setup and less to worry about. Best feature is the wiki support from trac where anybody can add to the content. Just love that feature.
Using bbdb as a backend and as mentioned by others, it has issues. Once in a while the repository is corrupted and I have to run svn-admin recover to fix it. Planning to convert the backend to FSFS but am still not sure about its reliability (atleast subversion website says its still beta and not well tested).
bin
look siG is kool
suggestion for organising your work as a pimp: kde-pimp
Money quote, as pertaining to VSS:
you had me at #!
Any gnome/kde based versions of TortoiseSVN? I'm so addicted to it on Windows that I want it on my linux desktop.
Actually, you need libapr, which usually requires having apache installed, and both versions need to be compiled with the proper version of BDB.
I've found, in my experience, that it's best to build apache and subversion from scratch using your distributions BDB and Apache packages.
Oh, and make sure you svndump before you upgrade ANYTHING. Nothing sucks worse than thinking you had the right BDB version when you go to move a repository onto a new machine...
What VCS does Microsoft use for its own internal development efforts?
;) Internally, we don't call it VSS, we call it SSS (SourceSafe Sux).
If it was Visual SourceSafe, then that might explain some... Windows issues.
It just seems like most of the large-project-oriented VCS's (Perforce, cvs, Subversion, etc.) are open-source.
I'm in the same boat. On the TortoiseSVN dev@ list there have been a few noises of someone working on a Nautilus plugin, but I have no idea if that's gone anywhere.
-Malloc
___________________ I want to be free()!
And someone do something about the Gimp at the same time please! ;D
Actually you must be a clearacase only user, if you ever had to admin it you would hate it. No SVN is not even comparable. While clearcase builds a unix on top of everything before even going into the versioning infrastructure and then adds lots of bloat which most people never will need, SVN just tries to do what a centralized version system does. Clearcase however has the advantage of having a stable repo replication mechanism (which you pay huge dollars for) Subversion is not there yet, there is a project which allows decentralized versioning on top but it is not yet integrated. You wont get some kind of semi working software process like in clearcase, all you can get is a working versioning server and the tools around it. But on the other hand you also dont need a full administration departement to keep things up and running.
Sorry to say that, but Clearcase in 99.999% of all cases is totally versioning system overkill.
Call it "Project Manager Server Professional Edition 2005 XT(R)(TM)". Can't lose!
Its easy to say that apache is quite large; but its also quite new and doesn't have such a long history for many of its subprojects.
:)
In fact the kde repository consist of a lot more then the apache repositories both in codelines and history. After conversion its about 220% the amount of revisions.
So; no. You're wrong. KDE is the biggest one by far to adopt svn.
Now lets see if its any good
This has strayed rather offtopic, but let's continue, since I might learn something: I use svn with the file system repository. I certainly don't have apache installed, but you're right - "apt-get remove libapr0" does warn that subversion will be removed. I based my above assertion on the fact that, when using FSFS and a command-line interface to the repository (as in a local, single user setup, although you can NFS mount the repository so long as you don't use BDB), there is no subversion service required to be running - all changes to the repository are done through the client svn commands. So why does it need libapr?
It seems that libapr0 is a "free library of C data structures and routines, forming a system portability layer to as many operating systems as possible, including Unix, MS Win32, BeOS, and OS/2.", which explains the dependency. I'm very suprised that you have found it necessary to install Apache just for that. It still seems likely to me that a Windows version should be runnable without any dependency issues - my initial reading about svn scared me off slightly, because I thought I was going to have to install all of that stuff just to handle local revision control. My intention was to tell the OP that such a headache isn't necessary. In any case, thanks for the info!
Iain.
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.
Find coupons in Greeley
use SVN's log feature [...] I'm not sure the commandline for it
The syntax for that command is (you'll like this):
svn log foo.bar
My advice? Go work for a sane company :)
I think a lot of things in Subversion could be improved, but for a project that is supposed to take the mindshare from a previous tool, subversion is the perfect name, imho. If all open source projects (or even just other version control tools) chose names that well, they'd probably be more successful.
Anyone know if KDE is using the BDB or the FSFS backend?
"Avoid employing unlucky people - throw half of the pile of CVs in the bin without reading them." -- David Brent
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.
Sure! (OK, it's not The Gimp with a different name, but it's a damn nice fork with some high end features.)
A firewall can not protect you from yourself. Turn off what you do not need. Do not use the firewall to do your work.
Exactly! I love the repository revision numbers for testing purposes. When I build a release, Xcode bumps a plist value to the current repository version, and the users see that as the beta number. I don't have to worry about tagging a "release" in the repository for a beta, and I know exactly what to check out if a bug report comes in.
This is incredibly nice when you may have a half dozen or more different testing builds out at the same time, as I have in the past. It makes it much easier to do little one-off builds to squash one user's bug at a time.
Stuffing a server-side XSLT transformation shouldn't be too difficult though, so I don't see this as being a barier.
The bad news is that it doesn't look like this problem is going to be fixed any time soon. It is the design of the workspace (client part) that slows things down -- it creates several additional files per every checked out file and God only knows how many directories. Of course keeping track of these takes very long.
People say, ReiserFS works almost as fast as CVS, but this is not going to help us on Windows
Maybe the managers are just really, really smart, and are holding out for Arch.
Maybe that had a bad experience with the other DCL
Having compile SVN a while ago to get the javahl bindings (hopefully they will die soon) I noticed that you can compile svn without the libapr, it is just a matter of setting a flag in the configure...
You need the libapr only if you want webdav and http access anyway.
APR == Apache Portability Runtime. Something similar to NSPR == Netscape Portability Runtime, similar to ACE or BOOST. A library designed to easy portability of file access, socket access, threading, etc.
In my experience, SVN will not build, webdav or otherwise, without APR installed.
Now, I'm not trying to deride the author too badly, but trying make a point. If you're willing to take such undocumented, unsupported information on faith, why not take the word of thousands of happy Subversion users and administrators (not to mention the likes of the Apache project, KDE, and hundreds of others)?
I have managed MANY Subversion repositories over the last couple of years, with glorious success and ZERO complaints -- ALL WITH THE BDB BACK-END. I'm all smiles. I suggest you disregard such poorly-documented FUD. Instead, try actually READING the SVN book, which covers all of these aspects in heavy detail, possibly combined with the SVN users and/or developers mailing lists.
Greg T.
Subversion on Windows, for local use and with FSFS, has no dependencies.
I tested like this:
1) Copied my FSFS repository from Debian to vfat partition of WinXP machine.
2) Installed TortoiseSVN on WinXP.
3) Checked out and updated, played with, committed to, repository on WinXP.
I know this excludes the "create repository on WinXP" step, but svnadmin is downloadable for Windows without needing to install any other dependencies. All of this shows that:
1) The OP can use SVN for their own personal projects on Windows without worrying about installing BDB or any Apache stuff (libapr being part of the installation set, the end user doesn't need to know about it). In fact, no services are running at all, and;
2) I have far too much spare time!
Most places that talk about svn are discussing its use in a multi-user client-server setup, which of course is more complicated. I was just trying to say that, if you're working alone, but want to have revision control, svn is much simpler than most tutorials imply.
You say you're interested in it "for private use"; in that case *you don't need a server* - all you need is to download TortoiseSVN. You don't need to worry about installing Apache, or BDB.
It's so easy, I'll describe the process in full:
1) Right click on folder where you want to create your repository.
2) Select "TortoiseSVN->Create Repository Here" - select "Native Filesystem (FSFS)"
3) Right click on directory you want to put under version control, and select "TortoiseSVN->Import"
4) Right click on folder where you want your working copy to be, select "Export", and type in the location of your repository (in format "file:///C:/myrepos").
5) Make changes to working copy, check in, check logs, all new files to the repository, blame, all from right clicks on the files/folders in the working directory.
Note that, for (3), if you don't want to put EVERYTHING under revision control (eg object files, exes), first make a copy of your files and delete the things you don't want to include. Then proceed to (3) using your "tidy" directory.