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

New idea for the checkout process

From: Robert Dailey <rcdailey_at_gmail.com>
Date: Fri, 5 Jun 2009 16:50:12 -0500

Hey guys,
I had an interesting idea for a new checkout process, I wanted to gather
opinions on what you guys thought of this.

I'm sure you have all seen the installers that allow you to customize the
items that it places on your system. Not only that, but it allows you to
customize *how* the item is installed on your system. For example, you can
install 'Entire contents' or have it "Ask for CD" when that item is accessed
and install on-demand. I believe the old MS Office installers did this.

I'm thinking that this behavior maps well to Subversion checkouts. With the
advent of sparse directories, this becomes ever more apparent. Right now to
do complex sparse checkouts, especially at varying levels of the working
copy tree, there are several steps involved. What if we provided a
"Repository Browser" view of the desired checkout area, and within that
tree, we applied a button in front of each node in the tree that gave custom
options for checking out that particular item. For example, consider this
tree:

/my_project
  /code
    /c-plus-plus
    /c-sharp
  /art
  /documents

In this case, I only want my checkout to look like this:

/my_project
  /code
    /c-plus-plus
  /documents

Everything else, I do not want. Additionally, I only want the immediate
files of the /c-plus-plus directory, not fully recursive. Remember that
combo box in the current checkout dialog that shows the depth for that item?
Well this combo box would be what appears when you click the button next to
each node in the tree. So, when I do my checkout, I tell it the path:

svn://myrepo/my_project

After that, I press a new button called "Customize Checkout" or "Sparse
Checkout" or something along those lines. At that point in time, something
similar to the Repo Browser appears, but without the list view on the right.
Only a tree. To the left of the name of each node, there is a button, kind
of like this:

+ [X] my_project
|--+ [X] code
| |--+ [X] c-plus-plus
| |--+ [X] c-sharp
|--+ [X] art
|--+ [X] documents

Please excuse the poor ascii art. In the above example, each [X] is a
button. This button, when pressed, would cause a context menu to pop up with
a few options. These options would essentially represent "Checkout depth":

   - Fully Recursive
   - Immediate children (including folders)
   - Only file children
   - Only this item
   - Exclude

In this case, to get my desired working copy that I want, I would select
"Exclude" for 'art' and "Exclude" for c-sharp. And since I only want
c-plus-plus's files, I would select "Only file children" for it.

When I press OK, and my checkout is being downloaded, I get only the exact
structure I want in one convenient operation. I have attached a screenshot
of the MS Office 2007 installer, which gives a good example of how the tree
customization should look like. The button styles, of course, could be
different and perhaps more compact.

Let me know what you guys think.

------------------------------------------------------
http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=757&dsMessageId=2359847

To unsubscribe from this discussion, e-mail: [dev-unsubscribe_at_tortoisesvn.tigris.org].

checkouttreeexample.png
Received on 2009-06-05 23:50:28 CEST

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.