On Oct 21, 2011, at 5:42 PM, Noah Slater wrote:

> I don't follow this comment at all. 1.2 does not necessarily have everything
> 1.1 has in it. They may even diverge when we get down to the bugfix version.
> Releases are tagged from release branches which are split from trunk.
> Sometimes we apply fixes to the release branches that we do not
> "forward-port" to trunk or newer release branches. It's all there in the
> version control system. Can you clarify?


        This makes sense if 1.1.1 was released after 1.2, but why would you not 
want to include the 1.1 changes in 1.2?  As much as I dislike using perforce 
and its like, I find Laura Wingerd's Tofu Scale to be a good generally working 
model.

        For example, let's say 1.1 is stable, released version of software and 
1.2 is a stabilizing, about to be released piece of software.  A bug fix that 
is important enough to require a fix in the previously released version should 
also be required for 1.2.  Ideally, you make the fix in 1.2 (the firmest of 
branches), and then merge it up.

        This is true even if the broken functionality no longer exists, because 
it very clearly marks that the bug doesn't exist and how it came to not exist 
(git makes it easy to do what is effectively a NOOP merge).

        The end result is you can easily ask what's missing in either direction 
between any two points and nothing gets lost.  Show branch, github branch view, 
etc... will happily show you when a maintenance branch has crept ahead of a 
development branch.  Otherwise, it's a lot of work to ensure things don't get 
dropped.  I generally prefer to leverage the tools that can do this reliably 
for me.

-- 
dustin sallings



Reply via email to