unison
unison copied to clipboard
add `move`, `delete` commands which simultaneously operate on term+type+namespace+patch having that name
move Foo Bar
would perform an atomic (in a single causal step)
move.term Foo Bar
move.type Foo Bar
move.patch Foo Bar
move.namespace Foo Bar
and show a consolidated diff after.
If it moves multiple types of things, it should also let the user know how to undo and use individual move.* commands. 💙
Analogously with delete (if it doesn't already work this way).
Acceptance Criteria
- [ ] All changes should be part of a single causal step
- [ ] If any change would fail due to a name conflict, no changes should occur and the conflict should be printed
- [ ] Some commands don't apply, e.g. a patch called Foo doesn't exist, that's okay, ignore it.
- [ ] If NO commands would apply, (e.g. no changes would occur), we should display a message indicating that.