debcommit - übergibt Änderungen an einem Paket
ÜBERSICHT
debcommit [Optionen] [--all | zu
übergebende Dateien]
debcommit erzeugt, basierend auf neuem Text in
debian/changelog, eine Commit-Nachricht und übergibt die
Änderungen an das Depot eines Pakets. Es muss in einer Arbeitskopie
für das Paket ausgeführt werden. Folgende
Versionskontrollsysteme werden unterstützt: cvs, git,
hg (Mercurial), svk, svn (Subversion), baz,
bzr, tla (Arch), darcs.
- -c, --changelog
Pfad
- gibt einen alternativen Speicherplatz für das Changelog an.
Standardmäßig wird debian/changelog benutzt.
- -r, --release
- übergibt eine Veröffentlichung des Pakets. Die
Versionsnummer wird anhand von debian/changelog bestimmt und benutzt, um
das Paket im Depot zu markieren.
Beachten Sie, das svn-/svk-Markierungskonventionen variieren,
weswegen Debcommit svnpath(1) verwendet, um zu bestimmen, wo die
Markierung im Depot platziert werden soll.
- -R,
--release-use-changelog
- Wenn dies in Verbindung mit --release benutzt wird, dann wird die
Commit-Nachricht, falls es nicht übertragene Änderungen am
Changelog gibt, aus diesen Änderungen abgeleitet, statt die
Standardnachricht zu verwenden.
- -m Text,
--message Text
- gibt die Commit-Nachricht an, die verwendet werden soll; nützlich,
falls das Programm von allein keine auf debian/changelog basierende
Commit-Nachricht festlegen kann oder falls Sie die Standardnachricht
außer Kraft setzen möchten.
- -n, --noact
- tut tatsächlich nichts, gibt aber die Befehle aus, die
ausgeführt würden.
- -d, --diff
- druckt statt ein Commit durchzuführen das Diff, das
übergeben worden wäre, falls diese Option nicht angegeben
gewesen wäre. Eine typisches Verwendungsszenario dieser Option ist
das Erzeugen von Patches für die aktuelle Arbeitskopie (z.B. wenn
Sie keine Commit-Rechte haben).
- -C, --confirm
- zeigt die erzeugte Commit-Nachricht an und erbittet vor dem Commit eine
Bestätigung. Es ist auch möglich, die Nachricht an dieser
Stelle zu bearbeiten; in diesem Fall wird die Bestätigungsanfrage
erneut angezeigt, nachdem die Bearbeitung durchgeführt wurde.
- -e, --edit
- bearbeitet die erzeugte Commit-Nachricht in Ihrem Lieblingseditor, bevor
ein Commit davon durchgeführt wird.
- -a, --all
- führt ein Commit aller Dateien durch. Dies ist die
Standardtransaktion, wenn ein anderes Versionskontrollsystem als Git
verwendet wird.
- -s, --strip-message,
--no-strip-message
- Falls diese Option gesetzt ist und die Commit-Nachricht aus dem Changelog
abgeleitet wurde, werden die »*«-Zeichen vom Anfang der
Nachricht entfernt.
Diese Option ist standardmäßig gesetzt und wird
ignoriert, falls mehr als eine Zeile der Nachricht mit »[*+-]
« beginnt.
- --sign-commit,
--no-sign-commit
- Falls diese Option gesetzt ist, dann werden Commits, die Debcommit
erstellt, mittels GnuPG signiert. Derzeit wird dies nur von Git, Hg und
Bzr unterstützt.
- --sign-tags,
--no-sign-tags
- Falls diese Option gesetzt ist, dann werden Markierungen, die Debcommit
erstellt, mittels GnuPG signiert. Derzeit wird dies nur von Git
unterstützt.
- --changelog-info
- Falls diese Option gesetzt ist, werden der Autor und das Datum, die
übertragen werden, anhand der Felder »Maintainer« und
»Date« des ersten Absatzes in debian/changelog
bestimmt. Dies ist hauptsächlich dann nützlich, wenn
debchange(1) mit der Option --no-mainttrailer verwendet
wird.
Die beiden Konfigurationsdateien /etc/devscripts.conf und
~/.devscripts werden in dieser Reihenfolge durch eine Shell
eingelesen, um Konfigurationsvariablen zu setzen. Befehlszeilenoptionen
können benutzt werden, um Einstellungen aus Konfigurationsdateien
außer Kraft zu setzen. Einstellungen aus Umgebungsvariablen werden zu
diesem Zweck ignoriert. Die derzeit bekannten Variablen sind:
- DEBCOMMIT_STRIP_MESSAGE
- Falls dies auf no gesetzt ist, dann entspricht das der Verwendung
des Befehlszeilenparameters --no-strip-message. Die Vorgabe ist
yes.
- DEBCOMMIT_SIGN_TAGS
- Falls dies auf yes gesetzt ist, ist es so, als ob der
Befehlszeilenparameter --sign-tags benutzt würde. Die
Vorgabe ist no.
- DEBCOMMIT_SIGN_COMMITS
- Falls dies auf yes gesetzt ist, ist es so, als ob der
Befehlszeilenparameter --sign-commit benutzt würde. Die
Vorgabe ist no.
- DEBCOMMIT_RELEASE_USE_CHANGELOG
- Falls dies auf yes gesetzt ist, ist es so, als ob der
Befehlszeilenparameter --release-use-changelog benutzt
würde. Die Vorgabe ist no.
- DEBSIGN_KEYID
- Dies ist die Schlüsselkennung, die zum Signieren von Markierungen
benutzt wird. Falls nicht gesetzt, wird eine Vorgabe durch das
Versionskontrollsystem ausgewählt.
- tla / baz
- Falls die Commit-Nachricht mehr als 72 Zeichen enthält, wird eine
Zusammenfassung erstellt, die so viele vollständige Worte aus der
Nachricht enthält, wie in 72 Zeichen hineinpassen, gefolgt von
Auslassungspunkten.
Jede der unten beschriebenen Funktionalitäten ist nur
anwendbar, falls die Commit-Nachricht automatisch aus dem Changelog bestimmt
wurde.
- git
- Falls nur eine einzelne Änderung im Changelog entdeckt wird, wird
debcommit sie in eine einzelne Zeile entfalten und sich so
verhalten, als ob --strip-message benutzt worden wäre.
Andernfalls wird die erste Änderung entfaltet und
bereinigt, um eine Zusammenfassungszeile und damit eine
Commit-Nachricht, gefolgt von einer leeren Zeile und den
Änderungen, wie sie aus dem Changelog extrahiert wurden, zu
bilden. debcommit wird dann einen Editor öffnen, so dass
die Nachricht vor dem Commit abgestimmt werden kann.
- hg / darcs
- Die erste im Changelog entdeckte Änderung wird entfaltet, um eine
einzelne Zusammenfassungszeile zu bilden, Falls mehrere Änderungen
entdeckt wurden, wird ein Editor geöffnet, der eine Feinabstimmung
der Nachricht ermöglicht.
- bzr
- Falls der für die Commit-Nachricht benutzte Changelog-Eintrag
irgendwelche Fehler schließt, werden --fixes-Optionen
für »bzr commit« generiert, um die Revision und die
Fehler zu verknüpfen.
Dieser Code unterliegt dem Copyright von Joey Hess
<joeyh@debian.org>, alle Rechte vorbehalten. Für dieses
Programm besteht KEINERLEI GARANTIE. Es ist Ihnen erlaubt, diesen Code unter
den Bedingungen der GNU General Public License, Version 2 oder
später, weiterzugeben.
Joey Hess <joeyh@debian.org>