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

Re: [TSVN] Re: Shelving

From: Simon Large <simon_at_skirridsystems.co.uk>
Date: 2005-08-03 22:45:58 CEST

Mark Phippard wrote:
> These are the steps you are suggesting the option should do:
>
> 1) Create branch with URL to URL copy
> 2) Switch to branch
> 3) Commit to branch
> 4) Switch back to where you started
>
> The problem is that step 2 is really an update. Unless the WC was
> entirely at the revision that was used when creating the branch, the
> switch operation will do an update locally. This could include creating
> conflicts.
>
> So while doing it this way does solve the problems I posed, it raises some
> new ones. Ideally, if this feature were really desired, Subversion would
> support it as a command. Then option 1 could be done from the WC (using
> the base revisions only). This would avoid the Switch in step 2 causing a
> problem.

The goal as I understand it is to create a branch which stores my
partially completed WC work so I can go work on something else. This is
very much like a commit, so logically I would want to choose which
changed and unversioned files are going to get included. So...

Add a 4th branch mechanism to the branch/tag dialog:
( ) Head revision
( ) Specific revision
( ) Working copy
(*) Shelf (WC base + changes) // Dodgy description

Start up a dialog which looks a lot like Commit. This does an svn
status, so it knows whether I have a mixed revision working copy. If
that is the case, simply abort and explain that the shelf must be based
on a clean single-revision WC. Explaining that succinctly in a dialog
may be the hardest part of the exercise ;-)

Having done that check, we know which single revision the WC is based
on, so do a repository copy of that rev to the branch. The log message
here comes from the branch/tag dialog.

Then switch to the branch and commit the marked files. There may be a
technical reason why this is not easy after the switch has happened. The
second log message comes from the commit-style dialog.

This sounds like a non-trivial feature request, with a limited audience,
and I wonder whether there is enough call for it to justify that amount
of work. Although it is a bit easier than doing all the component parts,
there are still a few dialogs to click through. All it is doing is
guiding you rather than saving much work.

There is already a feature request to make CreatePatch use a commit
dialog style front end. I don't know how much common code there would be
if that is done. Possibly not much.

Simon

-- 
        ___
   oo  // \\      "De Chelonian Mobile"
  (_,\/ \_/ \     TortoiseSVN
    \ \_/_\_/>    The coolest Interface to (Sub)Version Control
    /_/   \_\     http://tortoisesvn.tigris.org
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tortoisesvn.tigris.org
For additional commands, e-mail: dev-help@tortoisesvn.tigris.org
Received on Thu Aug 4 09:21:31 2005

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