debcommit - übergibt Änderungen an einem Paket
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 <
[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.
Joey Hess <
[email protected]>
debchange(1),
svnpath(1)