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 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 # Make Changes bzr commit -m "Merge comment"
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.