On Wed, Nov 21, 2001 at 05:58:54PM -0600, Karl Fogel wrote:
>
> There have been various proposals for a Subversion module system,
> along the lines of "union directories", or other indirection-based
> systems that allow rule-based groupings. That would probably solve
> the problem described above, but it will not be in 1.0.
>
> On the other hand, Subversion will support symlinks / shortcuts, which
> should alleviate the problem...
Let me attempt to illustrate how GCC currently uses modules and how I
think that might map to a subversion repository, and you can tell me
if I'm all wet.
The gcc tree is laid out like this:
/cvs/gcc/gcc/ # core code needed always
libiberty/
include/
configure
...
gcc/cp/ # C++ front end and libraries
libstdc++/
gcc/java/ # Java front end and libraries
libjava/
boehm-gc/
...
Each of these blocks is a CVS module: checking out gcc-core gets you
no more than you need to build a C compiler, gcc-core + gcc-cp gets
you C++ as well, etc. Checking out "gcc" gives you the whole
enchilada.
Now, you say Subversion doesn't have a feature directly equivalent to
CVS modules, but it does have in-repository symbolic links. I could
lay out the file system like this:
/subv/gcc/PHYSICAL/libiberty/
include/
gcc-core/
gcc-cp/
gcc-java/
libstdc++/
libjava/
...
/subv/gcc/all/ libiberty -> ../PHYSICAL/libiberty
gcc -> ../PHYSICAL/gcc-core
gcc/cp -> ../../PHYSICAL/gcc-cp
...
/subv/gcc/core/ libiberty -> ../PHYSICAL/libiberty
gcc -> ../PHYSICAL/gcc-core
...
And ideally, when I checked out "all" or "core", the server would
traverse the symlinks and I'd get a working copy that appeared to have
the cp directory as a direct child of gcc/. Also, on future update
operations, the server would notice additions to the shadow tree I'm
in, but not pick up PHYSICAL modules not referenced from that tree.
Two problems: first, I've got a symlink as a child of a symlink in
the above illo, which is probably impossible. Second, how do I check
out "gcc-core gcc-cp" and get just the core and the C++ compiler? We
don't want a combinatorial explosion of these shadow trees.
zw
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sat Oct 21 14:36:49 2006