Adrian Crum wrote:
> David and I are in agreement on the end result, and this point is where
> we disagree. Like you, David wants all changes to be made in the branch.
> I don't think a branch is needed. The interface extractions can be done
> a little at a time in the trunk.
> 
> A branch with the kind of extensive changes that are planned will open
> up a HUGE can of worms when it is merged with the trunk. Consider that
> this one interface extraction resulted in three bug reports - what would
> happen if we introduced dozens of interface extractions in a single commit?

I agree with you as well, this does *not* need to be done in a
separate branch.

However, what you did by doing the last step first, in trunk, is the
wrong approach.

* Adding a new interface to some base component does not break
unreleated code(short amount of time).
* Implementing said interface by an existing object does not break
unreleated code(short amount of time).
* Modifying other code to use the interface does not break unrelated
code(takes a long time to do, and can be done incrementally by many
people).
* When other code no longer references concrete class, then
remove/rename it(breaks unreleated code, but that needs to be
announced, not just discussed).

This set of changes does *not* need to be done in a hole; it can be
done incrementally.

Reply via email to