Philip Martin wrote:
> Revision properties are unversioned that's well documented.  There are
> two hooks associated with a revprop change, the pre-revprop-change and
> the post-revprop-change.  What's not well documented is that these
> hooks and the change are not executed within a Subversion transaction,
> which means that the ACTION parameter passed to the hooks is not
> reliable.

By "reliable", are you talking about a race condition that can be triggered
by multiple clients trying to modify the same revision's properties or
something?  Do you have an example that explains your concern?

> At the very least that's a documentation bug, but is it a code bug as
> well?  Is there any point in providing ACTION if it is not reliable?
> Should we run the pre-revprop-change and the change itself in a
> Subversion transaction?  Something like:
> 
>     Process 1                  Process 2
>     ---------                  ---------
>     start txn
>     get old value
>     run pre-revprop-change
>                                start txn
>                                get old value
>                                run pre-revprop-change
>     change-value
>     commit txn
>     run post-revprop-change
>                                change value
>                                fail to commit txn
>                                return error
>     return success

This rather depends on the idea of Subversion having a concept of a
transaction apart from "revision in the making"?  And implemented in the
repository layer, even.

-- 
C. Michael Pilato <cmpil...@collab.net>
CollabNet   <>   www.collab.net   <>   Distributed Development On Demand

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to