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@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@debian.org>
SIEHE AUCH¶
debchange(1),
svnpath(1)