Ben Collins-Sussman <sussman@collab.net> writes:
> On Feb 2, 2005, at 5:49 PM, Philip Martin wrote:
>
>> Greg Hudson <ghudson@MIT.EDU> writes:
>>
>>> To the best of my knowledge, you should be able to lock schedule-add
>>> files just fine. Locks apply to pathnames, not nodes or node-revs.
>>
>> The documentation in notes/ doesn't mention such locks, although it
>> doesn't exclude them either, is there a plan to implement this sort of
>> lock without node?
>
> The repository already allows locks on nonexistent paths. (DAV
> clients sometimes do this as a way of 'reserving' a path.)
>
> I'm not entirely sure that svn_ra_lock() allows it -- we should double
> check the three RA layers.
>
>> There are all sorts of corner cases: if I have a
>> schedule add directory 'foo' and I lock the path 'foo/bar' does that
>> stop someone else commiting a new 'foo'?
>
> From the repository's point of view, yes. It should enforce the lock.
What about:
- Directory 'foo/' is schedule add so not in the repository.
- I lock 'foo/bar', it's not in the repository either.
Can I also lock 'foo/zig'? As a user I would expect to be able to do
that.
Can some other user lock 'foo/zig' from their working copy? If that
is allowed then one of us is going to have a conflict. It might not
be another user, it might be me attempting to lock 'foo/zig' but from
a different working copy. How does the repository determine whether
locking 'foo/bar' and 'foo/zig' is a conflict?
If the repository cannot detect the conflict I suppose it could
require all locks under 'foo/' to be supplied when using any one of
them. At least then the problem would be detected at commit time and
and the committer would need to break any locks not held.
--
Philip Martin
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Thu Feb 3 02:52:53 2005