Contributing Code

= Pre-requisites =

You need Bazaar for revision control.

= Login Setup =


 * Get a launchpad account at https://launchpad.net/+login
 * When logged in, setup your SSH keys
 * Click your name (top right corner)
 * Click Change Details link (upper right)
 * Click SSH Keys button (middle of page)
 * Upload your public SSH key  (How do I get a public key?)
 * Register yourself

bzr launchpad-login [yourloginid]

= Getting the code =

You should prepare a directory to keep bzr work in

mkdir $repo # where $repos is some directory (ex: ~/repos) cd $repo bzr init-repo drizzle

You should first create a clean repo.

bzr branch lp:drizzle trunk

You can see the current history with:

cd $drizzle-repo # ex: ~/repos/drizzle cd trunk bzr log | more

You can now create a working copy of the clean repo

cd $drizzle-repo bzr branch trunk drizzle-fix-bugNNNNNN cd drizzle-fix-bugNNNNNN

NOTE: Use descriptive names such as drizzle-fix-bugNNNNNN (where NNNNNN is the bug # of course).

You should now Compile Drizzle.

= Adding your contribution = With a working version, you can commence making changes in your new branch, committing code regularly to your local working copy. cd $drizzle-repo/drizzle-fix-bugNNNNNN bzr commit -m "Merge comment"
 * 1) Make Changes

Prior to publishing your completed work, you need update your local copy of the trunk, and then merge any changes into your working branch.

= Merging recent changes =

Update your local trunk.

cd $drizzle-repo cd trunk bzr pull

Updating your local branch.

cd $drizzle-repo cd drizzle-fix-bugNNNNNN bzr merge ../trunk bzr commit -m "Merged from trunk"

Verify differences carefully

bzr diff

= Publish your branch =

When all changes are merged and your changes are all consistent you can push your branch to LaunchPad

cd $drizzle-repos/$your-branch # where $your-branch is the branch you want to push (ex: drizzle-bugNNNN) bzr push lp:~[yourloginid]/drizzle/$your-branch

= Propose branch = On your Launchpad Code page https : //code.launchpad.net/~[yourloginid]/drizzle/[branch-name] click the Propose for merging into another branch link to propose branch to the maintainers to be merged into the main trunk.

Scrivere del codice