Differences between revisions 12 and 13
Revision 12 as of 2013-07-12 11:24:37
Size: 5192
Editor: ?MichaelVogt
Revision 13 as of 2013-07-12 19:47:41
Size: 2967
Editor: ?MichaelVogt
Comment: remove some bzr references
Deletions are marked like this. Additions are marked like this.
Line 18: Line 18:
== How to use bzr ==
The apt team is using bazaar (bzr) as version control system. Bazaar is a distributed version control system that is easy to use and still powerful.

 * For team members it can be used almost like svn: bzr checkout / bzr diff / bzr commit
 * For anonymous access: bzr get / bzr pull / bzr push
 * A good (and short) tutorial http://doc.bazaar-vcs.org/latest/en/mini-tutorial/index.html
== Branches used ==
Bazaar makes branching and merging very easy. Most development is done in feature branches or user branches that are then merged into the ""debian-sid"" or ""debian-experimental"" branch.
== How to use git ==
The apt team is using git as version control system.
Line 38: Line 32:
APT uses the [[http://bazaar-vcs.org/|bazaar DVCS]]: APT uses git
Line 41: Line 35:
aptitude install bzr}}}

These commands will create a directory named respectively debian-sid and debian-experimental:

bzr branch nosmart+http://anonscm.debian.org/bzr/apt/apt/debian-sid
bzr branch nosmart+http://anonscm.debian.org/bzr/apt/apt/debian-experimental
Now you have two local branches tracking the remote ones.

Inside your local branch, you can merge the changes from the remote branch into your branch with the following command, to keep your working copy up-to-date:

bzr pull}}}
Move to debian-experimental and search for an UNRELEASED version. If there isn't any, create it with '''dch'''.
apt-get install git}}}
Line 73: Line 53:
bzr commit -m "Message"}}}
Usually using the changelog entry as the message is enough. If you want to delete the last commit because you made a mistake:
git commit -m "Message"}}}
Usually using the changelog entry as the message is enough.
Line 76: Line 56:
bzr uncommit}}}
Remember to daily ''bzr pull'' to merge remote changes into your local branch.

== Publishing your branch ==
After you got a good set of commits and everything works correctly, you can publish your branch over internet, then you can propose a merge by contacting the mailing list with your repository URL:

bzr push URL}}}
The repository must be '''sftp capable'''.

For example, you can create an account on [[http://www.launchpad.net|launchpad]] which offers free service for bzr hosting:

 1. Tune your account
 1. Setup your own SSH key to access the remote branch
 1. Register a new '''hosted''' branch under the '''apt''' project with the name '''debian-experimental''' having the ''experimental'' status
 1. Access your branch web page and you can see the URL to use for {{{bzr push}}}.

'''''NB''''': notice that the {{{lp:}}} protocol already includes the sftp capability and it's strictly related to launchpad.

Apt Team

We maintain apt and python-apt.


Current Team Roles

  • David Kalnischkies is the main person that does the coding work (and is the evil mastermind)
  • Michael Vogt is currently the main person doing review/uploads.
  • Julian Andres Klode works mostly on python-apt
  • Christian Perrier is doing l10n maintenance.

How to use git

The apt team is using git as version control system.

Help needed

How to contribute

Everybody can help APT. You are welcome to contribute on bug traging, coding, fixing bugs and merging patches, translating and so on.

Creating a local branch

Before you start, we suggest you to get a working copy of either debian-sid or debian-experimental development branch.

APT uses git

apt-get install git

Preparing and triaging

Now let's look at some bugs about apt and search for the ones tagged patch. This tag means the bug has already a patch that fixes the bug and should be reviewed. You can filter the search further.

At the beginning, it's better you start gaining experience with both the code and the documentation by looking at some minor and normal bugs. The following steps are suggested to get the triage done the best way for one bug:

  1. Read the whole information about the bug (and merged bugs), including comments until the end
  2. Read the provided patches (including merged bugs)
  3. Thank the reporter and the patcher then tune tags and severity when needed by using the control server. Please ask the maintainer when you are in doubt.

  4. Apply the patches you think are worth to be included in the latest TIP of bzr (i.e. debian-experimental). If it doesn't get applied correctly, modify the sources accordingly to the patches and to the discussion and please attach an updated patch to the bug.

Save in a personal TODO all the bugs you triage and the ones you are in doubt to contact the maintainer at once.

Committing the changes

For each patch you apply or different things you do (also small changes or typos), commit them in your local branch and create a debian/changelog entry about the changes in a compact form:

git commit -m "Message"

Usually using the changelog entry as the message is enough.