Re: Versions being deleted during a MERGE...

Peter Raymond <Peter.Raymond@merant.com> wrote:

> Hi,
>
> I just noticed a potential problem with versions being
> used for a merge operation being deleted during the merge.
>
> Section 11 says a checked-out resource has a DAV:merge-set
> identifying versions to be merged.  DELETE (section 11.5)
> says it will remove entries from the merge-set.  Shouldn't
> the server disallow the DELETE, someone somewhere is in
> the middle of a merge using this version, also there would
> be a race condition if someone deletes the version while
> the client is processing the DAV:merge-set of a checked-out
> resource.

I think the spec is correct that the server should allow the DELETE.  We
can debate the 'work-flow' aspect of merging and may come to different
conclusions, however, from a protocol point of view, I think a client
should be allowed to delete a version during someone else's (and especially
their own) merge.  DELETE will not be the only potential point of conflict
during a merge since the merge request and the resolution of conflicts is
not atomic.  There can be no "safe" merge without locking down all the
affected resources and their version histories.

Regards,
Tim

Received on Monday, 20 August 2001 05:09:13 UTC