
Branching
What customers says... "I've had a chance to play with "method history" for a few days now and I'm impressed so far" Jason Allis, ThoughtWorks "I started using the product on a project already and Iím amazed at how smooth branching and merging is, home run, finally branching like a developer expects it to work." Wayne R.
Plastic SCM 4.0 Online Launch
Update: I have used the term ‘branch-per-feature’ very loosely until recently. It was a catchy name, easy to remember, and got the point across.
Branch-Per-Feature Source Control. Introduction
Someone once asked me if adoption of Agile methods results in changing your branching strategy. After several milliseconds of thought (and a dramatic pause for effect), I said, "No, not really." Agile methodologies are all about process, and branching strategies are intimately tied to the development process. It's reasonable to expect that adoption of agile methods results in changes to your branching strategy. And indeed it does if you aren't already following branching best practices. When it comes to applying agile concepts to branching strategies, I find that it doesn't lead to new branching patterns.
Agile Branching Strategies
The goals of a branching pattern should always to be to manage a software team’s development process and to make this process as easy and straight-forward as possible. With this process, the team should be able to complete all of the things that need to happen in order to release a piece of software. So how you establish this pattern? Make Merging Changes Easy and Straight-forward
Branching | Software Configuration Management and Agile Software Development
Agile: Branches vs. Streams
Naresh Jain » Agile FAQs Blog » Managed Chaos » Version Control Branching (extensively) Considered Harmful
Branching is a powerful tool in managing development and releases using a version control system. A branch produces a split in the code stream. One recurring debate over the years is what goes on the trunk (main baseline) and what goes on the branch. How do you decide what work will happen on the trunk, and what will happen on the branch? Here is my rule:Branch per Story Pattern and TFS : Richard Banks - Agile and .NET
Source control management has always been one of those sticky topics which always causes many questions. Many veteran programmers are baffled by the in-and-outs of branching and merging. And for good reason; it is a difficult topic. I’ve been around in many different organizations. I’ve been the person who was told what the SCM strategy was, and I have been the person who designed it.
Simple Branching Strategy Part 1: Back to Basics « Making the Complex Simple
has_many :through - Agile git and the story branch pattern
Font: Mechanical pencil for body, Erwin for heading Sources: Tim Ottinger, George Dinwiddie (via mail list) , Jeff Langr Branch-per-feature is a common SCM strategy in which a branch is created on a central server for each feature that is under development. As a feature is completed, the branch is integrated back into the main development code line. In some organizations, releases are composed by merging selected, completed features together. This seems quite rational, and can be made to work with enough effort applied in bursts.
Branch Per Feature
Software Testing & QA Online Community > Detail: Agile Codeline Management Software configuration management (SCM) techniques have a reputation as something to tolerate as a necessary evil, in spite of the fact that they appear to make development more complicated. With time, developers see the benefit of version control, but often they have the impression that SCM is "important" in some not understood way. The fear is particularly acute when it comes to codeline management, especially when the word "branch" is mentioned. In this article I will explain the concept of Agile Software Configuration Management, and give an example of how one of the more feared codeline management concepts; the branch, can be understood as a tool for agility. This is one example of why version management is part of the software developer’s toolkit, even the agile developer’s toolkit.
Article info : Agile Codeline Management
One trend I've noticed with git users is a habit to create a lot of branch and merge activity. The oft-repeated mantra is "branching is (easy/cheap/safe) in git so I do it a lot". When working on an agile project though, this behavior can cause serious problems. To illustrate the point, compare american football to soccer: American football has highly specialized players and positions as well as a variety of tightly choreographed set pieces. In contrast, soccer has a much lesser degree of specialization, and while there are some set pieces that are choreographed, the majority of the game is spent reacting to the situation as it evolves.

