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