umpf ist ein Tool, das Ihnen hilft, Git-Branches zu verwalten und sie in einer Softwareversion zu kombinieren. Es kann Tags erstellen und die Änderungen als Patch-Stack exportieren. umpf wurde ursprünglich für den Linux-Kernel entwickelt, kann aber auch für andere Projekte verwendet werden.
Es gibt mehrere Gründe, warum Commits in mehrere Zweige aufgeteilt werden:
Die Arbeit mit mehreren Zweigen erleichtert also die Patch-Verwaltung und Weiterentwicklung. Das Zusammenführen dieser Zweige zu einem Release kann jedoch mühsam und fehleranfällig sein.
Hier kommt umpf ins Spiel. Es automatisiert den Prozess der Release-Erstellung. Es erstellt Tags auf reproduzierbare Weise. Und es kann aus diesen Tags Patch-Serien erstellen.
umpf ist ein Bash-Skript, daher ist keine Installation erforderlich. Es sind lediglich ein paar Befehlszeilentools wie sed, grep und natürlich git erforderlich.
Um die Bash-Vervollständigung zu aktivieren, stellen Sie sicher, dass sich umpf in Ihrem $PATH
befindet, und gehen Sie dann wie folgt vor:
$ mkdir -p ~/.local/share/bash-completion/completions $ ln -s /path/to/umpf/bash_completion ~/.local/share/bash-completion/completions/umpf
umpf -h
gibt eine grundlegende Beschreibung der Befehlszeilenargumente. Weitere Details zu umpf finden Sie in der Dokumentation.
Um zu umpf beizutragen, bereiten Sie bitte eine Pull-Anfrage auf Github vor. Um die Einbindung Ihrer Änderungen zu ermöglichen, ist es erforderlich, dass Ihre Code-Ergänzungen unter den gleichen Bedingungen wie umpf selbst lizenziert sind. Daher müssen Sie dem folgenden Dokument zustimmen:
Ursprungszeugnis des Entwicklers 1.1
Indem ich einen Beitrag zu diesem Projekt leiste, bestätige ich Folgendes:
- Der Beitrag wurde ganz oder teilweise von mir erstellt und ich habe das Recht, ihn unter der in der Datei angegebenen Open-Source-Lizenz einzureichen; oder
- Der Beitrag basiert auf früheren Arbeiten, die nach meinem besten Wissen unter einer entsprechenden Open-Source-Lizenz fallen, und ich habe im Rahmen dieser Lizenz das Recht, diese Arbeit mit Änderungen, unabhängig davon, ob sie ganz oder teilweise von mir erstellt wurden, einzureichen die gleiche Open-Source-Lizenz (es sei denn, ich darf sie unter einer anderen Lizenz einreichen), wie in der Datei angegeben; oder
- Der Beitrag wurde mir direkt von einer anderen Person zur Verfügung gestellt, die (a), (b) oder (c) zertifiziert hat, und ich habe ihn nicht geändert.
- Ich verstehe und stimme zu, dass dieses Projekt und der Beitrag öffentlich sind und dass eine Aufzeichnung des Beitrags (einschließlich aller persönlichen Informationen, die ich damit übermittle, einschließlich meiner Freigabe) auf unbestimmte Zeit aufbewahrt wird und im Einklang mit diesem Projekt oder der Open Source weitergegeben werden kann Lizenz(en) beteiligt.
Ihre Zustimmung wird ausgedrückt, indem Sie jedem Ihrer Commits eine Abmeldezeile hinzufügen (z. B. mit git commit -s
), die wie folgt aussieht:
Abgezeichnet von: Random J Developer <[email protected]>
wobei Ihre Identität und E-Mail-Adresse mit den Commit-Metadaten übereinstimmen.