← Back to team overview

nunit-dev team mailing list archive

Interim Merge Approval Process

 

Hi All,

For now, we will be doing merges manually. Here's how I propose
we do it...

1. Use feature branches locally, so your merges can all
   relate to one thing. It's hard to review multiple
   changes in one merge request.

2. When fixing a bug use commit --fixes lp:NUMBER to flag the
   commit as fixing the bug. Launchpad will use this to
   change the bug status. (If you forget to use it, just
   do a commit --fixes lp:NUMBER --unchanged to register
   the bug fix.)

3. When you're ready to have a change reviewed and merged,
push it to a branch of nunit under your user name, e.g:

   bzr push ~your.name/nunit-3.0/BRANCHNAME

Of course, use nunit-2.5 if that's what you're working on.
BRANCHNAME should represent what it is you're committing.
Easiest is to make it the same as your local branch.

4. Go to your branch on the Launchpad site and request that it
be merged with trunk.

5. Everyone on on the nunit-dev team should get notified
of your merge request. (Folks, please clue me in if you
aren't getting these notices - I'm not 100% sure it's
set up right.)

6. Even though several people may vote to approve, it's
still not approved till the status is changed. I *think*
that anyone in nunit-core can change the status, but
I'm not sure - again, please clue me in. My thought is
that any committer should be able to approve the merge.

7. For now, the actual merging is manual. Once the status
is approved... if the submitter is also a committer, go ahead 
and merge it yourself. If the submitter is not a committer,
it would be useful to have someone step up and do the merge.
If you approve the merge, please either do the commit or
ask on the list for someone else to do it if you don't
have time.

8. There are several ways to do the merge. If you're the
submitter, you already have a local branch, so update
your local trunk and merge it into the branch. Then
push the branch to the public trunk. If you are not
the submitter, create a local branch on which to do
the merge, merge in the submitted branch, run the
tests and push it to trunk.

This is the best I can come up with for now. I think
we'll learn more as we do it. Suggestions welcome

Charlie