2
votes

at work we use SVN and trunk contains MANY folders that are used by different developers. I work on c++ side of our product and quite often I need to checkout separate copy of our code for various reasons but it takes insane amount of time. The problem is that trunk contains many things that I don't need for my c++ part (it contains lots of gui related projects for iPhone, Android that I don't need). SO, is it possible to have some sort of checkout in svn that checks out only certain folders?

I know I can check it out, and then exclude some folders, but can I do it at the beginning so that I wouldn't need to checkout everything?

Is there some svn specific way to make some checkout tags, for example, I could have separate shortcuts for c++, android or iPhone developer so that they don't need to checkout everything and wouldn't need to have some cryptic checkout string that checksout some selected folders only?

(changing svn, reordering structure aren't options)

2
I'm pretty sure you can use svn to checkout individual files. Are you using an IDE to manage the checkout process or are you doing it from the command line or specialized tool? which one?Wug
i use tortoisesvn. Off course I can checkout individual files. I need to checkout whole tree (thousands of files), but I'd like to exclude parts that I don't use (thousands of files also). I guess I need to use sparce checkouts for that.Pavel P

2 Answers

0
votes

You can checkout needed subprojects manually at any time. If you need to do it often, you can create you own "super project" that contains all needed subprojects via svn:externals. After that you can checkout everything with just one command.

0
votes

TortoiseSVN has exactly the feature you need. Here how it looks like (sorry for blur).

First, you pick "Choose items..." here: enter image description here

Then select what you want in the opened tree: enter image description here

The "Omit externals" is independent from this process, you may or may not select it.

Please note that if later you do "Update", your initial selection is ignored and update pulls everything.

And answering your last part, if you need any fancy checkout, I am afraid that scripting it is the only option.