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].
Received on 2009-06-05 23:50:28 CEST