[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Feature request: Checkout to revision with external repositories

From: Ryan Schmidt <subversion-2007b_at_ryandesign.com>
Date: 2007-09-21 01:10:39 CEST

On Sep 14, 2007, at 00:55, Neiss, Guenter wrote:

> This is my first post to the SVN mailing list.
> I am not shure if I should post it here or in DEV.
> Please inform me if I should ask this at another place.
>
> OK, here is a feature that I miss.
>
> Most of my projects uses some common modules.
> I put them into a seperate repository and link this to the project
> using the SVN:external property.
> This works great in prinziple, but there is a problem when I need
> to checkout an older version of the project.
> When I do so, the files of the project itself will be as they are
> at the time this revision was checked in,
> but the files of the external will be as they are current.
> To recompile the project as it was at this revision it is nessesary
> to have the externals in the version they are at the time the
> project revision was.
>
> OK, there are methods of enshuring this
> - explizit check out the external to the right revision (by using
> the logs of both repositories)
> - use the SVN:external with an explizit revision number
>
> Both of this methods works, but are uncomfortable.
>
> A muth better way of enshuring this is IMHO:
> Whenever a checkin was done SVN should not only save the files
> inside the (main) working copy,
> it should althougth store the revision numbers of related externals.
>
> By doing so, on a 'checkout to revision' SVN is now able to
> checkout the correct external revisions, too.
>
> This may be controlled by an additional option, so the user may
> checkout only the main files to that revision or althougth all
> externals.
>
> Storing the revision mumbers of the externals is easy as long as
> they are not modified inside the working copy at the moment of the
> checkin.
> If they are modified there are some possible reactions. The
> simplest one is just warning about that fact and not storing the
> revisions of this externals in this case (Maybe we can discuss what
> should happens if this feature will be implemented).
>
> IMHO this will be a great improvement of the external feature.
>
> Whitout that I had to manualy edit the revisions of externals when
> I do a TAG or BRANCH of a current revision to enshure, that if this
> was later checked out I had the complete environment that was
> needed for this TAG/BRANCH.
> For a BRANCH I then have to check later if it uses a fixed external
> revision and must change it if I need updates done inside the
> externals...
>
> Any comments ?
> Did I miss something (can this already be done) ?
> Some statement from the dev's ?

If you want to be able to checkout an arbitrary prior version of your
trunk, and have the externals also go back to that point in time, the
best way is to specify all your external definitions with a revision
number.

If you're only interested in tags behaving this way, then simply use
the svncopy script to create the tags in the first place. It will
take care of adding the revision to the external definitions for you.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Fri Sep 21 01:12:39 2007

This is an archived mail posted to the Subversion Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.