subversion-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache subversion Wiki <comm...@subversion.apache.org>
Subject [Subversion Wiki] Update of "MultiLayerMoves" by PhilipMartin
Date Tue, 06 Mar 2012 11:53:12 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Subversion Wiki" for change notification.

The "MultiLayerMoves" page has been changed by PhilipMartin:
http://wiki.apache.org/subversion/MultiLayerMoves?action=diff&rev1=16&rev2=17

  
  There is only one move recorded C/F->C/G.  The move inside the copy is recorded in a
similar way to the move inside a move.
  
+ = Move rewrites moved-to =
+ 
+ Move has to rewrite moved-to both inside an outside the moved tree. The first case is moved-to
entirely within the moved tree: move A to B after A/F to A/G.  This causes moved-to on A/F
to be rewritted (to null) and moved-to on B/F to be added:
+ 
+ || op-depth || local-relpath || presence     || moved-to ||
+ ||    0     ||    A          || normal       ||          ||
+ ||    0     ||    A/F        || normal       ||          ||
+ ||    2     ||    A/F        || base-deleted ||   A/G    ||
+ ||    2     ||    A/G        || normal       ||          ||
+ 
+ || op-depth || local-relpath || presence     || moved-to ||
+ ||    0     ||    A          || normal       ||          ||
+ ||    0     ||    A/F        || normal       ||          ||
+ ||    1     ||    A          || base-deleted ||    B     ||
+ ||    1     ||    A/F        || base-deleted ||          ||
+ ||    1     ||    B          || normal       ||          ||
+ ||    1     ||    B/F        || normal       ||          ||
+ ||    2     ||    B/F        || base-deleted ||    B/G   ||
+ ||    2     ||    B/G        || normal       ||          ||
+ 
+ The second case is moved-to from inside the moved-tree to outside the moved tree: move A
to B after A/F to G. Like the first case this requires the moved-to on A/F to be rewritten
(to null) and moved-to on B/F to be added. Compared to the first case the value of the rewritten
moved-to doesn't change:
+ 
+ || op-depth || local-relpath || presence     || moved-to ||
+ ||    0     ||    A          || normal       ||          ||
+ ||    0     ||    A/F        || normal       ||          ||
+ ||    2     ||    A/F        || base-deleted ||   G      ||
+ ||    1     ||    G          || normal       ||          ||
+ 
+ || op-depth || local-relpath || presence     || moved-to ||
+ ||    0     ||    A          || normal       ||          ||
+ ||    0     ||    A/F        || normal       ||          ||
+ ||    1     ||    A          || base-deleted ||   B      ||
+ ||    1     ||    A/F        || base-deleted ||          ||
+ ||    1     ||    B          || normal       ||          ||
+ ||    1     ||    B/F        || normal       ||          ||
+ ||    2     ||    B/F        || base-deleted ||   G      ||
+ ||    1     ||    G          || normal       ||          ||
+ 
+ The third case is move-to from outside the moved tree into the moved tree: move A to B after
F to A/F. This causes moved-to on F, outside the moved tree, to be rewritten:
+ 
+ || op-depth || local-relpath || presence     || moved-to ||
+ ||    0     ||    A          || normal       ||          ||
+ ||    0     ||    F          || normal       ||          ||
+ ||    1     ||    F          || base-deleted ||   A/G    ||
+ ||    2     ||    A/G        || normal       ||          ||
+ 
+ || op-depth || local-relpath || presence     || moved-to ||
+ ||    0     ||    A          || normal       ||          ||
+ ||    0     ||    F          || normal       ||          ||
+ ||    1     ||    A          || base-deleted ||   B      ||
+ ||    1     ||    F          || base-deleted ||   B/G    ||
+ ||    1     ||    B          || normal       ||          ||
+ ||    2     ||    B/G        || normal       ||          ||
+ 

Mime
View raw message