Stefan Sperling wrote:
svn shelve
svn unshelve
svn shelf --list
svn shelf --drop
svn shelf --diff/--show
That's a totally reasonable approach, and is similar to (not exactly the
same as) what's currently implemented on trunk and on shelve-checkpoint
branch.
FWIW you missed out 'svn save' (create a checkpoint, don't revert from WC).
That could be 'svn shelve --keep'
Yes it could...
The discussion of syntax for referring to a particular shelf and version is
perhaps the more interesting part of the whole discussion; I would welcome
any thoughts on that part.
We could assign numbers to them, display those in 'svn shelf --list',
and let all other shelf-manipulating options expect a number.
Sure, that's implemented already:
[[[
$ svn savepoint log 'qq'
version 1: 52 days ago
0 files changed
version 2: 51 days ago
hello.txt | 1 +
1 file changed, 1 insertion(+)
version 3: 32 days ago
D5/file | 2 ++
hello.txt | 1 +
2 files changed, 3 insertions(+)
$ svn savepoint restore qq 2
U hello.txt
restored 'qq' version 2 and deleted 1 newer versions
]]]
Now I'm talking about *syntax* for accessing these. I proposed some
syntaxes in the initial email in this thread.
Additionally, or instead, we could have user-provided shelf entry names
(UTF-8 strings), and allow them to be used for identification.
I don't like that idea, but thanks for suggesting it anyway; it may
spark some other thoughts.
- Julian