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

Re: Subversion, decentralized version control, and the future.

From: Folker Schamel <schamel23_at_spinor.com>
Date: 2007-07-09 09:23:34 CEST

Mark Reibert wrote:
> On Sat, 2007-07-07 at 16:09 +0200, Folker Schamel wrote:
>>> Like you, I admire the simplicity and elegance of a tag/branch being
>>> just a copy. On the other hand, the fact that these operations are
>>> special only by convention makes administering and controlling them
>>> difficult. For example, in days gone by under CVS we allowed anyone to
>>> place a "private" tag on objects, whereas only repository admins could
>>> create "official" tags (e.g., for a release). Private tags began with
>>> "p_<user_initials>". Official tags were automatically inserted into
>>> Bugzilla as versions of the associated product.
>>>
>>> This was extremely easy to setup and enforce with a trigger script under
>>> CVS, since tagging is a sentient operation. With Subversion, as far as I
>>> can tell this requires a pre-commit hook that inspects the target of the
>>> copy and needs to use a set of heuristics to figure out the user's
>>> intent. Moreover, it seems the user could easily subvert the attempted
>>> control by simply choosing a location or name that is not part of the
>>> heuristics.
>>>
>>> Just my $0.02 worth ...
>> What about pre-commit script just like the following pseudo-code?
>>
>> if commit_path matches /trunk/.* or commit_path matches /branches/.*:
>> return Access_allowed
>> if commit_path matches /tags/.*:
>> if commit_path matches /tags/official/\w* and user == admin:
>> return Access_allowed
>> if commit_path matches /tags/private/<user>/\w*:
>> return Access_allowed
>> return Access_denied
>
> Hello Folker,
>
> This approach works only if all the users behave well; that is, place
> their tags in /tags. In my experience this is not always the case. The
> less experienced users will start copying files all over in /trunk
> because they do not understand the convention, whereas the experienced
> users may be inclined to start tagging in /trunk just to side-step the
> attempted controls.
>
> Thanks,
> Mark

Well, no tagging mechanism on earth can prevent this.

The only way to prevent this would be using a version control system
which does not support directory copying.
And even then, a user always can emulate private tags
by just making a local disk copy of his working copy.

I think you have a social problem, no technical problem.

Cheers,
Folker

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Mon Jul 9 09:23:59 2007

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