* [ANNOUNCEMENT] Updated: rcs-5.8.1-1: The Revision Control System
@ 2012-09-18 12:22 Dr. Volker Zell
2012-09-26 16:04 ` Wagemans, Peter
0 siblings, 1 reply; 2+ messages in thread
From: Dr. Volker Zell @ 2012-09-18 12:22 UTC (permalink / raw)
To: cygwin
Hi
A new version of 'rcs' has been uploaded to a server near you.
o Update to latest upstream release
o Build for cygwin 1.7.16 with gcc-4.5.3
o Uses cygport-0.11.0 for .hint files generation
o debuginfo package included
rcs NEWS:
=========
- Bugs fixed
- Debug output removed
Due to an oversight, release 5.8 rlog included code to write
debugging output to stderr for invocations using the '-d' option
and a date range (e.g., 'rlog -d 2010<2012').
- Criteria for avoiding read-only checks refined
For "make check", some test cases are inhibited if the user
running the test is not effectively blocked from writing a
purportedly read-only file, such as when "make check" is run by
the super user, or for certain (weird) NFS situations.
Previously, to determine this condition, we considered only the
operating system type, a very crude (and incomplete) proxy.
Now, we explicitly check with a shell sequence comprising the
umask(1) and test(1) commands, plus output-redirection.
- Regression in '-zLT' handling
On a 64-bit x86 system, RCS 5.8 introduced a regression whereby:
rlog -zLT -d>2011-05-04
would select the correct entry but display its date always with
default (01) month and day, i.e., YYYY-01-01. This is now fixed
(see also tests/t320).
- Regression in 'ci -d -T' handling
RCS 5.8 introduced a regression whereby:
ci -l -d -T FILE
would set the mtime of RCS/FILE,v (the comma-v file) to the
epoch. This is now fixed (see also tests/t810).
- Use 'diff --label' instead of 'diff -L'
Previously, RCS used GNU diff's '-L' option. According to Paul
Eggert (a GNU diffutils maintainer):
That option has been undocumented since diffutils 2.8
(released in March 2002) and the option is intended to
be replaced sometime soon with a different meaning.
Now, RCS uses 'diff --label', thus immune to the planned change.
- Miscellaneous changes
- Make help extraction noisy (on failure)
- Silence some compiler warnings
- Increase coverage of "make check"
- Documentation improvements
- Manpage rcsintro(1) dropped
This manpage is redundant, and (arguably) should not have been
in section 1 in the first place.
- Use "Invoking COMMAND" instead of "COMMAND" as node names
This makes it easier for 'info --usage COMMAND' to DTRT, and
makes GNU (info "(standards) Manual Structure Details") happy.
- explicitly UTF-8
This is to prepare for a (future) GNU Texinfo release that
renders @code in a more pretty way when the encoding is UTF-8.
If you're reading this (from the future) with such a Texinfo at
hand, feel free to regenerate the docs in doc/ prior to install.
- CVS is not GNU
Previously, we incorrectly said "GNU CVS", succumbing to a
common misunderstanding. Now we know better.
- TAGS file no longer distributed
To create, configure normally and do "make TAGS".
- New configure script option '--enable-coverage'
Specifying '--enable-coverage' causes '_Exit' to be an alias for
'exit' and CFLAGS to append '--coverage' if the compiler is GCC.
This is needed because the coverage machinery writes the .gcda
files only on 'exit'.
This option is for maintainers; most people can ignore it.
- Portability improvements
- Use more gnulib modules
- Use portable Makefile subst-ref variable syntax
- Use portable shell command-output interpolation syntax
- Maintenance tools upgraded
- GNU Automake 1.12
- GNU Autoconf 2.69
- gnulib-tool (GNU gnulib 2012-06-03 16:29:00) 0.0.7432-f6c24-modified
CYGWIN-ANNOUNCE UNSUBSCRIBE INFO
================================
If you want to unsubscribe from the cygwin-announce mailing list, please
use the automated form at:
http://cygwin.com/lists.html#subscribe-unsubscribe
If this does not work, then look at the "List-Unsubscribe: " tag in the
email header of this message. Send email to the address specified
there. It will be in the format:
cygwin-announce-unsubscribe-you=yourdomain.com@cygwin.com
If you need more information on unsubscribing, start reading here:
http://sourceware.org/lists.html#unsubscribe-simple
Please read *all* of the information on unsubscribing that is available
starting at this URL.
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
^ permalink raw reply [flat|nested] 2+ messages in thread
* RE: [ANNOUNCEMENT] Updated: rcs-5.8.1-1: The Revision Control System
2012-09-18 12:22 [ANNOUNCEMENT] Updated: rcs-5.8.1-1: The Revision Control System Dr. Volker Zell
@ 2012-09-26 16:04 ` Wagemans, Peter
0 siblings, 0 replies; 2+ messages in thread
From: Wagemans, Peter @ 2012-09-26 16:04 UTC (permalink / raw)
To: cygwin
Dear Dr. Zell,
> [ANNOUNCEMENT] Updated: rcs-5.8.1-1: The Revision Control System
Do you perhaps know whether this version fixes the file corruption
problem noticed earlier on this list for 5.8, or should we stay with
5.7 to avoid corrupting large RCS files?
Short problem description (what I think is happening):
For large files, the check-in tool ci decides to do file descriptor IO
instead of memory mapped IO.
Ci reads the start of the work file. This triggers the IO library to
fill its buffer, 64k in this case.
Ci dups the file descriptor and supplies it to a diff subprocess. The
file pointer is shared.
Diff reads the entire file. This places the file pointer at the end of
the file.
Ci rewinds the work file. The IO library sees that the start of file
position is in the current buffer and simply resets the buffer
pointer.
Ci wants to read the entire work file to place it in the new rcs
file. At the end of the 64k buffer, the IO library reads the file
descriptor for the next 64k. But the file pointer of the file
descriptor is still at the end of the file, so ci gets an EOF and
thinks the work file copy is complete.
Thus the content of the last version in the rcs file is truncated to
64k and the rcs file most likely becomes inconsistent, since the edit
scripts to reproduce older versions from the last version refer to
lines that are no longer present.
If you do a check-in, check-out sequence, then you end up with a
truncated work file, corrupted rcs file, have lost recent work and
must resort to backups.
Regards,
Peter Wagemans
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2012-09-26 15:47 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-09-18 12:22 [ANNOUNCEMENT] Updated: rcs-5.8.1-1: The Revision Control System Dr. Volker Zell
2012-09-26 16:04 ` Wagemans, Peter
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).