On 07.09.2013 12:47, Greg Stein wrote:
> On Thu, Sep 5, 2013 at 6:51 AM, Branko Čibej <br...@wandisco.com> wrote:
>> ...
>> For the server->client-mixed-revision
>> scenario, I now believe this is not the case.
> I'm curious why a move() would be sent to a client.

Off the top of my head:

  * It would help find better solutions to a category of tree conflicts
    that we currently do not handle very well.
  * It allows the client to optimize working copy changes, issueing
    filesystem-level moves of files and directories instead of rewriting
    and deleting them. In large working copies, a rename of a directory
    can be very expensive in the current copy+delete implementation.


But I'm astounded that you'd even consider having an asymmetric editor
API. After all, it's not constrained to client<->server communication.

It seems obvious to me in hindsight that Ev2 was designed mostly with
the client->server direction in mind, and kind of ignored the issues on
the working-copy side. I don't mean implementation details such as the
NODES table; those can't be used as valid arguments for defining API
semantics. But high-level features such as mixed-revision working
copies, switched subtrees, sparse trees etc. do have a non-trivial impact.

-- Brane


-- 
Branko Čibej | Director of Subversion
WANdisco // Non-Stop Data
e. br...@wandisco.com

Reply via email to