Work in Progress

This page is work in progress, please do NOT rely on its content.

Proposal

This page will describe the current state of Wicket branching and merging, as well as a proposal how to do it in the future.

Wicket's development branches and how they are merged up to and including version 6.1.

At the time of this writing, Wicket has two and a half main branches:

  • master for future development. 6.x was and is released out of this. Lots of activity.
  • wicket-1.5.x for maintenance of the previous version. Not many more commits are expected here.
  • wicket-1.4.x is all but dead now.

So far we have merged only by committing in one branch (usually the "lowest" the change was supposed to be in) and then "merging" it upwards by cherry-picking that commit. This is a rather suboptimal merge strategy in my opinion. This way the branches are not connected in any way, and especially it is difficult to see which patches from one branch have already made it into the next.

By using git merge properly rather than just cherry-picking everything, we can have well-connected branches, with proper parent relationships between commits and (potentially) reducing merge conflicts and such things. There are a few different ways of doing this with git and I want to discuss and propose some of them here.

– to be continued –

  • No labels