[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 |
Hi,
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.
Cheers,
-Jim Avera
- Documented use of cvs admin -kb is wrong on Windows & Mac,
Jim Avera <=