The ability to change root dirs is needed for 0.26, so people with existing root dir sutures can migrate.

There is a branch for this: net.venge.monotone.root-dir-rename

The branch has:

  • rosters have the ability to change roots
  • roster_merge handles the new conflict cases this allows

The branch needs:

  • an implementation of pivot_root
    • NB: make sure to refuse to pivot_root if the proposed new root has a subdir named "MT"
  • lots of tests
    • make the roster.cc test automaton generate root dir stuff
    • roster_merge stuff
    • pivot_root stuff
    • rosterify on db with root sutures
    • ?