Repository layout and sparse checkouts

Posted by chuanose on Stack Overflow See other posts from Stack Overflow or by chuanose
Published on 2010-04-13T16:02:17Z Indexed on 2010/04/13 16:03 UTC
Read the original article Hit count: 210

Filed under:

My team is considering to move from Clearcase to Subversion and we are thinking of organising the repository like this:

 \trunk\project1
 \trunk\project2
 \trunk\project3

 \trunk\staticlib1
 \trunk\staticlib2
 \trunk\staticlib3

 \branches\..
 \tags\..

The issue here is that we have lots of projects (1000+) and each project is a dll that links in several common static libraries. Therefore checking out everything in trunk is a non-starter as it will take way too long (~2 GB), and is unwieldy for branching.

Using svn:externals to pull out relevant folders for each project doesn't seem ideal because it results in several working copies for each static library folder. We also cannot do an atomic commit if the changes span the project and some static libraries.

Sparse checkouts sounds very suitable for this as we can write a script to pull out only the required directories. However when we want to merge changes from a branch back to the trunk we will need to first check out a full trunk.

Wonder if there is some advice on 1) a better repository organization or 2) a way to merge over branch changes to a trunk working copy that is sparse?

© Stack Overflow or respective owner

Related posts about svn