Subversion/CVS experiment update
Craig Boston
craig at tobuj.gank.org
Thu Feb 12 07:21:40 PST 2004
Just a quick update -- since the individual directories imported ok I decided
to give it a go with the newest (and possibly last before 1.0) subversion,
0.37.0. This time I'm importing the entire src/ repo to see what it can
handle. I'm not quite brave enough to go after ports yet :)
I'm using cvs2svn.py revision 8587, which is considerably newer than the
version included with 0.37.0. If anyone is contemplating playing with
subversion, I'd highly recommend grabbing this script out of their SVN repo
as it fixes many of the earlier problems.
So far, the only problem I've run into was src/usr.sbin/xntpd. It didn't like
something about the "udel" branch (claims it can't find the origin record for
it). I've hacked around it with the attached patch, which is most likely
wrong. If xntpd is the only problem case, it may be cleaner just to 'fix'
the RCS files. It looks like there's a copy of a vendor branch or something
funny going on.
To follow up to the concerns we had about subversion getting slower after a
large number of commits, I'm now reasonably certain that it's only the import
script that is slowing down. python is gobbling up CPU like there's no
tomorrow, but the amount of time spent in svnadmin actually committing seems
to be negligible.
The other good thing is that memory usage seems to be fairly constant. The
resident set has been hovering around 8M and is not increasing.
I started the import Monday night, so it's been running for about 60 hours
now. python has amassed about 40 hours worth of CPU time:
PID USERNAME PRI NICE SIZE RES STATE TIME WCPU CPU COMMAND
19802 craig 139 10 12920K 9292K RUN 40.5H 78.91% 78.91% python
So far, it's committed 39,664 revisions and is up to August of 1998. The repo
is sitting at 1.4GB in size (there's a script running in the background
pruning the db logs every 60 seconds) and cvs2svn is using ~800M of temporary
files. Looks like it's currently working on the initial import of picobsd ;)
I'm doing other stuff on the machine during the day -- XFree86, gkrellm, KDE,
etc. So far ULE is keeping interactive performance snappy, though when I'm
doing other things the niced processes tend to get a little "bursty".
cvs2svn has it to itself for the other 16 hours.
Will follow up on success/failure of the import, which at this rate will
probably be done sometime next week...
Craig
-------------- next part --------------
--- cvs2svn.py.orig Mon Feb 9 19:52:07 2004
+++ cvs2svn.py Mon Feb 9 19:53:56 2004
@@ -1709,7 +1709,8 @@
else:
sys.stderr.write("%s: no origin records for branch '%s'.\n"
% (error_prefix, name))
- sys.exit(1)
+ return
+# sys.exit(1)
parent_key = parent[name]
parent = marshal.loads(self.db[parent_key])
More information about the freebsd-hackers
mailing list