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

Switch, DNS, repos roots, and busted working copies

From: Garrett Rooney <rooneg_at_electricjellyfish.net>
Date: 2005-12-06 00:23:52 CET

So back in r15015 lundblad split the repos root and fs path in the
working copy code, and along with that added some sanity checking to
confirm that the url and copyfrom url fields were always under the
repos root, since why would they ever not be?

Well, it turns out that with suitably configured DNS (a repos that is
accessible via two separate DNS entries) and a user equiped with svn
switch, you can actually get a working copy wiht disjoint repos and
url entries. Just check out via one DNS entry and then switch a
subdirectory to the other. This is problematic because it trips the
assert at libsvn_wc/entry.c:71, and even when you replace the assert
with an error check you still aren't all the way there, because even
after the error is returned you still end up with a busted working
copy. If you leave the assert it's even worse, because you now have a
locked working copy and svn cleanup refuses to unlock it because it
freaks out about the weird repos/url problem.

This is particularly bad because this code is in 1.3.0rc4, and that
means we are not compatable with some (very weird) working copies out
in the wild.

I've looked into the problem a little, but I'm really not sure what
the correct solution is. Should we disallow such things? If so, we
need to make sure that the error case doesn't result in a busted
working copy, and we need to decide what to say to users who have
working copies like this. If we don't want to support such things, we
need to at least provide a work around (svn switch --relocate seems
like it should fix things, if we can keep it from going bonkers when
it notices that the working copy is in this weird state).

Thoughts?

-garrett

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Tue Dec 6 00:24:38 2005

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