Einrichtung und Konfiguration
Projekte holen und erstellen
Grundlegende Snapshots
Branching und Merging
Projekte teilen und aktualisieren
Inspektion und Vergleich
Patching
Debugging
Externe Systeme
Server-Administration
Anleitungen
- gitattributes
- Konventionen der Kommandozeile
- Tägliches Git
- Häufig gestellte Fragen (FAQ)
- Glossar
- Hooks
- gitignore
- gitmodules
- Revisionen
- Submodule
- Tutorial
- Workflows
- Alle Anleitungen...
Administration
Plumbing-Befehle
- 2.35.1 → 2.52.0 keine Änderungen
-
2.35.0
2022-01-24
- 2.1.4 → 2.34.8 keine Änderungen
-
2.0.5
2014-12-17
SYNOPSIS
git cvsexportcommit [-h] [-u] [-v] [-c] [-P] [-p] [-a] [-d <cvsroot>] [-w <cvs-workdir>] [-W] [-f] [-m <msgprefix>] [<parent-commit>] <commit-id>
BESCHREIBUNG
Exportiert einen Commit aus Git in ein CVS-Checkout, was das Zusammenführen von Patches aus einem Git-Repository in ein CVS-Repository erleichtert.
Geben Sie den Namen eines CVS-Checkouts mit der Option -w an oder führen Sie es vom Stammverzeichnis der CVS-Arbeitskopie aus. Im letzteren Fall muss GIT_DIR definiert sein. Siehe Beispiele unten.
Es wird sein Bestes getan, um die sichere Methode zu wählen. Es wird überprüft, ob die Dateien im CVS-Checkout unverändert und aktuell sind. Standardmäßig wird kein automatisches Commit durchgeführt.
Unterstützt das Hinzufügen, Entfernen und Committen von Dateien, die Binärdateien betreffen.
Wenn der Commit ein Merge-Commit ist, müssen Sie git cvsexportcommit mitteilen, gegen welchen Elternteil der Änderungssatz erfolgen soll.
OPTIONEN
- -c
-
Commit automatisch, wenn der Patch sauber angewendet wurde. Es wird nicht committet, wenn Hunks fehlschlagen oder andere Probleme auftreten.
- -p
-
Seien Sie pedantisch (paranoid) beim Anwenden von Patches. Ruft patch mit --fuzz=0 auf.
- -a
-
Fügt Autorenschaftsinformationen hinzu. Fügt die Zeile "Author" und "Committer" (falls abweichend von Author) zur Nachricht hinzu.
- -d
-
Setzt eine alternative CVSROOT, die verwendet werden soll. Dies entspricht dem CVS -d Parameter. Normalerweise möchten Benutzer dies nicht setzen, es sei denn, sie verwenden CVS auf asymmetrische Weise.
- -f
-
Erzwingt den Merge, auch wenn die Dateien nicht auf dem neuesten Stand sind.
- -P
-
Erzwingt den Eltern-Commit, auch wenn es kein direkter Elternteil ist.
- -m
-
Stellt der Commit-Nachricht das bereitgestellte Präfix voran. Nützlich für Patch-Serien und ähnliches.
- -u
-
Aktualisiert betroffene Dateien aus dem CVS-Repository, bevor der Export versucht wird.
- -k
-
Kehrt die CVS-Schlüsselwortexpansion um (z.B. $Revision: 1.2.3.4$ wird zu $Revision$) im Arbeits-CVS-Checkout, bevor der Patch angewendet wird.
- -w
-
Gibt den Speicherort des CVS-Checkouts an, das für den Export verwendet werden soll. Diese Option erfordert nicht, dass GIT_DIR vor der Ausführung gesetzt ist, wenn sich das aktuelle Verzeichnis innerhalb eines Git-Repositorys befindet. Der Standardwert ist der Wert von cvsexportcommit.cvsdir.
- -W
-
Teilt cvsexportcommit mit, dass das aktuelle Arbeitsverzeichnis nicht nur ein Git-Checkout, sondern auch das CVS-Checkout ist. Daher setzt Git das Arbeitsverzeichnis vor dem Fortfahren auf den Eltern-Commit zurück.
- -v
-
Ausführlich.
BEISPIELE
- Einen Patch in CVS mergen
-
$ export GIT_DIR=~/project/.git $ cd ~/project_cvs_checkout $ git cvsexportcommit -v <commit-sha1> $ cvs commit -F .msg <files>
- Einen Patch in CVS mergen (-c und -w Optionen). Das Arbeitsverzeichnis befindet sich innerhalb des Git-Repo.
-
$ git cvsexportcommit -v -c -w ~/project_cvs_checkout <commit-sha1>
- Ausstehende Patches automatisch in CVS mergen – nur wenn Sie wirklich wissen, was Sie tun.
-
$ export GIT_DIR=~/project/.git $ cd ~/project_cvs_checkout $ git cherry cvshead myhead | sed -n 's/^+ //p' | xargs -l1 git cvsexportcommit -c -p -v
GIT
Teil der git[1] Suite