Sat Nov 10 00:15:43 HKT 2007
From
/weblog/software+engineering/SCM
http://www.cmcrossroads.com[..]/cgi-bin/cmwiki/view/CM/BranchYesMergeNo A lot of resource here -
http://www.cmcrossroads.com[..]i-bin/cmwiki/view/CM/BranchingAndMerging At my company, we tag each CVS module and we use those tags to build releases. That way, we know exactly which code versions each deployment has. Also, developers can check in code at any point while controlling when they release it.
Branches are a major headache, which I avoid whenever possible. You have to worry about maintaining and testing each branch, along with merging changes. I prefer to release the latest and greatest code to each customer. If different customers require different behavior, if statements and configuration files are a lot better than CVS branches.
Branches do make sense if you want to release a minor change to an old release, but upgrading the entire code base is risky. However, high-quality code and testing should reduce that risk.
http://discuss.joelonsoftware.com[..]arent=16312&ixDiscussGroup=3&cReplies=11 Subversion branching technique and tips -
http://binkley.blogspot.com[..]version-best-practices-branching_01.html http://www.dehora.net[..]version_tips_dealing_with_branches.html/ Another discussion -
http://www.codinghorror.com/blog/archives/000968.html
(google search)
(amazon search)
Sat May 19 17:04:33 HKT 2007
From
/weblog/software+engineering/SCM
Software CM creates the medium through which software development changes & activities must flow. Therefore, Software CM is the intentional architecture of software development change-flow. According to this article
http://bradapp.blogspot.com[..]/2007/05/software-cm-is-not-process.html
(google search)
(amazon search)
Sun May 07 20:26:42 HKT 2006
From
/weblog/software+engineering/SCM
A very nice example that use subversion as a datasource at other application, great idea IMHO:
http://www.onjava.com/lpt/a/6571
(google search)
(amazon search)