Working with launchpad.net

The TAPAAL project uses www.launchpad.net for code-hosting and bug management.

The TAPAAL project is hosted at: www.launchpad.net/tapaal

All developers are encourage to get familiar with launchpad.net. To get an overview of the features available in launchpad we recommend reading the introduction tour: http://launchpad.net/+tour/index. All core developers is expected to have read the launchpad help pages: https://help.launchpad.net/

TAPAAL uses a Decentralized with automatic gatekeeper workflow for bazaar (see http://wiki.bazaar.canonical.com/Workflows). This means that it is not possible to directly push/commit to trunk and series brances.

If you prefer a git like workflow, with one repository with all branches you can also do this with bzr, see http://www.taoeffect.com/blog/2009/06/using-bazaar-like-git-repoalias-plugin/

Working with Bazaar

Before committing the first time

Before committing make sure that you are properly identified by launchpad and bzr by running:

bzr whoami

This will show you your name and email as registered on launchpad e.g. “Kenneth Yrke Joergensen mail@yrke.dk”, if this is not the case, please correct it by running the command

bzr whoami 'Full Name <email@domain>'

Where “Full Name <email@domain>” is replace by your name and email.

Make a branch

To work on tapaal you first need to create a feature branch. This is done by

  bzr branch lp:tapaal branchname

We suggest to name branches for bug fixes according to the bug number (eg tapaal-fix-832652).

Now hack way.

Before Committing

Before committing remember to go through the following steps.

  1. Check that the commit implements the feature it is meant to. A commit should be a complete and comprehensive patch to the system. Do not split up a change in many small commits.
  2. Check that no new files are forgotten by running bzr status
  3. Check that debug-code or other test changes are not included in the commit by running “bzr diff” and LOOK through the diff.
  4. Check that the code still builds (run make)
  5. Now you are ready to commit.

Commiting

When you commit a bugfix to a TAPAAL branch always remember to add the –fixes to the commit.

bzr ci --fixes=lp:1234   # Where 1234 is a bug ID

Always remember to specify a meaningful commit message.

Commit message

The first line of the commit message is used summary and appears many places as a summary of the commit. So a descriptive yet concise first line is important.

For trivial fixes only specify the first line. For larger patches give a short and concise description in summary line. Use a blank line before giving a longer description of the patch.

If you are fixing a bug, always remember to specify the bug number in the commit message summary. Eg. “Fix for bug #1234”. (Also even if you use –fixes on the commit, not all tools are able to use the –fixes option)

Example commit message (fictive):

Implemented check for verifyta version, fixes bug #1234

Added a function that check the verifyta executable version number before 
verifyta is started. Added a wrapper function for call to verifyta, remember
to use this new wrapper function. 

In order to make the commit message look good, remember to brak lines before 80 chars. (Std. width of a unix shell)

Making a branch public

In order for other to see your branch you need to upload it to launchpad. This is done using

bzr push lp:~username/tapaal/branchname

If the branch is not already there, it will be created. If you collaborate with other on a branch you can push it to a team by replacing ~username with ~team-name

Getting your branch into trunk

In order to get you code into trunk you need to create a merge request on launchpad. Remember to set a commit message in the interface, else it will not be merged.

In order to get merged you commit need the following status:

  1. The merge requested has the status approved
  2. At least two people has set the status approved
  3. No one has set the status reject
  4. The request has a commit message
  5. The java code builds without errors after the merge

Merges are automatically done every five minutes.

Bug Status

Remember to set a bug status: Read on https://wiki.ubuntu.com/Bugs/Status what a status means. NB: Notice the status triaged and opinion

developer/workingwithlaunchpad.txt · Last modified: 2018/07/10 21:48 by kyrke
CC Attribution-Noncommercial-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0