Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Basically, almost all development and fixes and such are usually done by the various developers right on mastermain. Thus, the main job of the fixes branch maintainer is to triage the commits on master main and merge pure fixes to the fixes branches, resolve conflicts, run the tests, and periodically deploy snapshots. For the most part, when things go well, it doesn't take too much time or effort. An hour or two every couple days is about it.

...

  1. use git branch to make a branch.
  2. On the branch, create a .gitmergeinfo file with a single line of "origin/mastermain" to say the branch will be merging from there.

In trunk/bin, there is a DoMerges.java program that assists in the merging. If the branch is setup with .gitmergeinfo, if you run it from the root directory of the checkout, it will prompt for every commit on master main to see if you want to "Merge" it, "Block" it, or "Ignore" it. It displays the commit log first so you can see what was involved. You can also check the cxf-commits archive to see the full details of the commit to help decide what action to take. If you select "Merge", it will merge the change and then prompt before committing. That will allow you to look at the merge and resolve any conflicts. (or even revert it if you didn't mean to hit Merge)

...

Warning

If you are performing the release on a Mac, it is advisable to add -DpushChanges=false to the "release:prepare" step above. The version of git that Apple ships with some versions of OSX has problems pushing the changes in quick succession from the release plugin and can become corrupt. Having the release plugin NOT push the changes and then running "git push -tags origin mastermain" works around that problem.

...