Manpages

BEZEICHNUNG

debcommit - ü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 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.

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 <joeyh [AT] 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.

AUTOR

Joey Hess <joeyh [AT] debian.org>

SIEHE AUCH

debchange(1), svnpath(1)