Dies ist über die Befehlszeile mit dem Spezifizierer #have
möglich.
p4 fstat -T depotFile //...#have | p4 -x – sync
p4 fstat -T depotFile //...#have
gibt das Depot Filespec für die Dateien, die derzeit in Ihrem Arbeitsbereich haben.
p4 -x – sync
übernimmt die Ausgabe des vorherigen Befehls (unter Verwendung der Pipe |
) und führt eine Synchronisierung durch.
...
Wenn Sie diese Sie in P4V möchten, können einen custom tool schreiben, das WSH-Skript aufruft.
var WshShell = new ActiveXObject("WScript.Shell");
var oExec = WshShell.Exec("p4 fstat -T depotFile //...#have | p4 -x – sync");
while (oExec.Status == 0)
WScript.Sleep(100);
WScript.Echo(oExec.Status);
Hinweis: der obigen Ansatz mit #have
werden keine neu hinzugefügte Dateien synchronisieren. Nicht sicher, ob dies das ist, was Sie wollen.
Ein anderer Ansatz besteht vollständig darin, eine Stapeldatei zu erstellen, die die gewünschten Dateispezifikationen synchronisiert. Ich habe einen, den ich jeden Morgen führe, der mehrere Zweige und Projekte synchronisiert.
Um Ihren eigenen zu erstellen, öffnen Sie den Editor und fügen Sie die erforderlichen p4 sync
Befehle nacheinander hinzu.
p4 sync //projectA/...
p4 sync //projectB/folder1
p4 sync //projectB/folder2
...
p4 sync //projectB/folder5
Ein bisschen Arbeit, um zunächst einzurichten.
oder
Vielleicht besser als eine Batch-Datei oder ein Skript verwenden zwei Arbeitsplätze mit dem ersten mit dem vollen Depot abgebildet und die zweiten die begrenzte Zuordnung, die Sie 90% der Zeit mögen.