Ubuntu logo

Packaging Guide

8. Auf dem Laufenden bleiben

Falls bereits jemand anderes Änderungen an einem Paket vorgenommen hat, wirst du sie in deine eigenen Kopien des Pakets einbinden wollen.

8.1. Hauptzweig aktualisieren

Das Aktualisieren deiner Kopie des Zweiges, welcher zu dem Paket in der jeweiligen Veröffentlichung gehört, ist sehr einfach. Verwende lediglich bzr pull aus dem entsprechendem Verzeichnis heraus:

$ cd tomboy/tomboy.dev
$ bzr pull

This works wherever you have a checkout of a branch, so it will work for things like branches of saucy, trusty-proposed, etc.

8.2. Arbeitszweige aktualisieren

Once you have updated your copy of a distroseries branch, then you may want to merge this in to your working branches as well, so that they are based on the latest code.

You don’t have to do this all the time though. You can work on slightly older code with no problems. The disadvantage would come if you were working on some code that someone else changed. If you are not working on the latest version then your changes may not be correct, and may even produce conflicts.

The merge does have to be done at some point though. The longer it is left, the harder may be, so doing it regularly should keep each merge simple. Even if there are many merges the total effort would hopefully be less.

To merge the changes you just need to use bzr merge, but you must have committed your current work first:

$ cd tomboy/bug-12345
$ bzr merge ../tomboy.dev

Any conflicts will be reported, and you can fix them up. To review the changes that you just merged use bzr diff. To undo the merge use bzr revert. Once you are happy with the changes then use bzr commit.

8.3. Sich auf Versionen eines Paketes beziehen

You will often think in terms of versions of a package, rather than the underlying Bazaar revision numbers. bzr-builddeb provides a revision specifier that makes this convenient. Any command that takes a -r argument to specify a revision or revision range will work with this specifier, e.g. bzr log, bzr diff, and so on. To view the versions of a package, use the package: specifier:

$ bzr diff -r package:0.1-1..package:0.1-2

Das zeigt den Unterschied zwischen den Paketversionen 0.1-1 und 0.1-2.