debcommit(1) übergibt Änderungen an einem Paket

ÜBERSICHT

debcommit [Optionen] [--all | zu übergebende Dateien]

BESCHREIBUNG

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.

OPTIONEN

-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 kennzeichnen.

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
When used in conjunction with --release, if there are uncommitted changes to the changelog then derive the commit message from those changes rather than using the default message.
-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.

KONFIGURATIONSVARIABLEN

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.

VERSIONSKONTROLLSYSTEMSPEZIFISCHE FUNKTIONALITÄTEN

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.

LIZENZ

Dieser Code unterliegt dem Copyright von Joey Hess <[email protected]>, 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.

AUTOR

Joey Hess <[email protected]>