This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]