[cvsnt] Manually resolving text/binary corruption... (doubts about line-ending conversion handling)
ogware at gmx.net
Mon Feb 6 10:54:29 GMT 2006
I'm just going through some major pains because my Delphi IDE for some
reason decided to switch some of my form files back to the old binary
format recently. As both my Diff app and my text editor are apparently
able to auto-translate the binary forms and simply display them as text
nevertheless (d'oh!), I did not notice this until it was too late.
Anyway, the bottomline is that I effectively checked in binary files as
text, then updated to another branch (thus losing the original,
uncorrupted binary files) and when I later went back to my trunk the
files came out corrupted as was to be expected then... :(
Now, as those changes involved quite a bit of work I'd really prefer
not having to start from scratch.
So now I started going at those files with a diff-capable hex editor.
What I thought would happen was this:
1. Upon committing the binary file (from a Windows machine) all
occurrences of $0D0A would get transformed into $0A.
2. Upon checking those revisions back out all occurrences of $0A would
be translated (back) to $0D0A.
Step 2 would thus possibly leave me with rather more $0D0A's than were
in the original file and the task of resolving this would merely
consist of locating those superfluous occurrences of $0D0A and turning
them into $0A .
However, from what I could tell by comparing the corrupted revision to
the binary version of the previous revision I'm having the suspicion
that it might not be quite as simple as that. For one thing it seems as
if upon Checkout not only occurences of single $0A's get translated to
$0D0A but also occurrences of single $0D's. Could that be? Why should
it do that? Furthermore, it seems that the corrupted revision is
truncated. How can that happen?
BTW: I was using a 2.5.03.2151 client against a 2.0.51d server...
Has anyone else done this before? Does anybody have any good recipes?
Is this feasible at all (there's only 4 four files involved and they
are relatively small)?
ICQ: 18777742 (http://wwp.icq.com/18777742)
MSN: ogiesen at hotmail.com
More information about the cvsnt