Hyrum K Wright wrote: > On Wed, Feb 23, 2011 at 9:53 AM, Julian Foad <julian.f...@wandisco.com> wrote: > > Stefan Sperling wrote: > >> So, ideally, we should decouple the > >> concept of a wcroot from the path. We could tie it to a wc_id instead. > >> This would allow us to use a single wc.db to manage several wcroots, > >> one for the parent working copy, and more for any externals within > >> this working copy. > > I've always thought we could handle it a different way: the externals > are just part of the same WC as the directories which contain them, > it's just the repos_id and/or repos_relpath which happen to point to a > disjoint location. In other words, externals are nothing more than > switched paths, save for the fact that their existence is communicable > to other clients via the properties (whereas "pure" switched paths are > single-client-only). > > Since all the plumbing for switched paths already exists, we should > just be able to reuse it for the externals cases. In fact, as > currently implemented, switch can do some *really* interesting things, > which Philip could probably better illuminate than me. > > In short, I don't think the answer is a set of wcroots but rather one > wcroot with a set of nodes (possibly pointing to various repos).
+1 to that. In fact, I wrote about that idea a while back: Subject: [RFC] 'External' and 'Switched': common ground From: Julian Foad <julian.foad_at_wandisco.com> Date: Fri, 20 Aug 2010 18:54:09 +0100 <http://svn.haxx.se/dev/archive-2010-08/0529.shtml> There are a few intentional differences in the way external directories (and files) behave, compared with switched nodes, but it looks far more sensible to implement them that way. - Julian