Create merge-request for new FEATURE

Created by Nick Papior
Keywords:
all
Last updated by:
Nick Papior

NOTE:
This procedure should _only_ be followed if your are proposing a new feature for siesta.
If you a proposing a bug fix then please see https://answers.launchpad.net/siesta/+faq/2747.

To prepare a FEATURE merge you *must* branch of the trunk code and commit your feature changes. It is imperative that changes made on this branch *only* has changes related to the FEATURE. Anything unrelated to this FEATURE should be committed in another branch for another merge-request. (Remember that the maintainers of SIESTA needs to go through the code and check the validity, anything that makes this difficult should not be in the code.)

To make a branch of the siesta trunk do this:
   bzr branch lp:siesta <branch-name>
   ...
   <Make all your code changes>
   ...

1. Step the version.info file.
2. Create a document in Docs/branch-changes/NOTES.<branch-name>
which contains detailed information of the changes introduced in this branch. It should describe any specific considerations concerning development.
3. Keep updating the manual about relevant computational details that may be controlled via fdf-flags.

NOTE: A good advice is to commit often, there is no reason to post-pone commits when the code is in a usable condition.

Perform a commit:
   bzr commit --file=<logfile>

At this point you have the updated code and committed the code locally.
Now you must make it publicly available.
Do this:
   bzr push lp:~<your lp username>/siesta/<branch-name>

This puts your changes to launchpad and it will be publicly available.
Now you must tell the siesta-maintainers that you have created a change and you wish to let it enter the code repository.

Go to this webpage:
   https://code.launchpad.net/~<your lp username>/siesta/<branch-name>

and under the item "Branch merges" you can press "Propose for merging".
Do this and fill out the relevant information.
NOTE: The default merge branch is defaulted to lp:siesta (which is what you typically want).

Typically you want the merge-request to be reviewed by any siesta-developer.
To do this enter:
    siesta-maint
in the "Reviewer" box.
Otherwise, if you want a specific maintainer to review your merge-request, enter their launchpad ID into the "Reviewer" box.

Now you are done.
You have made the siesta-maintainers aware of a code change that is eligible to be merged into the development.
Wait and see if the maintainers accept your contribution. It may happen that the maintainers decide that more information is needed, or that additional comments are required in the code changes. If this is the case then you must re-commit those changes to your branch (lp:~<your lp username>/siesta/<branch-name>).