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

Re: How to checkout partial directories in a project?

From: Simon Large <simon_at_skirridsystems.co.uk>
Date: 2006-09-16 00:09:16 CEST

Liu Yubao wrote:
> Simon Large wrote:
>> On Thu Sep 14 6:28 , Liu Yubao <yubao.liu@gmail.com> sent:
>>>>> I think it's better to add an "update" menu item (and "missing"
>>>>> icon for
>>>>> each missing directory?) in the SVN Repo-browser, since 'svn
>>>>> update' can
>>>>> deal with this case now, we don't need a switch trick any more.
>>>> Non-recursive checkouts seem to be even more broken in svn 1.4.0,
>>>> but there is work under way to make them work properly, so I don't
>>>> think we should even try to make a workaround now.
>>> I remember the old behaviour of 'svn co -N dir' is to check out files
>>> and empty sub directories under dir, now it only creates a .svn
>>> directory. I don't know whether this problem is that you refer to, I
>>> think it's a sensible decision as I can use 'svn ls' to see directory
>>> tree and 'svn update' to update specified items.
>>
>> Ah, that's how it works now. Thanks for explaining that.
>>
>> The problem here is how to design a GUI to do what you suggest. We
>> can't put
>> missing overlays in explorer because explorer doesn't have icons for
>> those
>> folders. And the repo-browser is exactly that - a browser for the
>> repository, not
>> a working copy. What you propose would require us to produce our own
>> explorer
>
> I think we don't need a *new* WC browser, I often right click on a
> folder then select "SVN Repo-browser" to show the tree in repos, it's
> very convenient, and I searched an "update" menu item intuitively after I
> encountered this problem.
>
> Imagine this scenario:
> repos/trunk/A/a
> repos/trunk/B/b
> repos/trunk/C/c
> I don't need C/, so I can
> 1)do a non-recursive checkout on trunk, get work/.svn,
> 2)right click on work/ directory, select "SVN Repo-browser" and reach
> the trunk/ directory in repos,
> 3)press F5 or select "Refresh" menu item to refresh file and directory
> list under trunk/, I see there are three directories under it: A,B,C
> (it's better to show "missing" overlays),
> 4)at last, select A, B and right click, select "update" menu item.
>
> It's similar to 'svn co -N' && 'svn ls' && 'svn update A B' sequence.

I like this idea. When repo browser is invoked from a working copy, and
the URL still refers to the same WC, add an 'update' menu item.

Alternatively, enhance the 'Update to revision' dialog so that you can
specify the URL of a subfolder to update.

> But here is a little problem, because we can view a repos that doesn't
> associate with any working copy with 'SVN Repo-browser', it need
> decide whether to show the "update" menu item and overlays.
>
> Another stuff we can reuse as WC browser is the 'Check for modification'
> dialog, it can show a tree view not only a list view.

This sounds much harder to do. There is no tree view at present, and in
any case it shows modifications, not repository structure.

But (a big BUT), this feature could not be included until 1.5.0, and I
think Subversion is reworking the whole partial checkout thing at the
moment. There is an incomplete-directories branch being developed mainly
by kfogel at the moment. So it is really not worth putting in a lot of
effort now when there will be a new set of APIs in the next release.

BTW, I added your method to the FAQ.

> It seems the first solution needs less work and the second is a little
> more convenient.
>> window showing the WC contents and the missing items as well. I have
>> sometimes
>> thought that having our own local tree browser would be a Good Thing
>> to overcome
>> some of the limitations of explorer, but it sounds like a *lot* of work.
>
> Thanks for all your hard work, TortoiseSVN is abso-f**king-lutly the
> greatest Subversion GUI client as I know :-D

+1 :-)

Simon

-- 
        ___
   oo  // \\      "De Chelonian Mobile"
  (_,\/ \_/ \     TortoiseSVN
    \ \_/_\_/>    The coolest Interface to (Sub)Version Control
    /_/   \_\     http://tortoisesvn.net
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tortoisesvn.tigris.org
For additional commands, e-mail: dev-help@tortoisesvn.tigris.org
Received on Sat Sep 16 00:08:41 2006

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.