Best way to pull down different source code folders

lance_lyons
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
September 20, 2011

Hi, we have a project that is quite large and the build has a primary solution and several projects that are dependencies and seperate builds.

so in svn we have

trunk\projA

trunk\projb

trunk\projc

trunk\projd

trunk\proje

trunk\projf

trunk\projg

trunk\projh

trunk\MainProject

trunk\references

i only need to pull down proj a, d,e,f, MainProject and references to build. My nant script that we tell to build Mainproject.sln will build the other 4 projects as dependencies.

What is the best way for me to pull down just the code I want?

so that I have

builddir\proja

builddir\projd

builddir\proje

builddir\projf

builddir\MainProject

builddir\references

and the fire off the Nant script.

2 answers

1 vote
Przemek Bruski
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
September 21, 2011

You could either set up a separate directory in your SVN repository with externals and use it for plan repository or set up just proja as source repository and checkout other directories with a script task.

Obviously, these are just workarounds - Bamboo 3.3 with native support for multiple repositories (so, exactly what you need) will be out within a month.

0 votes
ReneR
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
October 24, 2011

Support for Multiple Repositories aside... how do you keep sanity in such a project??! :)

Your build has so many places where things can go wrong. So many dependencies. Are all these depedencies worked on by the same team or different ones?

Clearly defined Producer<->Consumer relationships are a good way to ensure builds are reliable.

BigProjectFoo that depends on componentsA-F should always know what version of these components it's using. BigProjectFoo should make the decision about when to move to a different version of componentC or componentD.

I would have separate builds for Components A thru F. Make sure those are always green.

Then have a 'stable' build of BigProjectFoo with 'release' versions of the components. And maybe a 'latest' build of BigProjectFoo that integrates the latest builds from the component dependencies to identify integration problems early.

All of these you can do through artifact sharing and svn:externals.

Just my .02 as a build engineer...

lance_lyons
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
October 24, 2011

I think your not understanding the scenario completely.

When we have a svn source tree that has 40 projects under it for the Application set and I only need to pull down 5 of these projects for a particular build, why not pull down just the 5 projects? We dont need the other 35 since it causes more disk space to be used and makes the build take longer.

In addition we have these seperate projects as standalone projects since they are REUSED by other projects. Therefore when we pull down code we need to build these dependencies as well.

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events