[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: shelve is (surprisingly) sensitive to working directory

From: Julian Foad <julianfoad_at_apache.org>
Date: Tue, 2 Jan 2018 12:06:47 +0000

James McCoy wrote:
> While messing around with things recently, I decided to try out shelve
> to save some of my pending changes.

Thanks for trying it!

[...]> jamessan_at_freya:~/src/apache.org/subversion/trunk$
./subversion/svn/svn shelve demo
> C /home/jamessan/src/apache.org/subversion/subversion/libsvn_client/shelve.c
>> rejected hunk @@ -216,7 +216,6 @@
> shelved 'demo'
> ]]]
> Notice that a conflict is shown and the full path is incorrect (missing
> /trunk/). It looks like the relative path from my working directory was
> appended to the working copy root, which is clearly wrong.

Ugh. Thanks for finding this.

Fixed in http://svn.apache.org/r1819804

Please could you check it.

The working directory still needs to be within the WC for all the
shelving commands. When you specify a path ("svn shelve foo
path-to-wc/...") this is counter-intuitive, and probably should be
changed: it should check all given paths (default: ".") are in the same
WC and use that WC.

The other commands, "svn unshelve foo", "svn shelve --delete foo" and
"svn shelves" don't currently accept paths but maybe they could.

When listing shelves, maybe we should list only those that affect paths
entirely within the given path(s), or only those that affect at least
some paths within the given path(s). E.g. (just thinking out loud):

$ svn shelves
--- shelves entirely within '.':
--- shelves partially within '.':
--- 13 shelves are outside '.'; specify '--all' to list them

It would be good to hear any thoughts you have about how to improve it.

- Julian
Received on 2018-01-02 13:06:53 CET

This is an archived mail posted to the Subversion Dev mailing list.