On 08/15/2013 08:01 AM, Julian Foad wrote:
I propose the following logical semantics of the versioned move
operation that is the basis of move tracking, independent of any
implementation.
A versioned move of the node with node id “N”, with respect to two
revisions rX and rY (X < Y), shall mean:
* Same node id. A node with node id N exists in rX and in rY. It
is “the same node”. It therefore has the same node kind. It may have
content modifications.
If the contents change then it should get a new node-id.
I have a vested stake in this since our asset management system backed
by svn caches in memcached the result of many svn_fs_*() functions by
node-id. Our system does three cache lookups:
time -> revision
(revision, path) -> node_id
(node_id, function_name) -> result
Doing this allows me to take a lot of load off the svn backend RPC server.
Blair