RE: Developing frameworks and applications in tandem and managing dependencies

"Anna-Jayne Metcalfe" <[email protected]> Tue, 31 Jul 2012 12:57:33 +0100
Newsgroups gmane.comp.windows.off-topic
Message-ID <!&!AAAAAAAAAAAYAAAAAAAAAFpZYOCpua1AsUU25lbUK8bCgAAAEAAAAFflFLSfQ8dJr/p/[email protected]>
Hi John,

> Below is a long thinking-out-loud kind of a discussion. tl;dr: only use
svn externals definitions to point at immutable release tags or at pegged
revision numbers.

I'm glad you're making some progress in defining a scheme which works for
you.

Our Dev branches could equally well be named "trunk" as you observe. The
difference from the scheme you describe seems to me to be that once we have
created a Release branch from Dev, the Release branch can be modified
subsequently (so, the Visual Lint 3.5 release branch was spawned at
3.5.0.171, and has since been the source of 3.5.1.172, 3.5.2.174 etc.)
whilst the Dev branch became 4.0.0.173 as soon as the v3.5 branch was
created.

So our release branches aren't static things - they are live product
versions in its own right.

The nice thing for us is that we can edit code in any Dev branch and quickly
see the impact on other products. Indeed, one of the tasks we have running
at the moment (support for the VS2012 dark theme) is causing major changes
of this kind to UI control library code as we speak.

The downside is of course that you have to check in changes to see knock-on
effects, so it may not scale to a large team as the build might well be
broken too often during major changes). Equally, if you have lots of
products (say > 10) the overhead might be too much and a library versioning
scheme might be better suited. It does however seem to work for us at
present, though.

> Subversion has a feature called svn externals which might be like what you
refer to as 'shared projects' but I'm not sure... (What SCC system are you
using btw?) You can use an svn externals definition to link in directories
from projects in other Subversion repositories (or in the same repository).

As far as SCCs go we're (unfortunately) still using SourceSafe at present. A
change is on the cards at some point, but so far we've not settled on what
to replace it with as yet (although we've dabbled with Perforce & various
DVCSs, nothing's hit the sweet spot yet).

One day we'll get round to sorting it out...probably when someone new
arrives who wants to take on the job of migrating everything. ;)



Kind Regards,

                Anna-Jayne Metcalfe
                Product Manager,
                Riverblade Limited

                http://www.riverblade.co.uk

               Twitter: @annajayne
               Skype: anna-jayne.metcalfe


Riverblade Limited, 3 Wellington Road, Bournemouth, Dorset BH8 8JQ, United
Kingdom
Registered in England no. 5187132. VAT Registration no. 847 0045 38
Please direct general enquiries to enquiries-Ql1sqIwY9iDiUBgd2R2O9eG/[email protected]

ACCU - http://www.accu.org - Writing software is a craft, and crafts need
craftsmen. Where else are you going to learn?