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