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

This widget could not be displayed.

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.

This widget could not be displayed.

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
Atlassian Summit 2018

Meet the community IRL

Atlassian Summit is an excellent opportunity for in-person support, training, and networking.

Learn more
Community showcase
Published yesterday in Marketplace Apps

The 7 hacks of highly successful automation

...there's anything I've learnt from working, it's that people are lazy! No offense to anyone reading this, but it's true and we can all admit it. The easier you make something for someone, the more...

132 views 0 9
Read article

Atlassian User Groups

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

Find a group

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

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you