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

Re: Require better support for Tags, Branches, and Merge operations in Subversion when using svn:externals

From: Stefan Sperling <stsp_at_elego.de>
Date: Tue, 15 Mar 2011 11:03:31 +0100

On Tue, Mar 15, 2011 at 10:56:52AM +0530, D, Dinoj wrote:
> Hi,
>
>
>
> When using Subversion with a large project that integrates multiple
> independent libraries and modules that come from different SVN
> repositories, it is necessary to use the svn:external mechanism to link
> to the different modules in subversion. However there are several
> problems with using externals when active development is also going on
> within the referenced module.

At lot of answers to your questions can be found in the users
mailing list archive. You should probably actively search them
in addition to waiting for answers to your post. The archive at
http://svn.haxx.se/users has a search box.

>
> Summary:
>
> 1) References must be individually managed with "svn propedit"

This should be automated if you need it at a large scale.
Don't use the properties as primary source of dependency information.
See http://svn.haxx.se/users/archive-2010-11/0097.shtml

> 2) References should be pinned to specific versions when tagging.

There's a script that helps:
https://svn.apache.org/repos/asf/subversion/trunk/contrib/client-side/svncopy

> 3) Tagging should result in a tag being created in the referenced
> repository
> 4) Branching should result in a tag being created in the referenced
> repository

Why? If the local tag contains a path and a revision in the externals
definition, there is no ambiguity.

> 5) Commits should be recursive
> 6) Merges should be recursive

Please consider other solutions. It sounds like you need something
more powerful than externals have been designed for.

Have you considered pushing dependency handling out of the version
control system, and using a build management system designed for
this task (e.g. Apache Maven) instead?

Or maybe vendor branching would help you?
http://svnbook.red-bean.com/nightly/en/svn.advanced.vendorbr.html
Maybe even in combination with foreign repository merges,
since you seem to be referencing other Subversion repositories?
http://svn.haxx.se/users/archive-2011-03/0151.shtml
Received on 2011-03-15 11:04:14 CET

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