[lug] CVS temporary files
Jeff Schroeder
jeff at neobox.net
Mon Nov 22 16:13:50 MST 2004
Hey all--
As a longtime convert to CVS, I recommend it to many developers for
software projects. I helped a small company set it up on an in-house
server, and they keep seeing problems when many people are making
simultaneous updates. Specifically, they get an error message like
this:
cannot create_adm_p /tmp/cvs-serv712/project
No space left on device
When I do a 'cvs checkout project' on my client machine, I see the CVS
server creating a /tmp/cvs-serv[nnn[ directory and then filling it with
a directory tree that mirrors the project. Inside each directory is a
handful of text files (Entries, Entries.Log, Repository, and Root),
none of which are more than a few kilobytes in size. All told, a full
checkout might presumably consume a megabyte of temporary space doing
this. As soon as the checkout is complete (or interrupted), the server
wipes the tree.
I have /tmp mounted as tmpfs with 128MB allocated to it-- in other
words, the /tmp partition can't grow larger than 128MB. There are
perhaps a dozen developers on the project, and it's highly doubtful
that every one of them is doing a full checkout simultaneously. Even
if they were, I would expect no more than 15-20MB of space to be needed
by the CVS server.
I looked at the documentation and found a "LockDir" item, but that
appears to control where CVS stores a record of what directory it's
currently processing (so someone doesn't update a file in a directory
that's being checked out). And that takes only a handful of bytes, so
I don't think it's the problem.
Has anyone seen this kind of behavior, or have suggestions about how to
avoid it? I've never personally seen the error message above, but
several fairly savvy developers have reported it. They're all using a
Mac OS X client, whereas I'm on a Linux box. I can't imagine it makes
that much difference, though.
Thanks,
Jeff
More information about the LUG
mailing list