Taking the plunge....

Steve Dyer Steve.Dyer at homeserve.com
Sat Dec 3 13:45:01 CST 2011


Hi, I am looking into migrating my development teams over to the wonders of Mercurial, but have many questions running through my head about how to achieve this, or even whether Mercurial is the right tool.

We are a Progress development house (www.progress.com for those who haven't heard of Progress......probably everyone!), and currently use a vendor sourced SCM called Roundtable. Roundtable is written in, and promoted by Progress so that is why we have it.  It also comes in at about £2k per developer, plus an annual maintenance/support package.  It is very rigid, and very strict, but to be fair has served us well.  However massive growth and cent offshoring/cosourcing of development has meant we need to start looking down a different path......thus Mercurial.

I have done a lot of reading,and a lot of investigation around a variety of tools, and in fact in my distant past I was a user of SVN, so some of the concepts of Mercurial aren't new to me.  Recently I have focused my research into GIT and Mercurial, and for, in part, political reasons, Mercurial has now been thrust to the top of the list.

My first task really was to work out a suitable SCM strategy, and supporting developer/release work flows.  I stumbled across a very good article on this very idea, which although focused on GIT, the concepts are perfect for how we work, and from the posts on that article this can work with Mercurial too.  My problem is I can't visualise how exactly, day to day, Mercurial fits into this strategy.  The article is here http://nvie.com/posts/a-successful-git-branching-model/ 

My question(s) really is, how would one go about working with a strategy like this?  Where this article refers to branching (feature branch, release branch etc) would they be clones in Mercurial land??  

Of course that strategy there may not be the best approach, so if anyone can point me to some better examples of Mercurial usage that would be great.  We currently have around 30 developers, some based in the same office, some offshore and some offsite.  Our code base is some 10,0000 files amounting to about 1gig at a guess.  It's worth mentioning too that this application serves 6 businesses in effect.  Each business is an internationals variant or like a franchise of our uk business.  As a result we have currently a single core codebase, and this then feeds into 6 sub code bases.  The main reason for this is economy of scale for our sub businesses, and it gives us the ability to feed functionality etc developed for one business out to our others.  So our code base currently looks a little like this hierarchically :

Level 1 : Dev
Level 2 : TestSpain TestFrance TestUSA TestItaly
Level 3 : ProdSpain ProdFrance ProdUSA ProdItaly

So dev feeds into 6, and then each of those feeds into the appropriate Prod.  Then within the code itself we have switches etc to say "IF Business is France THEN DO....".  Not white that crude, but you get the idea.

Anyway, that's a bit of brain dump, so apologies but I wanted to sort of put that out there in the hope that I can prompt some Mercurial gods to see it and go "hey that's easy,  you need to do this....", or at least say "nah, you should go and read this before posting that on here"

Many thanks for at least reading all that and getting this far down before deleting!

Steve

***  This email has been scanned by HomeServe’s MessageLabs Email Security System.
For more information please visit http://www.messagelabs.com/email ***

This e-mail and its attachments are strictly confidential. If you are not the intended recipient please delete the e-mail (including attachments) from your system without printing copying disclosing or otherwise using its contents. If you have received this e-mail in error please notify us immediately by e-mail or telephone on 0845 149 8000. Any e-mails sent in an employee's personal capacity are not sent on behalf of us and are the personal responsibility of the sender. 

Whilst we make every effort to ensure that this e-mail is free from viruses this cannot be guaranteed. We therefore recommend that you scan all e-mails with appropriate virus checking software.

Homeserve plc is registered under company number 2648297. Homeserve Claims Management Limited is registered under company number 3913960. Homeserve Membership Limited is registered under company number 2770612.

All the above companies are registered in England, and each has its registered office at Cable Drive, Walsall, WS2 7BN.

Homeserve Membership Limited is authorised and regulated by the Financial Services Authority under registration number 312518.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://selenic.com/pipermail/mercurial/attachments/20111203/7304cc36/attachment.html>


More information about the Mercurial mailing list