public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
From: Andrew STUBBS <andrew.stubbs@st.com>
To: binutils@sourceware.org
Subject: SVN for src (was Re: Binutils 2.18 prep)
Date: Thu, 22 Mar 2007 10:06:00 -0000	[thread overview]
Message-ID: <46025531.90105@st.com> (raw)
In-Reply-To: <20070322024838.GA4722@caradoc.them.org>

Daniel Jacobowitz wrote:
> I expect to create the branch within a couple of weeks.  I'd like to
> keep the branch-to-release interval fairly short; I've been using
> better revision control systems than CVS lately, and they've left me
> very bitter about having to merge patches to a CVS branch.  Volunteers
> to find a workable way to use SVN for src instead are highly welcomed
> as far as I'm concerned.

My understanding is that the problem is the lack of Subversion support 
for something like CVS modules.

I have been thinking about this problem recently. Obviously the best 
solution is native support from Subversion, but in it's absence I have 
come up with an alternative. Sorry if I've just re-invented a well known 
solution, but here goes:

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").

The repository might look like:

trunk/
   src/
     configure
     Makefile.in
     ...
     binutils/
     gas/
     gdb/
     ...
     switch-modules.sh
   modules/
     binutils/
       ar.c
       ...
     gas/
       as.c
       ...
     gdb/
       gdb.c
       ...
     ...

So you have a two-step checkout procedure:

   svn checkout svn:://sourceware.org/svn/trunk/src
   cd src
   ./switch-modules.sh binutils

The script would then do:

   svn switch svn://sourceware.org/svn/trunk/modules/binutils binutils
   svn switch svn://sourceware.org/svn/trunk/modules/gas gas
   svn switch svn://sourceware.org/svn/trunk/modules/include include
   ...

This is not an ideal solution - it requires two steps, 'svn status' will 
always list all the switches, and it does not provide fine grained 
control over the contents of each directory. However, it does solve the 
problem of enormous working trees.

Just a thought

Andrew

  reply	other threads:[~2007-03-22 10:06 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-03-22  2:48 Binutils 2.18 prep Daniel Jacobowitz
2007-03-22 10:06 ` Andrew STUBBS [this message]
2007-03-22 10:45   ` SVN for src (was Re: Binutils 2.18 prep) Diego 'Flameeyes' Pettenò
2007-03-22 11:06     ` Andrew STUBBS
2007-03-22 11:23       ` Diego 'Flameeyes' Pettenò
2007-03-22 14:07   ` Paul Brook
2007-03-22 14:20     ` Andrew STUBBS
2007-03-22 14:31     ` Joseph S. Myers
2007-03-22 14:11   ` Bob Rossi
2007-03-22 14:17     ` Daniel Jacobowitz
2007-03-22 15:00   ` Daniel Jacobowitz
2007-03-22 15:28     ` Daniel Jacobowitz
2007-03-22 15:51       ` Andrew STUBBS
2007-03-26 14:59         ` Daniel Jacobowitz
2007-03-26 16:32           ` Andrew STUBBS
2007-04-10 17:25             ` Daniel Jacobowitz
2007-04-11 10:22               ` Andrew STUBBS
2007-04-11 11:06                 ` Daniel Jacobowitz
2007-04-11 13:46                   ` Paul Koning
2007-04-11 14:18                 ` Ian Lance Taylor
2007-04-11 15:00                   ` Daniel Jacobowitz
2007-04-11 15:23                     ` Ian Lance Taylor
2007-03-22 15:35     ` Andrew STUBBS
2007-03-22 16:48     ` DJ Delorie
2007-03-22 17:08       ` Andrew STUBBS
2007-03-22 18:15         ` DJ Delorie
2007-03-23  9:12           ` Andrew STUBBS
2007-03-26 14:57       ` Daniel Jacobowitz
2007-03-26 15:16         ` Daniel Jacobowitz
2007-07-30 18:09 ` Binutils 2.18 prep Daniel Jacobowitz
2007-07-30 18:14   ` H.J. Lu
2007-08-01 17:57   ` Jim Wilson
2007-08-02  0:08     ` l l
2007-08-06 21:13   ` Daniel Jacobowitz
2007-08-07  8:18     ` Add bfin-*rtems* [was: Binutils 2.18 prep] Ralf Corsepius
2007-08-07  9:33       ` Nick Clifton
2007-08-09 11:45     ` Binutils 2.18 prep Matthias Klose
2007-08-13  0:33       ` Daniel Jacobowitz

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=46025531.90105@st.com \
    --to=andrew.stubbs@st.com \
    --cc=binutils@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).