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

Reply via email to