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

Re: (FS) operational question

From: Greg Hudson <ghudson_at_MIT.EDU>
Date: 2000-12-23 10:06:36 CET

> Hunh. Has anybody pondered the issue that for a checkin *anywhere*
> in the tree, that on the next "svn update", we have to hit *every*
> "entries" file in the entire WC to update the revision number stored
> in there? It won't be a matter of simply zooming past them doing
> nothing... we've got to rewrite every single file.

Perhaps we need to add a bit to the version number to mean "actually,
my version is whatever my parent directory's version is, but that's
equivalent to what I say it is here." (This does not destroy the
ability to sever a working directory subtree from the hierarchy and
use it; if you simply ignore that bit on the directory "svn" gets run
in, everything should work fine.) Note that if we support "svn update
-l" (update without recursing), then we have to *unset* this bit in
every subdirectory version since the assertion might not be true any
more.

> The alternative, of course, is to leave things at an old revision
> number until a real change arrives, but then our state reporting
> grows and grows as we get more exceptions throughout the tree (by
> "exception" I mean a child needing to report a revision that is
> different than the parent's).

Actually, how do we make our exception list without making a complete
pass over the working directory? Perhaps an "I have version
exceptions in my subtree" bit in the directory version? If so, that
bit has to bubble up through parent directories when you run "svn
update" in a subdir, which is ugly; however, I don't think there's an
alternative. The fundamental difficult case is:

        svn co http://blah
        sleep 3600 # While someone else checks in changes
        cd foo/bar/baz/quux
        svn update
        cd ../../../..
        svn update # How do we know about the exception in
                   # foo/bar/baz/quux without searching the whole
                   # tree?
Received on Sat Oct 21 14:36:18 2006

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