API changes needed to support rename move tracking.
(Early draft)
Tree Diff / Editor
...
APIs
svn_editor_t (Ev2)
- This has 'move' operations designed in, but I haven't yet tried to validate and use them.
svn_delta_editor_t
- See MoveDev MovesOverDeltaEditor
- This is a path-based editor, and a path-based solution is needed.
- Method:
- Modify the producer and consumer but not the protocol, keeping back-compat.
- Send src & dest paths with 'del' and 'copy' methods when part of a move.
svn_tree_processor_t
- This is a path-based editor.
svn_wc_diff_callbacksN_t
- This is a path-based editor.
svn_ra_reporter_t
- This is a path-based editor.
Client to server
Client lib
- 'move URL URL' sends 'move'
- 'commit' sends 'move'
...
- Add a 'move' method, that keeps copy-id the same.
- 'changes' list - record as a 'move'?
Server to client
Repos
- report -> delta
- replay
- delta-dirs
...