Hello, I have the following problem using a NT 'pserver' CVSNT 1.11.1.2 (Build 36) and having files in subdirectories in the checkoutlist, e.g. CVSSupport/ACL.pm. The cvs server on NT cannot rename the new temporary file e.g. .#314 to CVSSupport/ACL.pm. Therefore the administrative database is not updated correctly.
I think, the problem is before this step, because the server tries to rename the existing CVSSupport/ACL.pm to .#CVSSupport/ACL.pm, which is not possible under Windows NT, though our Linux (1.11.1pl1) server seems to handle this rename. IMHO, this rename is not correct, neither for Linux nor for Windows. I guess it should be a rename from CVSSupport/ACL.pm to CVSSupport/.#ACL.pm. To achieve this I have patched the mkmodules.c. Using this patch (see below) the above problem is solved and the .#-files appear in the subdirectories as they can seen in the CVSROOT directory. BTW, I am using this patch with a Windows and Linux cvs server. Frank *** mkmodules.c.#.1.1.1.1 Fri Oct 26 07:45:31 2001 --- mkmodules.c Wed Oct 24 13:55:08 2001 *************** *** 787,792 **** --- 787,793 ---- char *bak; struct stat statbuf; char *rcs; + char *dirsep; /* Set "x" bits if set in original. */ rcs = xmalloc (strlen (real) + sizeof (RCSEXT) + 10); *************** *** 800,806 **** if (chmod (temp, 0444 | (statbuf.st_mode & 0111)) < 0) error (0, errno, "warning: cannot chmod %s", temp); bak = xmalloc (strlen (real) + sizeof (BAKPREFIX) + 10); ! (void) sprintf (bak, "%s%s", BAKPREFIX, real); /* rm .#loginfo */ if (unlink_file (bak) < 0 --- 801,814 ---- if (chmod (temp, 0444 | (statbuf.st_mode & 0111)) < 0) error (0, errno, "warning: cannot chmod %s", temp); bak = xmalloc (strlen (real) + sizeof (BAKPREFIX) + 10); ! /* rename in the directory */ ! dirsep = strrchr (real, '/'); ! if (NULL == dirsep) ! (void) sprintf (bak, "%s%s", BAKPREFIX, real); ! else ! { ! (void) sprintf (bak, "%.*s%s%s", dirsep-real+1, real, BAKPREFIX, ! dirsep+1); ! } /* rm .#loginfo */ if (unlink_file (bak) < 0 =========================================================== plettac electronic security GmbH Videosensorik Dr. Frank Stockinger Würzburger Straße 150 90766 Fürth Tel +49 (0)911 75884 334 fax +49 (0)911 75884 121 email: [EMAIL PROTECTED] [EMAIL PROTECTED] _______________________________________________ Bug-cvs mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/bug-cvs