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

Re: svn up can loose local modifications

From: Chris Whitehead <cwhitehead_at_consultronics.com>
Date: 2004-05-07 22:24:13 CEST

New user of Subversion still testing for useability before jumping in...

I see this behaviour as well.
I have Subversion on a Win2K system with TSVN as the frontend and svnserve
using svn:// ...

There are no content edits done to the following test file, only case
change in the file name.

File imported as lowercase, checks out as lowercase. If the case is changed
in the WC and an update (no commit before) is done, case is reverted to
repo case. If case is changed in the WC and a commit is started the file is
considered not-version controlled anymore and I'm asked if I want to add
it. If I add it, and then immediately do an update I get the original file
case back again.

This is where it gets weird...

If I do a different case change in the same file and do a commit, I get the
response that the file is not version controlled and do I want to add it.
If I add it and later start doing repeated updates I get alternating case
versions of the file, one after another.

As far as I can tell, SVN has commited all versions of the file, one for
each case, and when they are updated it expects to see all case versions in
the directory, but Windows simply copies each one over itself. Depending on
the order they are updated you will see one file, then the other file
etc... I can only imagine that it gets even more confused if the content
changes as in Steves case.

Chris Whitehead

>SteveKing <steveking@gmx.ch> writes:
> > As the subject indicates, the 'svn up' command can revert all local
> > modifications on a case insensitive filesystem like Windows and OSX
> > have.
> >
> > Example:
> >
> > /wc/File1.txt
> >
> > Edit this file with an editor. Then save the modifications. Now, some
> > editors on Windows change the case of the filename. Either to all
> > lowercase or all uppercase. Especially some older editors change the
> > case to all uppercase. That means we get
> >
> > /wc/FILE1.TXT
> >
> > now, if we do an 'svn up', the file will get reverted to
> > /wc/File1.txt
> > and all local modifications are gone.
>
>That's weird. Why doesn't 'svn up' notice that the file (since it's
>the "same" file) is locally modified, and merge the repos changes if
>any? (If there are no repos changes, nothing should happen, right?)
>
>I don't have easy access to a case-insensitive system. Can you debug
>into the update editor, perhaps? I'm very puzzled by the behavior.
>
> > I already added this to the issue 667
> > (http://subversion.tigris.org/issues/show_bug.cgi?id=667) but I wanted
> > to point this out on the mailing list too since the issue tracker
> > isn't suited for discussions.
>
>By the way, regarding your comment in the issue about setting the
>repository case-insensitive: this protection could be completely
>implemented in a hook script. I don't think anyone's posted such a
>script, but it wouldn't be that hard to write (I've seen them for CVS,
>for example).
>
>-Karl
>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
>For additional commands, e-mail: dev-help@subversion.tigris.org

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sat May 8 01:08:03 2004

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.