I've been using Subversion for about a month now and I must say after suffering through CVS for years its lovely. The tipping point for me was when I could install it from the stable branch of fink on OS X.
It does just what its designed to do, its a replacement for CVS. After wrapping my head around the few architectural differences I'm completely comfortable with it. Its fixed the stupid CVS problems. Files and directories can be renamed while preserving history. Branching is simpler. You can turn off $Revison$ munging on a per-file basis. The documentation is much better, each command has its own help page (svn help ) and the online SVN book is quite nice.
My advice for CVS users switching to SVN: Read Appendix A of the SVN book first. This lays out the major differences between Subversion and CVS. Also, jump directly to version 1.1.1 and use the new FSFS repository type. A lot of the problems you might have heard about SVN stem from the old Berkeley DB format.
What's missing? XEmacs vc-mode support. A few little interface nits (svn mkdir -p, svn tag). Its still a bit slower than CVS.
I'm moving my CPAN modules off CVS and onto my SVN repository as I work on them.
vc mode (Score:1)
Keep us updated (Score:1)
I like the web interface a lot better and getting source through a proxy via http:https rulez, but having a copy of Apache2 around just for it seems like a pain, altough I hear CVSWeb groks SVN now too.
I still can't get my brain to accept how tagging and branching works without a branch/tag command.
Re:Keep us updated (Score:2)
You don't need to have Apache2 around to use Subversion, just for the webdav stuff (though Apache2 and mod_perl 2 are nearly mature.) You can set up svnserve (ie. svn: urls) which is the most efficient, its analogous to pserver, with less suck and more security. You can also use svn over ssh ( svn+ssh:) like CVS does.
There's also a few CVSWeb like things out there. WebSVN [schwern.org] is o
Re:Keep us updated (Score:1)
I took a look at your WebSVN. Is it me, or is it slooooooooow?
Thanks,
-=Chris
Slow slow slow (Score:2)
Re:Keep us updated (Score:2)
This also means that since every file has the same revision you can use $Revision$ as a project-wide $VERSION in all your .pm files.
I'm presuming that's if you want version numbers of the form 1.49 and so far haven't moved up to 2.0. What do you do if you want to call a release of your module 2.0?
J. David works really hard, has a passion for writing good software, and knows many of the world's best Perl programmers
Great on Windows too (Score:1)
Screen-shot [darserman.com] The small icons on the files and folders indicate change status.
One thing that sucks though; once when I renamed a class and had to move a directory with it's contents, that corrupted the SVN database somehow. That was a while ago, so it may be fixed by now. Or it may be the GUI component using SVN the wrong way.
Thank Chip (Score:2)
Also, jump directly to version 1.1.1 and use the new FSFS repository type. A lot of the problems you might have heard about SVN stem from the old Berkeley DB format.
I'm not sure who to directly credit for this addition, but I do not that back in the ancient, ancient days of Subversion, before most people even knew it existed, Chip Salzenberg took at look at the project and decreed that it needed to be modified to work with flat files. Unfortunately about that time Eric Raymond showed up and dragged the
J. David works really hard, has a passion for writing good software, and knows many of the world's best Perl programmers