IIUC, a big part of getting out-of-date errors on directories, is that
we are very strict in our server-side transaction-merging code about
I think there is scope to loosen the restrictions, if done carefully.
Currently, we disallow a propchange on a directory unless it is
up-to-date in the WC with the last revision made anywhere below it in
the repository (due to bubble-up). We do this (IIRC) because post-commit
rev-bumping of a directory which was not fully up to date *could*
involve addition or removal of children of the directory.
Therefore, the first relaxation we could do, would be to explicitly
check whether a given merging involves a change in the child list of a
directory, instead of simply noting that it *might*, and stopping
The second, more complex, relaxation would be to enhance the RA
protocols to the point where the server can allow a propchange on a
directory even if it has changes to its child list, but can then say to
the client "OK, you've committed the directory itself, but now you must
mark it as incomplete in your working copy, since your knowledge of its
children is now no longer correct."
Received on Thu Aug 3 13:32:33 2006