background preloader

Scm

Facebook Twitter

Tech Talk: Linus Torvalds on git. Branches vs. Streams. Today I watched a subversion webinar where the presenter from a popular hosting/services company described three general branching strategies: unstable trunk, stable trunk, and agile. After seeing their "solution" for managing agile development with branches, I thought "I agree with the goal but what a complete merge mess using branches! Streams are significantly more natural and just plain easier. " I'll explain by comparing to AccuRev's implementation of streams... "Agile" Branching Quick review... Now to the point... At various milestones, the release branches are merged into both trunk and ongoing task branches to keep them up-to-date. Agile StreamingQuick review... a stream represents a single configuration of source code. Now to the point... unlike using branches, streams don't require massive merging all over the place.

If you promote a single task (i.e. bunch-o-files) to Integration, the other 3 task streams -automatically- have visibility to the newer versions! In summary.... Source Control HOWTO. Distributed revision control with Mercurial. Mercurial.