Wie bekomme ich --detect-branches zur Arbeit mit git-p4?

9

Mein p4-Repository hat eine ähnliche Struktur wie:

%Vor%

Wenn ich jedoch git-p4 verwende, um "Projekt" zu klonen, werden alle 3 Zweige nicht als Zweige betrachtet und alle werden in den einzelnen Hauptzweig geklont.

So rufe ich git-p4 auf:

%Vor%

Ich habe git-p4 erwartet, um eine Git-Datenbank für " project " mit drei Zweigen zu erstellen, und der Stamm des Projekts würde dem Teil des Pfads nach dem Zweignamen zugeordnet werden (zum Beispiel: wenn //depot/project/branch1 hat ein Unterverzeichnis namens " lib " ( //depot/project/branch1/lib ), dann sollte mein lokales Dateisystem etwas wie /git_project/lib mit 3 Git-Zweigen sein.

Was erwartet ich falsch? Lege ich git-p4 falsch an?

    
Michael Brennan 29.04.2010, 14:11
quelle

2 Antworten

1

Wenn Sie sich git-p4 code ansehen (auch ursprünglich hier ), sehen Sie:

%Vor%

mit splitFilesIntoBranches Erforschen des p4 Repos für Zweige.

Also vielleicht git-p4 clone //depot/[email protected] --detect-branches wäre in Ordnung (mit dem @all wie in diesem SO Antwort , und die Option --detect-branches nach dem Repo-Pfad)?

Wenn das Skript nicht schlau genug ist, das zu managen, ist es vielleicht eine einfachere Lösung, es drei Mal auszuführen, einen pro Zweig und das Ergebnis in ein Git Repo zu importieren.

    
VonC 29.04.2010 17:10
quelle
0

Ich habe gerade an einem verwandten Fehler mit --detect-branches gearbeitet. Das Skript macht ein paar Dinge:

  1. erkennt die Filialnamen mit p4-Daten
  2. Erstellen Sie eine Karte des übergeordneten Elements jeder Verzweigung
  3. Ordnen Sie die Dateien einer bestimmten Verzweigung zu
  4. Entferne das Zweigpräfix, bevor du es in git festlegst

Sie müssen dem Code folgen, um sicherzustellen, dass jeder Schritt korrekt ausgeführt wird. Die Verwendung von pdb reicht dafür aus.

Schritt 1 und 2 sind in P4Sync.getBranchMapping

erledigt

Schritt 3 ist in P4Sync.splitFilesIntoBranches

erledigt

Für Schritt 4. wird dies mit P4Sync.stripRepoPath gemacht. Legen Sie dort einen Haltepunkt fest, und Sie können sehen, ob die Zweige erkannt wurden und Dateien richtig umbenannt werden.

    
cmcginty 18.08.2012 04:43
quelle

Tags und Links