Well, this is not particularly on architecture. Just the other day the dev team of one of my current projects released a 1.0 alpha version of the product (no, although it’s a very cool Flex application, I can’t give you a public url right now – stay tuned for a few more days). The fact that we’ve basically released some first version that went to staging/production now implied that we had to revisit the way our subversion code repository was set up.
We finally realised that we needed to introduce proper branching and merging. For soneone who doesn’t really enjoy working with CVS, this is interesting as Subversion’s branching and merging concept are imho significantly easier and absolutely straight forward compared to the woe one had to fight with when using CVS. But anyway – while we changed the repository layout, I came across two extremly helpful tutorials/articles, I’d like to share:
The latter is written from a rather abstract point of view and independent from any paticular versioning product but a very recommended read about the patterns and general ideas behind branching.
Funny enough – in another project we’ve just introduced a proper versioning system as well (they were using Visual Source Safe before, which I don’t consider to be a proper versioning system, sorry – that would be as to call Access a proper enterprise database system that should be used in web applications…). There we’re going to use CVS and some people fought a hard fight to establish exclusive checkouts of code. With this terminology, I don’t refer to having private branches per developers and merging them together at some later stage – this might become necessary in very large projects; what I refer to is locking and unlocking files in the trunk whenever they are used resp. stop being used. I was heavily argueing against that because it’s one of the silliest ideas I can think of for a ca. 10 person CF web development/testing team being located on the same floor. I would go even further and say the exclusive checkouts are absolutely evil.
What do you guys think about exclusive checkouts? Any opinion?