We're in the process of setting up a new server for CVS access and for various fallback, redundancy and recovery reasons the directory part of the users CVSROOT environment variable must point to a symlink.
During testing of the system, we discovered commands don't always work right. In particular it seems like checking out with -r <tag> doesn't always work. I've seen this work for some tags and fail for others. Some of the other people testing the system have seen it work sometimes and fail other times for the same tag. After searching old cvs-info archives I found the message below, which seems to be the same problem we're having. A couple questions: 1. Can this be fixed? Or is this already fixed? We are currently using 1.11.1p1 for the tests, but plan on moving to 1.11.2 very soon. Will that make a difference? 2. After looking at the code (lock.c:177 for 1.11.1p1) I'm guessing the reason the assert fails is because "repository" contains a translated version of the path (without symlinks) and "CVSroot_directory" contains the symlink version of the directory. Is that correct? Assuming that's true, would it be possible to force the internal representation of the CVSROOT directory to be symlink free? In other words, translate it into the real path? And would that help? 3. Why doesn't if fail consistently? Why only certain tags? ------------------------------------------------------------------------ Subject: Re: Assert Failure: cvs: lock.c:173: lock_name: Assertion `strncmp (r Date: Wed, 6 Jun 2001 14:39:34 -0400 (EDT) From: [EMAIL PROTECTED] (Larry Jones) Content-Type: text/plain; charset=US-ASCII Nesbitt, Steve writes: > > cvs: lock.c:173: lock_name: Assertion `strncmp (repository, > CVSroot_directory, strlen (CVSroot_directory)) == 0' failed. > Terminated with fatal signal 6 [...] > This command was working last week. The only known change is that the > repository was copied to another disk yesterday because of disk space > problems. And that's the cause of the problem. CVS doesn't like it when CVSROOT is a symlink rather than a real directory. You may be able to use some kind of "loopback" mount rather than a symlink. If not, you'll have to change everyone's CVSROOT or live with the things that don't work. -Larry Jones ------------------------------------------------------------------------ _______________________________________________ Info-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/info-cvs
