On Thu, 19 Nov 2009, C. Michael Pilato wrote:
Martin Furter wrote:
http://svn.apache.org/viewvc/subversion/trunk/tools/client-side/svn-viewspec.py?view=markup
No, I didn't know that script, it's nice.
The only problem I see with that script is that it is a script. If it
were integrated into subversion all clients can (and probably will)
include the feature.
I wholeheartedly agree that this is functionality that belongs in Subversion
itself. I can easily envision the likes of 'svn checkout --view VIEW-FILE'
(where VIEW-FILE is a local path *or a Subversion-versioned file URL*).
Some things stand in the way of this being of practical drop-in use today,
though.
First, Subversion still has a significant shortcoming in its sparse
checkouts support that was pointed out to me recently (via the svnbook issue
tracker, of all places): you cannot register your desire to exclude bits of
a tree *at the time you check out the tree*. You can't say, "Gimme /trunk
but without /trunk/massive-test-data-tree." You'd have to checkout the big
ol' tree you don't want, and 'then' exclude the thing. Alternatively, you
can try to build a tree piecemeal of the stuff you want -- but then if new
stuff appears in the repository, you might not notice that stuff.
We should add that to tasks.html and maybe the issue tracker.
It's pretty easy to add that later when sparse directories have support
for it.
Secondly, it's still limited to subsets of a particular repository tree.
There's no support for assembling trees from various repository locations,
or locations in other repositories, etc.
Sparse externals!
/me ducks and watches the set of wooden hammers fly by ;)
If we go that route we have to find out first why some people don't like
externals and what could be done to improve them.
Still, maybe we have enough from a rapid-prototyping standpoint now to start
looking at getting some skeletal support for views into place?
I'll soon start hacking, have to re-create a development environment since
I 'lost' my old one.
Martin