www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/2000/08/22/17:44:51

Message-Id: <200008222143.QAA19498@darwin.sfbr.org>
Date: Tue, 22 Aug 2000 16:44:19 -0500 (CDT)
From: Jeff Williams <jeffw AT darwin DOT sfbr DOT org>
Subject: Re: Symlinks are done!
To: djgpp-workers AT delorie DOT com
MIME-Version: 1.0
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.
------

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019