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
_______________________________________________
Bug-cvs mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/bug-cvs