Subject: RE: RCS 5.7 and 5.7-2: Patch for potential solution to CR/LF problems
From: "Dean Ferreyra" <[email-masked]>
To: <[email-masked]>
Cc: <[email-masked]>
Date: Sun, 14 Apr 2002 17:46:17 -0700

Hello,

The last patches I posted on http://pages.sbcglobal.net/dferreyra/ did not
take care of all the CR/LF issues under Cygwin.  Most importantly, for DOS
files the reverse-deltas stored in the *,v files held a copy of the entire
file for each revision.  Also, the reverse-deltas did not preserve the
end-of-line style, so checking out previous versions would yield the correct
text, but with the wrong line endings.

I have created new patches, also found on
http://pages.sbcglobal.net/dferreyra/ to fix these problems.  The
patch-rcs-5.7-for-cygwin-2.diff patch is for the RCS source from the
official RCS home page for RCS version 5.7. The
patch-rcs-5.7-2-for-cygwin-2.diff patch is for the RCS source from Cygwin
for RCS version 5.7-2.

These patches incorporate the previous changes that I made, plus the
following:

1. For systems that need it, force calls to diff from ci to use --binary.
This change allows the reverse-deltas to be stored correctly and allows
previous versions to be retrieved with the correct end-of-line style.

2. For systems that need it, force co to set stdout to binary mode when
using the -p option.  This allows files created with "co -p ... > file" to
be correct.

3. Fixes some stray file-opens that used explict mode strings like "r"
instead of conf.h constants like FOPEN_RB.

For all of this to work under Cygwin, you must make sure the mount style of
your temporary directory matches the mount style of your working directory.

If others choose to use these patches, I (still) hope they will test the
resulting RCS programs thoroughly before using them!

Again, any feedback is welcome.

Dean

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/