This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: SVN for src (was Re: Binutils 2.18 prep)
Daniel Jacobowitz wrote:
On Thu, Mar 22, 2007 at 10:06:41AM +0000, Andrew STUBBS wrote:
We create an Subversion directory containing all the top-level files (configure
etc.), but with all the subdirectories (gas, gdb etc.) present but *empty*. We
then provide a script that does 'svn switch' on each directory required for a
given 'module'. This is the inverse of the svn://gcc.gnu.org/svn/gcc/emptydir
idea (see http://gcc.gnu.org/wiki/SvnSetup "Optimize disk usage").
You know, I think we can do this even without having to butcher the
layout of the repository. Check out a directory containing just the
script, and have it use "svn switch -N" at the end to pick up the top
level files.
I'm going to experiment. I have a handy repository to work with :-)
(We import CVS snapshots into svn.)
Magic, it works!
I did originally think about doing 'svn co -N src', but that makes it
impossible to get at the subdirectories at all (another checkout works,
but then you can't check in properly).
I hadn't though of pulling in the root via switch. Nice idea.
So we would have:
svn co svn://sourceware.org/svn/trunk/modular-checkout src
cd src
./checkout binutils
which would then do:
svn switch svn://sourceware.org/svn/trunk/src/binutils binutils
svn switch svn://sourceware.org/svn/trunk/src/gas gas
...
svn switch -N svn://sourceware.org/svn/trunk/src .
where the last line switches in the top level files, and switches out
the checkout script itself.
Anybody wanting to checkout *everything* still can, without jumping
through hoops!
I suppose that, given the -N switch, it is even possible to selectively
choose subdirectories (such as include/elf), as long as the empty
version already exists, thus:
svn switch -N svn://sourceware.org/svn/trunk/src/include include
svn switch svn://sourceware.org/svn/trunk/src/include/elf \
include/elf
I can't think of any way to select individual files.
Andrew