2016-07-01 4 views
1

Ein Benutzer hat neue Dateien in der falschen Verzweigung überprüft. Ich möchte sie auf die effizienteste Art und Weise bewegen, von denen es viele gibt. Mein erster Gedanke ist, das Element aus dem Zweig zu entfernen und den Benutzer in den Dateien auf dem richtigen Zweig erneut überprüfen zu lassen. Aber ich hatte gehofft, dass ich die Hinweise ändern könnte?Gibt es eine Möglichkeit, eine Datei in ClearCase von einem Zweig zum anderen zu verschieben?

/VOB/DIRECTORY/[email protected]@/main/1.00/1 to /VOB/DIRECTORY/[email protected]@/main/2.00/1 

Antwort

0

Immer, wenn viele Dateien gibt es zur Kasse und zu bewegen, ist clearfsimport ein gangbarer Weg.

Legen Sie einfach eine Sicht auf den Zielzweig fest und importieren Sie die Dateien, die in der Quellansicht (und der falschen Ansicht) gefunden wurden.
Siehe „How can I use ClearCase to “add to source control …” recursively?

Das, fügen wird Kasse, zu ändern oder Dateien in der Zielansicht entfernen, um die, die von der Quelle zu spiegeln (hier die Quelle eine Clearcase Ansicht, aber es könnte einen beliebigen Ordner, eigentlich sein ClearCase anzeigen oder nicht, wo die Dateien sind).

das genug sein wird, um „in den Dateien auf dem richtigen Zweig erneut prüfen“, aber das wird die Versionen aus dem falschen Zweig aber nicht entfernen, und ich würde gegen beraten cleartool rmver mit (auch wenn I used that here).
Vielleicht eine subtractive merge is better.

0

Wenn Sie wissen, wo sie sind und wo Sie sie haben möchten, könnten Sie: 1) Verbinden Sie das Verzeichnis und die Dateien über. 2) Verwenden Sie Cleartool ln in einer Ansicht im Zielzweig, um die Dateien zu verknüpfen, und führen Sie dann die einzelnen Dateien zusammen.

Wenn Sie clearfsimport verwenden und die hinzugefügten falschen Dateien nicht löschen, können Sie sich für "Spaß", der durch "böse Zwillinge" verursacht wird, entscheiden.

persönlich, da kennen Sie die Dateien und Verzeichnisse, die wurden hinzugefügt, wo, wann und von wem könnten Sie so etwas wie diese (Befehlszeilen sind off-the-top-of-my-Kopf tun:

  1. die Liste der Dateien erhalten durch die Zusammenlegung der übergeordneten Verzeichnisse

    cleartool find -type d -element "created_by(baduser) && created_since(25-Jul-2016) && !created_since(26-Jul-2016)" -print > dirlist.txt cleartool find -type fl -element "created_by(baduser) && created_since(25-Jul-2016) && !created_since(26-Jul-2016)" -print > filelist.txt

  2. Ziehen Sie die Verzeichnisse über kopieren/fusionieren, während CD'd in einer Ansicht verwenden/den Zielpfad verwenden. Nicht das OS zu wissen, beteiligt Ich kann nicht sagen, wie es dir geht Ich muss das analysieren. Wenn Sie perl verwenden, können Sie den Offset der letzten Instanz des Verzeichnistrennzeichens abrufen und diesen in substr verwenden, um den übergeordneten Verzeichnispfad abzurufen. In der Windows-Eingabeaufforderung Befehl, können Sie etwas tun:

    SET SRCDRIVE=D: for /f "delims==" %x in (dirlist.txt) do cleartool co -nc %~px & cleartool merge -to %~px %SRCDRIVE%~px for /f "delims==" %x in (dirlist.txt) do cleartool co -nc %~px & cleartool merge -to %~px\%~nx %SRCDRIVE%~px\%~nx

Ja, Sie alles, was in einem einzigen Skript tun können, und ein besseren Fehler tun Überprüfung und nicht 40x versucht, das zu überprüfen, dasselbe Verzeichnis.

0

Sie können sie möglicherweise auch mit dem Zweig 2.0 zusammenführen (mithilfe einer Ansicht, die den Zweig 2.0 auswählt).Um die Elemente zu identifizieren beteiligt sind, können Sie führen ein ‚Cleartool finden‘ Befehl etwas wie folgt aus:

% cd /vobs/myvob
% cleartool find -all -version 'brtype(1.0) && created_by(user_x)' -print

Die ‚created_since (Datum-Zeit)‘ Abfrage kann auch nützlich sein in der Verbindung Abfrage.

Sobald Sie überzeugt sind, dass Sie die richtigen Versionen haben, können Sie '-exec' anstelle von '-print' verwenden, um die Zusammenführung durchzuführen. Es könnte wie folgt aussehen:

% cleartool find -all -version 'brtype(1.0) && created_by(user_x) && created_since(29-Jun)' -exec 'cleartool merge -to $CLEARCASE_PN -version $CLEARCASE_ID_STR'

Wenn Sie mit den Ergebnissen zufrieden sind, überprüfen alles in Dann müssen Sie nur noch entscheiden, ob Sie die Versionen auf dem 1,0 Zweig entfernen müssen (was Sie können. mit einem anderen Befehl 'cleartool find ... -exec ...' machen.

Verwandte Themen