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

Re: serious bug: a succession of "svn up" can yield a working copy with local changes

From: Vincent Lefevre <vincent+svn_at_vinc17.org>
Date: Wed, 5 Aug 2009 17:50:04 +0200

On 2009-08-05 10:53:41 -0400, John Peacock wrote:
> Vincent Lefevre wrote:
> > Hi Stephen,
> >> Creating a new file with that string in it, importing into a
> >> Subversion repository, and setting its svn:keywords property has
> >> the desired affect. The file in the working copy contains a
> >> Subversion-style value:
> >>
> >> $Id: alpha 2 2009-08-05 13:28:53Z steve $
> >>
> >> and its text-base contains the unexpanded keyword:
> >>
> >> $Id$
> >
> > Has this *always* been like that? It doesn't seem so.
>
> Yes it has always been that way; the keywords are kept in the repo and
> text-base unexpanded and only expanded in the working copy. It has to
> be that way so that the working copy can be unexpanded prior to
> comparison with the text-base for diff purposes.

I think you mean that it *should* have always been that way.
But in practice, there were/are bugs.

> Since the contents of the svn:keywords can be dynamically generated,
> they must be ignored for diff (and repo-storage) purposes.

Yes, but if it happens that a repository or dump has some string S
that looks like an expanded svn:keyword and the keyword is removed
later (such repositories or dumps can occur in practice, as shown
here), then the original string S must be taken into account at
this time.

Subversion seems to behave correctly when the head is checked out,
but if I do incremental updates (that was from r2769 to r2770 in my
example), I get local modifications.

> It isn't necessary to involve CVS or RCS in order to trigger this
> misbehavior: merely checking in something that matches an expanded
> svn:keyword, then in a later commit enabling that keyword can cause
> problems. I thought that this misbehavior was fixed by the keywords
> rewrite a while ago, but maybe not...

Perhaps, but when I did the commits, it wasn't fixed yet.

-- 
Vincent Lefèvre <vincent@vinc17.org> - Web: <http://www.vinc17.org/>
100% accessible validated (X)HTML - Blog: <http://www.vinc17.org/blog/>
Work: CR INRIA - computer arithmetic / Arenaire project (LIP, ENS-Lyon)
------------------------------------------------------
http://subversion.tigris.org/ds/viewMessage.do?dsForumId=462&dsMessageId=2380523
Received on 2009-08-05 17:50:27 CEST

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