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

Re: ghudson's 'svn st' problem he mentioned on IRC...

From: <kfogel_at_collab.net>
Date: 2003-12-30 05:14:10 CET

John Szakmeister <john@szakmeister.net> writes:
> I don't know if anyone else looked at this, but ghudson mentioned that
> when he did a 'cp -r' of his WC, all of a sudden some of the files in
> subversion/ bindings/com started showing up as being modified. I took
> a closer look, and saw that the files that exhibit this property have
> their eol-style set to CRLF. What I found out was that the text-base
> copy of the file didn't have CRLF line endings... they were just plain
> LF. Just to double check, I create a temp repository, shoved a few
> files in it, and toyed with changing the eol-style, and every time
> after a commit, the text-base's line ending were changed to match that
> of eol-style. I tried this using both ra_local and ra_dav and got the
> same results. Simply touching SVN.rgs in subversion/ bindings/com
> causes 'svn st' to state that the file is modified... at least on my
> Linux box.

Yeepers. Thanks for posting this...

Okay, so to summarize: your experiment with the temp repository seems
to show correct behavior -- the text bases should change, for
hardcoded eol styles. On the other hand, touching 'SVN.rgs' in our
tree shouldn't cause it to show up as modified. (And I just checked
mine by hand: the working file has CRLF line endings, the
svn:eol-style property is set to "CRLF", yet the text base is just LF
endings. That's wrong.)

This bug could be an old one that caused some working copy bogosity
and then got fixed, or it could still be present in Subversion. Or,
even if it doesn't show up in the committing working copy, it could be
happening in working copies that receive eol-style changes via update.

> So it seems we have a bit of a problem here (as ghudson eluded to on
> IRC). I just wanted to post my finding just in case someone knew what
> the problem is off the top of their head, or in case someone else was
> trying to track this down.

I'm trying to reproduce it, but so far this script doesn't reveal any
bad behavior:


# Run this on a Unix (LF) system.

rm -rf repos wc wc2

svnadmin create repos
svn co file://`pwd`/repos wc

cd wc

echo "fish" > fish.txt
svn add fish.txt
svn ci -m "Adding fish.txt."
echo ""
echo "These ls's should report 5 bytes for each file:"
ls -l fish.txt .svn/text-base/fish.txt.svn-base
echo ""

cd ..

svn co file://`pwd`/repos wc2

cd wc2

echo ""
echo "These ls's should also report 5 bytes for each file:"
ls -l fish.txt .svn/text-base/fish.txt.svn-base
echo ""

cd ../wc

svn propset svn:eol-style CRLF fish.txt
svn ci -m "Committing CRLF eol-style for fish.txt."
echo ""
echo "These ls's should report 6 bytes for each file:"
ls -l fish.txt .svn/text-base/fish.txt.svn-base
echo ""

cd ../wc2

svn update
echo ""
echo "These ls's should also report 6 bytes for each file:"
ls -l fish.txt .svn/text-base/fish.txt.svn-base
echo ""

To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Tue Dec 30 06:06:21 2003

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

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