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

Feature request: Checkout to revision with external repositories

From: Neiss, Guenter <GUENTER.NEISS_at_plarad.de>
Date: 2007-09-14 07:55:54 CEST


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 ?

 G. Neiß
Received on Sun Sep 16 19:15:37 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.