Greg Stein <gst...@gmail.com> writes:

> I think the update should ask, "apply edits to A/f to your moved B/f?".

If the user says "no" then I think we would have to break the move and
convert it into a copy + delete.  If the user copies A/f@3 to B/f and
then updates A/f to r4, it doesn't make sense for B/f to remain a move.

Note that the destination isn't always a working file.  Consider a
working copy with 3 files A/Y/f, B/Y/f, C/Y/f.  Move A to X, delete X/Y,
move B/Y to X/Y, delete X/Y/f, move C/Y/f to X/Y/f:

op-depth  local-relpath  presence  moved-to   moved-here
    0        A            normal
    0        A/Y          normal
    0        A/Y/f        normal
    1        A            deleted    X
    1        A/Y          deleted
    1        A/Y/f        deleted
    0        B            normal
    0        B/Y          normal
    0        B/Y/f        normal
    2        B/Y          deleted    X/Y
    2        B/Y/f        deleted
    0        C            normal
    0        C/Y          normal
    0        C/Y/f        normal
    3        C/Y/f        deleted    X/Y/f
    1        X            normal                 1
    1        X/Y          normal                 1
    1        X/Y/f        normal                 1
    2        X/Y          normal                 1
    2        X/Y/f        normal                 1
    3        X/Y/f        normal                 1

So the file X/Y/f exists at op-depth 1, 2 and 3.  An update that changes
B/Y/f needs to update the row X/Y/f at op-depth 2 although no change is
made to the working file.

-- 
uberSVN: Apache Subversion Made Easy
http://www.uberSVN.com

Reply via email to