[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Documented use of cvs admin -kb is wrong on Windows & Mac

From: Jim Avera
Subject: Documented use of cvs admin -kb is wrong on Windows & Mac
Date: Mon, 22 Apr 2002 13:19:00 -0700


The CVS manual incorrectly says that if a binary file is accidentally 
added and committed without the -kb option, that the problem can be
corrected with
        cvs admin -kb file
        cvs update -A
This is not true on platforms which use different line-ending
conventions than Unix (Windows and Mac).  The only universally
reliable recovery method is to overwrite the whole file with
a valid copy obtained from outside cvs:
        cvs admin -kb file
        cvs update -A
        copy <valid bits obtained independently of cvs> file
        cvs commit file

The reason is that the initial commit will change CRLF
sequences which happen to be in the binary data to LF, which
in general is not a reversible operation (CR -> LF on Macs).

For example, if the original data contained CR LF LF, then
the initial commit will store LF LF in the repository,
and a subsequent checkout without -kb will get CR LF CR LF,
and with -kb will get LF LF, incorrect either way.

The documentation should be fixed to not mislead people.
Binary files committed without -kb can not always be recovered 
from cvs, at least on non-Unix platforms.

-Jim Avera

reply via email to

[Prev in Thread] Current Thread [Next in Thread]