Subversion (was Rewrite cvsup & portupgrade in C)
Craig Boston
craig at xfoil.gank.org
Wed Jul 7 04:00:05 PDT 2004
On Wednesday 07 July 2004 12:38 am, Jon Noack wrote:
> On 07/07/04 00:24, Alexander wrote:
> > i think that cvs is a _bit_ arcane, subversion is good replacement..
> > well i said it's only my 2 cents :)
>
> Here's the start of an interesting thread over on -hackers from a few
> months ago wrt subversion:
> http://lists.freebsd.org/pipermail/freebsd-hackers/2004-February/005592.html
FWIW, I've been using subversion for my local FreeBSD repository pretty much
since that thread on -hackers. It does still have a few nits and performance
problems that make it painful on very large repositories. It's downright
awesome on small repos though :)
Here's what I've been doing:
freebsd/branches/* My local branches
freebsd/drops/* Snapshots of the real CVS tree.
freebsd/projects/* Random bits that don't fit anywhere else (stuff being
developed outside the tree)
Every couple weeks I'll use cvs to check out snapshots of HEAD, RELENG_4,
RELENG_4_10, and RELENG_5_2, and use svn_load_dirs to load them into the
corresponding directory in drops/. Then I'll use svn merge to merge any
changes into my local branch.
Unfortunately even very simple operations that have to apply to the whole tree
take forever and a half. update/co is the worst offender (and svn_load_dirs
runs it twice!), commit and status to a lesser extent. Sometimes even a
simple "svn info" against a single file that's at the top of the repo, say,
UPDATING, will take a long time to complete too. I had to set http-timeout
to a ridiculous number (3600, probably overkill though) because for svn
update and commit the neon client would often time out waiting for the server
to finish.
Admittedly, my server is underpowered so I'm not expecting it to be super
quick. However, the really annoying part is that long operations often can't
be canceled! For example, an accidental "svn update" on the top level, then
pressing ^C to interrupt does nothing. If the process is killed (or neon
times out, blah), stale locks are left all over the place and the apache
process on the server continues churning away until it would have finished
anyway, massively slowing down any further actions until it does...
I will say that the copy-on-write branching is VERY cool. I can see why
people like p4 so much just for that one feature alone. Automatic repeated
merge capability is supposed to be coming soon, that should be good too.
I should probably go over to the subversion lists and see if anybody has any
suggestions to improve the situation.
Craig
More information about the freebsd-current
mailing list