views:

48

answers:

2

There're some external libraries (Havok, Ogre) used in my solution. Those got huge size of '*.lib' (over 1G). When using SVN, it also keeps tracking those external libraries and generates .svn-base which duplicates those 1G files. This is causing extremely slow when checking out the solution over internet. I was wondering is it safe to remove those .svn-base file or can I just exclude those external libs? or at least keep my local copy light weight. Please advise a good way to deal with this issue. Thanks.

PS. I don't have permission to modify the SVN server, but can only commit my own version. Also, I use TortoiseSVN as a client.

+1  A: 

svn-base is used to compare the most recent update from the server with whatever edits you may have made to your local copy. If you delete those svn will probably choke and ask you to update your copy before submit. While its handy to have libraries managed with your code it might make sense in your case to delete the libraries and put a stub with the version of Havok and Ogre in use.

ebt
+2  A: 

Since you said you don't have access to the server, this answer won't help you immediately, however it might be worth suggesting it to someone who does manage the repository.

For static things like this, that change rarely, I've previously found it useful to utilise externals. Large libraries like this would sit in one repository, whilst the working code source would sit in another. The libraries repository would be set as an external in the working code repository.

When you checkout at home you can ignore externals so that you only get the working source (assuming you've already got the requisite libraries).

If you need to get the whole lot you can include externals.

See http://svnbook.red-bean.com/en/1.5/svn.advanced.externals.html for more info.

Michael Shimmins
+1 i think it is just the right solution in this particular instance
InSane