[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: When SVN edits a file itself (i.e. to resolve conflicts), the text is corrupted.

From: Jeffrey Vaughan <vaughan2_at_seas.upenn.edu>
Date: 2005-02-18 17:19:03 CET

Well, for what it's worth, your file is Unicode encoded:

jeff@Narcisuss Desktop $ file Number.txt
Number.txt: Little-endian UTF-16 Unicode character data

I opened your file up with vim and got the following:

??Z^@E^@R^@O^@
^@
^@u^@n^@o^@
^@
^@t^@w^@o^@
^@
<<<<<<< .mine
^@t^@r^@o^@i^@x^@
^@
=======
^@d^@r^@e^@i^@
^@
>>>>>>> .r9
^@f^@o^@u^@r^@
^@
^@f^@i^@v^@e^@
^@
^@S^@I^@X^@
^@
^@

What's going on is that the ^@ represent the first bytes of the sixteen
bit characters. This is almost certainly not something caused by
subversion merging. Rather this is how your text editor originally
stored the file. However when subversion added conflict markers, it
added "normal" 8-bit ascii. I think this is whats confusing your
editors now.

The quick work around is to make sure whatever editor you use is saving
in 8-bit ascii.

Jeff

Alec Munro wrote:
> Hi, and thanks for the response.
>
> The files are plain text, it's all just testing stuff so far, so I am
> all the users, and the file (there really is only one so far) is just
> 7 lines.
>
> SVN is installed on a gentoo server, I'm using a Windows 2003 desktop
> with TortoiseSVN and the command line as the primary client, but I've
> also tested from the server itself, and another gentoo system, with
> the same results every time.
>
> I will look into the UTF-16 theory. I'm skeptical, but I certainly
> can't rule it out.
>
> I tried to copy/paste the corrupted file, but either google or firefox
> doesn't want me to paste that text into this field. I have attached
> the file, I hope it helps.
>
> Thanks for your responses.
>
> Alec Munro
>
>
> On Thu, 17 Feb 2005 21:32:09 -0700, David Waite <dwaite@gmail.com> wrote:
>
>>the ^@ makes me wonder if perhaps one user has an editor that saves
>>the file as unicode UTF-16. Subversion doesn't handle non eight-bit
>>character sets well.
>>
>>-David Waite
>>
>>On Thu, 17 Feb 2005 22:12:34 -0600, Ben Collins-Sussman
>><sussman@collab.net> wrote:
>>
>>>On Feb 17, 2005, at 9:04 AM, Alec Munro wrote:
>>>
>>>>I'm using gentoo 2004.3, and whenever an event occurs that requires
>>>>SVN to edit a file itself, such as two users making incompatible
>>>>changes to a file (I'm unsure of the official lingo, but collision
>>>>sounds good in my head), I end up with a lot of garbage in the file as
>>>>well. It shows up differently in different text editors (metapad
>>>>complains about non-ANSI characters, kwrite just displays three
>>>>characters which don't seem to have any relation to the file. Vim
>>>>displays the file with "^@" before every character, except the ones
>>>>inserted by SVN. Abiword displays the text properly, but displays the
>>>>characters inserted by SVN as unknowns.)
>>>>
>>>
>>>The terminology is "conflict", and what svn does is create conflict
>>>markers within the file. It's documented here in the book:
>>>
>>>http://svnbook.red-bean.com/en/1.1/ch03s05.html#svn-ch-3-sect-5.4
>>>
>>>Just a guess, here: what sort of file is this? A plain text-file? Or
>>>is it some sort of binary file? Because I promise, if you take a
>>>binary-format file and ask svn to perform a 3-way line-based merge with
>>>conflict markers, you're gonna get garbage. :-)
>>>
>>>If the file *is* binary, has it not been marked as such? Does it have
>>>an svn:mime-type property attached? Please show us a whole lot more
>>>detail. Show us specific commands, specific results.
>>>
>>>
>>>---------------------------------------------------------------------
>>>To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
>>>For additional commands, e-mail: users-help@subversion.tigris.org
>>>
>>>
>>
>>
>>------------------------------------------------------------------------
>>
>>˙ūZ<<<<<<< .mine
>>=======
>>
>>>>>>>>>.r9
>>
>>
>>------------------------------------------------------------------------
>>
>>---------------------------------------------------------------------
>>To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
>>For additional commands, e-mail: users-help@subversion.tigris.org

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Fri Feb 18 17:21:38 2005

This is an archived mail posted to the Subversion Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.