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

RE: Re: Branch/tag svn_external limit?

From: Kevin Jennings <kkjennings_at_sbcglobal.net>
Date: Wed, 20 Feb 2013 21:02:57 -0800 (PST)

> On Tue, Feb 19, 2013 at 4:00 PM, Kevin Jennings
> <kkjennings at sbcglobal dot 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,

I'm asking for a method to branch/tag something where I am guaranteed that when the tag is retrieved at any time in the future it will return exactly the same content regardless of any of the following:
- Changes that have occurred to any of the source files
- svn_external links exist in the tag
- Links that point to other links
- Links that point to the current or any other repository.

In other words, to the extent that the addressing to any of the repositories stays the same, I should be able to retrieve a tag and get exactly the same thing at any time after the tag is created. It's not clear to me why you would consider that request to be a 'user error' or 'asking for trouble'. The inability to actually retrieve a tag simply because it has svn_external links is to me 'asking for trouble'.

I'm also not alone in this thinking. Refer to the following link for svncopy.pl for a more in depth discussion. If I could get svncopy.pl to work properly, I wouldn't necessarily be asking here.

http://svn.apache.org/repos/asf/subversion/trunk/contrib/client-side/svncopy/svncopy.README

The reasons for asking in this forum is because Tortoise did add the feature that I'm asking for...it just doesn't work if you happen to have an svn_external link that also contains another svn_external link.

> and the feature to "freeze" your externals is not built-in to SVN but a
> convenience feature of TortoiseSVN.
>

I agree...and I thank the developers for adding this convenience feature to Tortoise. But now please accept my feedback for where I see a deficiency in the implementation of that feature.

> 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
> explicitly:
>
> http://svnbook.red-bean.com/en/1.7/svn.advanced.externals.html
>

I have read this...and please read the svncopy.pl readme file for a counterpoint. While there are valid reasons for explicitly specifying a particular revision in the trunk there are equally valid reasons for why revisions in the trunk should not be locked. Only when creating an archivable tag (typically for a build) is there a need to lock all revision but that should be done only within the tag, not the trunk.

Subversions recommendations appear to be based on the way the tool happens to work, not based on a sound rationale rooted in user needs. To the extent that there are other tools that build on Subversion such as Tortoise or svncopy.pl to meet user needs rather than tool performance I'm OK with that.

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

Tortoise IS modifying the repository when it does this and the Tortoise developers seem to see this feature as useful and implemented it so why you say this would be unacceptable in many cases is a mystery.

Tortoise already has a mechanism for creating an svn_external link that pegs the revision when creating a branch/tag. What the developers missed in that implementation is the case where such a link happens to contain yet another link. Now maybe there is something about the way that Tortoise is written that searching all links and pegging them is too difficult, cumbersome or something but it can't be impossible (witness svncopy.pl) nor can you really blame the user nor can you say that the Tortoise developers don't see this as a 'good feature' because they did add it as a feature to the tool.

I'd simply like this to be listed as a bug in a currently supported feature of the tool that then gets fixed. I haven't heard yet why it's not a bug nor have I heard why the current behavior that only pegs 'top level' external is of practical value.

Kevin

------------------------------------------------------
http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=4061&dsMessageId=3049431

To unsubscribe from this discussion, e-mail: [users-unsubscribe_at_tortoisesvn.tigris.org].
Received on 2013-02-21 06:03:04 CET

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