Excluding Repository Folders

Where I work, we have a very bloated Subversion repository.  Only two of the subfolders underneath the branch/trunk folders are actually used to build our application.  All the other subfolders are used to store documentation, 3rd party library installers, and 3rd party library source code (I know, yuck!)  This extra stuff dramatically increases the checkout size, if you grab the whole thing (on our dev machines, we typically do not).

Obviously, one fix would be to restructure our repository so it contains only the source required to build our application.  However, that could take some time to iron out.  I was wondering if there is a way to specify include/exclude lists when checking out source.

For example:

include /trunk/InHouseSource
include /trunk/ThirdPartyLibs

exclude /trunk/[everything else]

include/branch/
include/branch/

I was able to specify these restrictions when I created rules for copying from the repository to the workspace, but I could not find a way to avoid checking out an entire branch for the repository.  Right now we’re only checking out the trunk, so it’s workable, but if I were to start including other branches in the repository, the disk usage could become enormous (more than we have allocated on our new build machine).  Additionally, there are a lot of changes, such as in-house documentation changes, that get checked into other folders, thereby triggering builds - even though none of the source code was affected.

If there is no way to specify checkout rules, then we’ll just have to bite the bullet and restructure our source code repository.  I was just hoping for something easier.

Thanks,

Jesse

Hi Jesse

We don’t have any way of specifying checkout rules, however you could specify a subfolder under the trunk as the Default Path e.g. /trunk/InHouseSource. Continua will then only checkout that path when initialising the repository cache. If another path under trunk is relevant to the build then you can set up another Continua repository to point to that path and use the repository rules to ensure that the source is copied from each repository to the correct workspace folder for running the build.

Note that you can also use the Exclude Patterns on the repository dialog to exclude changesets which include only files in a specified folder.