English ▾ Themen ▾ Neueste Version ▾ git-archimport zuletzt aktualisiert in 2.35.0

NAME

git-archimport - GNU Arch Repository in Git importieren

SYNOPSIS

git archimport [-h] [-v] [-o] [-a] [-f] [-T] [-D <depth>] [-t <tempdir>]
	       <archive>/<branch>[:<git-branch>]…​

BESCHREIBUNG

Importiert ein Projekt aus einem oder mehreren GNU Arch Repositories. Es folgt Branches und Repositories innerhalb der durch die angegebenen <archive>/<branch> Parameter definierten Namensräume. Wenn es den entfernten Branch, von dem ein Merge stammt, nicht finden kann, wird es ihn einfach als normalen Commit importieren. Wenn es ihn finden kann, wird es ihn, wenn möglich, als Merge markieren (siehe Diskussion unten).

Das Skript erwartet, dass Sie die Schlüssel-Roots angeben, von denen aus es einen *initialen Import* oder einen Commit vom Typ *Tag* aus dem Arch Repository starten kann. Es wird neue Branches innerhalb der angegebenen Roots verfolgen und importieren.

Es wird erwartet, dass nur ein Projekt bearbeitet wird. Wenn es Branches mit unterschiedlichen Roots sieht, wird es die Ausführung verweigern. Bearbeiten Sie in diesem Fall Ihre <archive>/<branch> Parameter, um den Umfang des Imports klar zu definieren.

git archimport verwendet intensiv tla im Hintergrund, um auf das Arch Repository zuzugreifen. Stellen Sie sicher, dass eine aktuelle Version von tla im Pfad verfügbar ist. tla muss die Repositories kennen, die Sie an git archimport übergeben.

Für den initialen Import erwartet git archimport, sich in einem leeren Verzeichnis zu befinden. Um die Entwicklung eines Projekts, das Arch verwendet, fortzusetzen, führen Sie git archimport mit denselben Parametern wie beim initialen Import erneut aus, um inkrementelle Importe durchzuführen.

Während git archimport versucht, sinnvolle Branch-Namen für die importierten Archive zu erstellen, ist es auch möglich, Git-Branch-Namen manuell anzugeben. Tun Sie dies, indem Sie einen Git-Branch-Namen nach jedem <archive>/<branch> Parameter schreiben, getrennt durch einen Doppelpunkt. Auf diese Weise können Sie die Arch-Branch-Namen kürzen und Arch-Jargon in Git-Jargon umwandeln, z. B. einen "PROJECT--devo--VERSION"-Branch in "master" umbenennen.

Es ist möglich, mehrere Arch-Branches einem einzigen Git-Branch zuzuordnen; das Ergebnis ist am sinnvollsten nur dann, wenn nach der Erstellung des zweiten Branches keine Commits mehr am ersten Branch vorgenommen werden. Dennoch ist dies nützlich, um Arch-Repositories zu konvertieren, die periodisch rotiert wurden.

MERGES

Patch-Merge-Daten aus Arch werden verwendet, um auch Merges in Git zu markieren. Git kümmert sich nicht besonders um das Nachverfolgen von Patches und betrachtet einen Merge nur dann, wenn ein Branch alle Commits seit dem Zeitpunkt seiner Abzweigung integriert hat. Das Endergebnis ist, dass Git eine gute Vorstellung davon hat, wie weit die Branches auseinander gedriftet sind. Der Importprozess verliert also einige Metadaten des Patch-Handels.

Glücklicherweise wird Git, wenn Sie versuchen, aus Arch importierte Branches zu mergen, eine gute Merge-Basis finden und hat eine gute Chance, Patches zu identifizieren, die außer der Reihe zwischen den Branches gehandelt wurden.

OPTIONEN

-h

Zeigt die Nutzung an.

-v

Ausführliche Ausgabe.

-T

Viele Tags. Erstellt für jeden Commit einen Tag, der den Commit-Namen im Arch-Repository widerspiegelt.

-f

Verwendet die schnelle Patchset-Importstrategie. Dies kann bei großen Bäumen erheblich schneller sein, kann aber keine Verzeichnisumbenennungen oder Berechtigungsänderungen handhaben. Die Standardstrategie ist langsam und sicher.

-o

Verwenden Sie dies für die Kompatibilität mit Branch-Namen im alten Stil, die von früheren Versionen von git archimport verwendet wurden. Alte Branch-Namen waren Kategorie--Branch, während neue Branch-Namen Archive,Kategorie--Branch--Version sind. In beiden Fällen überschreiben auf der Kommandozeile angegebene Namen die automatisch generierten.

-D <Tiefe>

Verfolgt die Merge-Abstammung und versucht, Trees zu importieren, aus denen gemergt wurde. Geben Sie eine Tiefe größer als 1 an, wenn Patch-Protokolle beschnitten wurden.

-a

Versucht, Archive unter http://mirrors.sourcecontrol.net automatisch zu registrieren. Dies ist besonders nützlich mit der Option -D.

-t <tmpdir>

Überschreibt das Standard-Tempverzeichnis.

<archiv>/<branch>

<archiv>/<branch> Identifikator in einem Format, das tla log versteht.

GIT

Teil der git[1] Suite