Matthew Wheaton wrote:
> Hi Scott,
>
> I see what you're saying about svn:externals. However, from my
> reading, and my testing observations, you cannot use svn:externals to
> do branches and tags, because the copies that are in the branch or tag
> are just a copy of the svn:external properties identified in the
> original folder.
I use svn:externals to manage those issues, similar to Scott.
>
> So, if you "check-out" the tag you just made from the svn:externals
> dir, and make a change to the files in the tag, then those changes are
> reflected back in the baseline or trunk code.
>
> That is definitely not a desired "feature".
There are a couple of perspectives on this. Here are two:
1. Assume project X that refers to project Y/trunk via svn:externals.
This would be a good configuration for developers working on both X and
Y simultaneously. In that case, one would wish developers to perform
check-ins on both projects. Therefore, for this configuration, it _is_ a
desired feature.
2. Assume project X that refers to project Y/tags/y-1.0.5 via
svn:externals. This is an ideal configuration for developers working on
project X where project X is dependent on a particular version of Y. In
that case, one does not wish check-ins performed on Y. To accomplish
this, the repository administrator does not allow write access to Y/tags
for developers.
This is the way I manage my projects. Developers have read/write access
to projectX/trunk and projectX/branches. However, only administrators
have write privileges to projectX/tags. It works fine for us. A
potential drawback I see is that a developer would have no cue that the
files from a tagged version are not 'writable', and would find out when
attempting to check-in.
Like Scott, I wish there was a svn:internals property. There are some
issues relating to using svn:externals that the subversion list
discussed at great length, about a month ago. I do not know where the
discussion led them, but I think they have some solutions in the works
for Scott and I. Otherwise, I think the use of svn:externals is
appropriate for what you are trying to achieve.
JP
Received on Fri Dec 9 01:36:51 2005