This past weekend, we moved our cvs repository from an old Solaris box to a new
linux box.  After doing so, we experienced a very bizzare problem.  CVS (on the
client end) would say "can't chdir to /root - Permission denied" and "Can't
open file /root/.cvsignore - permission denied".  After pouring through
documentation, FAQs and even the source code, I finally found a comment for the
get_homedir() function that says that the home directory isn't properly
determined on the server end.  

I guess CVS launches as root and then changes users immediately to do CVS
commands but somehow the home directory in the environment is still that of
root.  On a standard Solaris install, root's home directory is "/", which is
readable and executable.  In this case, CVS doesn't find the files it is
looking for and it's no big deal.  On a standard Linux install (at least
RH6.2), root's home dir is "/root" which is NOT readable/executable by anyone
but root.  As such, CVS cannot enter the directory to check for the files it's
looking for and thus fails.

Sure enough, I went in and 'chmod a+rx /root' and everything worked normally.

This seems like a pretty major bug and I'm surprised that it isn't documented.
I tried all variants of 1-10 to no avail.  Has anyone else seen this before?

Dave

-- 
David Copeland
Software Engineering Director
NOVO
Relationship Architects for e-Business

Voice 415 646 7026 | Fax 415 646 7001
http://www.novocorp.com

Reply via email to