It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

Best way to pull down different source code folders

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

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.

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...

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
Community showcase
Published in Bamboo

Unable to add or edit Bitbucket Cloud repository in Bamboo

On 31 May, a GDPR-related change went live in the Bitbucket Cloud API that resulted in users not being able to create or edit Bitbucket Cloud Linked repositories in Bamboo. This API update removed t...

445 views 2 6
Read article

Community Events

Connect with like-minded Atlassian users at free events near you!

Find an event

Connect with like-minded Atlassian users at free events near you!

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you