Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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

...