Branch per Major Task

The pattern is a variant of Branch per Task in which each branch is create exclusively for major tasks. Minor tasks are preformed directly in the principal codeline.

A major task is one that is judged likely to take several codeline revisions to complete, that is a 'long transaction'. Typically the codeline's policy will dictate threshold for considering a task to be a major task. This threshold may be defined in terms of the estimated number of lines of code, estimated time required to complete the change, number of files effected, or some other objective measure of the change complexity and how likely it is to interfere with the smooth operation of the main codeline.