2009-04-20 5 views
9

Es gibt einen Git-Befehl namens git-quiltimport. Seine man-Seiten sagen es "Wendet ein Quilt-Patchset auf den aktuellen Git-Zweig an, wobei die Patch-Grenzen, Patch-Reihenfolge und Patch-Beschreibungen im Quilt-Patchset erhalten bleiben."Was ist ein Patchset?

Es definiert jedoch nicht, was ein "Quilt Patchset" ist. Was ist ein "Patchset"?

+0

Hinweis: git 2.7 (Q4 2015) ermöglicht einen nicht standardmäßigen Dateinamen und Speicherort für die Serie. Siehe [meine Antwort unten] (http://stackoverflow.com/a/32989579/6309) – VonC

Antwort

14

Quilt ist ein patch managing tool. Die Idee ist, dass es Ihnen leichter fällt, mehrere einzelne Änderungssätze in einem einzigen Quellclient zu verwalten, selbst wenn sie die gleichen Dateien berühren.

Die official site ist spärlich auf Details, aber es lohnt sich, wenn Sie daran denken, es zu verwenden.

Wenn Sie keinen Quilt verwenden, müssen Sie wahrscheinlich nur einen anderen Client erstellen, um die separaten Änderungssätze zu verwalten. Sie müssen jedoch Änderungen hin- und herpflegen, die beiden Client-Quellbäumen zugute kommen.

10

Ein Quilt-Patchset ist eine spezielle Patch-Serie, die für die Verwendung mit dem Quilt-Toolkit entwickelt wurde.

Quilt

Quilt ist im Wesentlichen ein Patch-Management-Toolkit. Wo es sich von Git unterscheidet, ist, dass es keine permanente Geschichte hat: Die Patches selbst können ein Schreibfeld haben, das in der Regel den Commit-Metadaten in Git entspricht. Wo Quilt unterscheidet sich von Git ist in der Verankerung der Patch-Set (Quilt ist einfach eine Reihe von Patches über eine extrahierte Quellbasis, ohne irgendeine definitive Identifizierung der tatsächlichen Source-Basis gepatcht wird).

Git, Quilt and Other Kernel Maintenance Tools (PDF)

6

Ein Quilt Patchset ist eine Reihe von Patches, die verwaltet wurden und zusammengestellt von Quilt.

Ein Patchset ist eine Gruppe von Patches, die auf eine Reihe von Dateien angewendet werden können - diese Dateien können Code, Dokumentation, Daten oder was auch immer sein, normalerweise Text irgendeiner Art. Der eigentliche Patch ist eine Textdatei, die die Änderungen definiert, die vom Original vorgenommen werden müssen, um die neue Version zu erstellen, die normalerweise mit dem Programm 'diff' erzeugt wird. Das Patchset ist eine Sammlung dieser Diff-Ausgaben, jedes ist normalerweise ein logischer Schritt im Änderungsprozess.

Quilt ist ein Programm, das viele Patches über große Dateien verwalten kann. Es kann verwendet werden, um die Patch-Dateien zu erstellen, um auszuwählen, welche Patch-Dateien angewendet werden sollen, um diese Patches für andere zu exportieren und Patches von anderen Orten zu importieren.

Für weitere Informationen zur Verwendung von Patch und diff, hier überprüfen: The Ten Minute Guide to diff and patch

Für Quilt Informationen, zB diese: Quilt, a patch management system, quilt manpage und die Quilt project page

+0

Mit einer URL für den Querverweis erhalten Sie wahrscheinlich eine Verbesserung von mir. –

+0

Der Link "Quilt, ein Patch-Management-System" ist jetzt 404. – Guildenstern

1

Wenn Sie einen Patch betrachten gesetzt als Eine Reihe von zu verwendenden Patches, git 2.7 wird eine bessere Arbeit leisten, um den Patchsatz (einen Ordner mit Patches) von der Datei 'series' zu unterscheiden (eine Datei, die eine geordnete Liste von Patches zur Anwendung gibt).

Siehe commit ff60ffd (31. August 2015) von Juerg Haefliger.

(Verschmelzung von Junio C Hamano -- gitster -- in commit db9789a, 05. Okt 2015)

git-quiltimport: add Kommandozeilenoption --series <file>

Die Quilt-Serie-Datei nicht in demselben Verzeichnis befinden, um mit die Patches und können auch anders als 'series' benannt werden.
Dieser Patch fügt eine Befehlszeilenoption hinzu, um einen nicht standardmäßigen Dateinamen und Speicherort zu ermöglichen.

Die neue Option ist:

--series <file>: 

Der Quilt-Serie-Datei.

Der Standardwert für die Seriendatei ist <patches>/series oder der Wert der Umgebungsvariablen $ QUILT_SERIES.