Branches and Trunks
Some of our clients find it difficult to understand why it can be tough to run multiple projects on one code base and that we can spend some time 'merging'.
At Aqueduct we branch aggressively, we follow the 'no junk in the trunk' rule and create branches for every project or new feature. This allows us to support the current live code bases (trunk) whilst safely developing other features or projects (branches).
However this can comes at a price, too many branches or very lengthy projects and we end up with merging headaches.
Indeed before we can do a release we need to merge the branch code back in the trunk, there will be conflicts, and there will be more the longer it took for the branch to get developed and signed off.
To save time and money we do two things:
- We limit the number of branches for a code base to 2, add the trunk and that makes a maximum of 3 code bases to manage
- We only branch and develop once every user story is signed off and the project scheduled to reduce the time the branch lives and therefore the number of potential merging conflicts
There are many other ways to manage source control (Facebook and twitter are notorious for not using any branching) but in our agency we deal with many projects, different environments and code bases and we find that 'no junk in the trunk' works well and limits human errors and bugs.





Comments 0 Comments