Message-Id: <200008222143.QAA19498@darwin.sfbr.org> Date: Tue, 22 Aug 2000 16:44:19 -0500 (CDT) From: Jeff Williams Subject: Re: Symlinks are done! To: djgpp-workers AT delorie DOT com MIME-Version: 1.0 Content-Type: TEXT/plain; charset=us-ascii Content-MD5: VjY5btLlDScVD+dS+2BdDQ== X-Mailer: dtmail 1.3.0 @(#)CDE Version 1.3.4 SunOS 5.7 sun4u sparc Reply-To: djgpp-workers AT delorie DOT com -: if program does not deal with symlinks directly, then simple relinking -: should DTRT. However, in other cases reconfiguring and rebuilding -: from the srcatch must be done. Hmmm. The DJGPP port of RCS involved the addition of some code to handle symbolic links. The relevant portion of the readme file is attached; can someone say from this if the code added to the RCS port is now (completely or partially) redundant, or would cause problems for a rebuild of the RCS port, now that symlink support has been added to DJGPP? ------ [from rcs5713s.zip -> src/rcs-5.7/MSDOS/README.TXT] 5.1 RCS_SOFTLINKS This feature interprets path elements with the name RCS as containers for symbolic links and will replace all path elements up to and including the RCS reference with the contents of that file. Note that this differs from the standard symbolic link which may be relative. Simple, right? There are a couple of caveats. The first is only a concern for MS-DOS (not Windows 95) users who are using the -x switch to eliminate the pesky ",v" logfile suffix. RCSDIFF needs to be able to distinguish a workfile from a logfile. It usually uses the ",v" suffix to identify logfiles, but the -x switch inhibits them which is necessary without long file names. So, in order to identify the logfiles, the linked directory must be either `RCS' or a directory with the extension `.RCS'. Thus the directory name that is in the RCS soft-link file must end with the letters `RCS'. So far, this has not proven to be a bother. If you do not use the -x switch, then this limitation is not imposed upon you. Let me give an explicit example. Your development directory might have one source and the link file. foozle.c RCS The file RCS contains the absolute pathname of the real logfile directory: c:\logfiles\projfoo.rcs. This directory could not be c:\logfiles\projfoo, but it could be c:\logfiles\projfoo\rcs. The second caveat is that we now have the problem that the command rlog -h rcs/* cannot be expanded by DJGPP on starting the program. MS-DOS sees a file named `rcs' so the wildcard is meaningless. Thus, I added glob.c to the sources and perform link expansion in the function getRCSINIT. Scan the source code for RCS_SOFTLINKS for all of the places that were modified to support links. ------