Odi's astoundingly incomplete notes
New entries | CodeWhy you never develop on a branch
I always tell my fellow coders: never develop new features on a branch.
By branch I mean a stable release CVS branch. That is usually a bit "old". Trunk is quite volatile. New concepts are introduced, old ones removed. Refactoring occurs on the trunk.
So if you start to build something on the old branch and then port it to trunk, your code may be based on old/deprecated concepts and will fail to support new features correctly.
Another factor is human errors: forgetting to port a patch between branches. If you develop on the branch, your customer is happy. But in the next release he will be unhappy when he notices that a change has been lost. If you develop on the trunk you get immediate feedback from a customer when you forget to backport a change.
In general it's easier to write the code for trunk and then backport it to the branch world. Also the backport should happen gradually and not as a big bang.
By branch I mean a stable release CVS branch. That is usually a bit "old". Trunk is quite volatile. New concepts are introduced, old ones removed. Refactoring occurs on the trunk.
So if you start to build something on the old branch and then port it to trunk, your code may be based on old/deprecated concepts and will fail to support new features correctly.
Another factor is human errors: forgetting to port a patch between branches. If you develop on the branch, your customer is happy. But in the next release he will be unhappy when he notices that a change has been lost. If you develop on the trunk you get immediate feedback from a customer when you forget to backport a change.
In general it's easier to write the code for trunk and then backport it to the branch world. Also the backport should happen gradually and not as a big bang.
Add comment