[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
CVS Command Line
CVS Command Line
Thu, 29 May 2008 19:37:15 -0400
Hello all. Please forgive if this is a duplicate. I sent it this
morning, and it doesn't look like it ever reached the list. At least,
I don't see it.
I'm a system admin of a large, private source control server, which
has exceeded 4,000 active CVS projects.
CVS is managed by xinetd, and each project is listed as a server
argument using --allow-root=/cvsroot/project. This has worked fine,
until recently, when the number of projects has caused the CVS command
line to exceed the memory paging limit set in the linux kernel.
The kernel was customized by Red Hat in 2006 to fix an unrelated bug,
and the source containing that fix is no longer available, not to
mention, I'm not really inclined to perform a kernel recompile on a
So, my other option was to modify CVS. I've taken my default RPM from
Red Hat, currently using 1.11.17, and modified CVS to use --ar=,
instead of --allow-root. This reduced my CVS command line quite a bit
(8 bytes per project), which solves my issue, at least until my number
of projects grows to exceed it again. The good news is, we're about
to do a major upgrade, and offer SVN as well as CVS, but until usage
proves otherwise, I must assume that my number of CVS projects will,
at the very least, stay the same, if not increase. The new server
also has the same limit.
In the end, I'm not a programmer. I'm a system admin who can usually
figure out just enough of something to get it to work. I haven't the
foggiest on the "proper" method to introduce something like this to
the *real* CVS tree, so that once (if) it is included to the main CVS
development trunk, I no longer have to keep track of my hack. I'd
rather leave that to the experts.
In my hack, I simply changed all "--allow-root" references to "--ar",
recompiled, remade the rpm using the same name, and installed the
package. It appears to work just fine, but again, it's a hack, and I
really would prefer to do things right, so that I don't run into the
above issue, of needing source code that is no longer available.
I would like to see it added to the main CVS package, most likely as
an option, so that both "--allow-root" and "--ar" work.
Ideally, has anyone ever examined a method, that wouldn't be
unbearably slow for a server with thousands of projects, that could
dynamically determine if the cvsroot being requested was a valid
Thanks for your time.
- CVS Command Line,