Julian Foad wrote:
[...] To achieve such rollbacks, the user would have to first revert, which involves deciding what to revert.

And that seems OK to me.

The larger point is that this kind of work flow, and the difficulty of working with changes in overlapping subtrees, is analogous to some existing techniques. For example, if one tries to use two different branches to manage two different change-sets, and work with them both in one WC by switching part of the WC to one branch and another part to another branch, and the changes involve overlapping subdirectories, maybe like this...

 svn switch "^/branches/#1" A/B
 svn switch "^/branches/#2" A/B/F A/D
 svn switch "^/branches/#1"       A/D/G

... it seems to me that more or less the same issues arise.

Looking more specifically at one of the details, we note that 'svn switch URL PATH' recursively overrides the current URL on PATH and all its descendents (hence having to write the above example as three steps), whereas 'svn update' doesn't, and we have yet to define whether the proposed 'restore' command would do one or the other or something different. But if it's broadly analogous it seems reasonable.

- Julian

Reply via email to