Thorsten Scherler wrote:
On Sat, 2005-08-27 at 14:51 +0100, Ross Gardler wrote:

David Crossley wrote:

Thorsten Scherler wrote:


c) refactoring of "old" code into a new version which would break the
usability of the old code while refactoring.


I think that would be better done in a branch.


+1


Actually I was referring to your example of refactoring the Daisy
plugin. I have chosen different wording I have to admit.

The "refactoring" of the Daisy plugin is a good example of code that should be done in a branch. I broke some functionality of the 0.1 plugin during this refactoring whilst I worked out how it should be done. In this case it was done in the locationmap branch because it used the locationmap. If I'd done it in core then it would not have always been releasable.

If it had been a straight refactoring (tidying of code) I would agree with you though.

NOTE: If we agree to move all plugins out into a separate repo module we will be able to branch individual plugins.

IMO branches should only be used if necessary. Refactoring code not
always have to be done in branches. If they are components that can be
capsuled then they should be refactored in "incubation". That is more
efficient (I do not have to check out a whole branch).

Plugins cannot have a version in whiteboard/incubation and one in the core - their names would clash. This is another good reason to move plugins into their own repo, we can then branch just that plugin code and not the whole tree.

Core code normally do not allow that, another good reason to try to make
the core as small as possible.

+1

Ross

Reply via email to