Handling Version Changes that Break APIs

From: "andrew cooke" <andrew@...>

Date: Thu, 29 May 2008 11:35:17 -0400 (CLT)

This seems to be a common issue, which I've seen at Mule and now on the
Python list: an existing product is popular and has "major number" release
that is being developed while the existing code is maintained.

The problem is how to manage the development so that fixes are shared
across both versions as easily as possible.  This becomes harder as the
two diverge, because Subversion cannot merge changes on both branches as
easily.

I don't think there's a magic bullet, but I do get the impression that
people underestimate the cost of this and, as a consequence, don't try
sufficiently to minimize the time over which the two divergent versions
are being developed (not maintained for legacy work, but actively
developed).

The python-dev discussions are at
no single thread that has all the discussion, unfortunately.  See, for
example http://mail.python.org/pipermail/python-dev/2008-May/079835.html
and http://mail.python.org/pipermail/python-dev/2008-May/079843.html

The suggestion to merge after applying conversion tools is particularly
interesting.

Andrew