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

Re: Branch/tag svn_external limit?

From: Ben Fritz <fritzophrenic_at_gmail.com>
Date: Wed, 20 Feb 2013 11:00:08 -0600

On Tue, Feb 19, 2013 at 4:00 PM, Kevin Jennings
<kkjennings_at_sbcglobal.net> wrote:
> So would the issue I described be considered to be a bug? From my perspective
> as a user it is since branch/tag does not preserve the correct source files at
> the revision that existed when the branch/tag was performed if there are
> multiple levels of externals.

I think this would be considered user error. Your setup is asking for trouble,
and the feature to "freeze" your externals is not built-in to SVN but a
convenience feature of TortoiseSVN.

See the SVN user manual which recommends in no uncertain terms that you NOT
point external definitions to a HEAD revision, but rather specify your revision


See the call-out box about halfway down the page which says:

> You should seriously consider using explicit revision numbers in all of your
> externals definitions. Doing so means that you get to decide when to pull down
> a different snapshot of external information, and exactly which snapshot to
> pull. Besides avoiding the surprise of getting changes to third-party
> repositories that you might not have any control over, using explicit revision
> numbers also means that as you backdate your working copy to a previous
> revision, your externals definitions will also revert to the way they looked
> in that previous revision, which in turn means that the external working
> copies will be updated to match the way they looked back when your repository
> was at that previous revision. For software projects, this could be the
> difference between a successful and a failed build of an older snapshot of
> your complex codebase.

While what you ask for may be a useful feature, implementing it would then
modify the source repository of each external definition when you commit in an
entirely different repository. In many cases this would be totally unacceptable.

I think the best solution is to always use explicit version numbers for
externals. The next best solution is to never nest externals, or at least never
rely on any nested definitions to be correct.


To unsubscribe from this discussion, e-mail: [users-unsubscribe_at_tortoisesvn.tigris.org].
Received on 2013-02-20 18:00:36 CET

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

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