2008-09-26 14 views

Antwort

60

Ich würde lieber mit dem clearfsimport Skript gehen zu integrieren, besser mehrmals den gleichen Satz importieren ausgestattet von Dateien und automatisch:

  • neue Dateien hinzufügen,
  • Neue Version der vorhandenen Dateien erstellen, die zuvor importiert wurden (aber in der Quellgruppe der erneut importierten Dateien geändert wurden)
  • Dateien entfernen, die bereits importiert wurden, aber nicht mehr im Quelldateisatz vorhanden sind.
  • machen Sie ein klares Protokoll aller Vorgänge, die während des Importvorgangs vorgenommen wurden.

Also, wenn Ihr ‚Zip-Datei Lieferung in regelmäßigen Abständen aktualisiert werden muss, ist clearfsimport der Weg zu gehen, aber mit den folgenden Optionen:

clearfsimport -preview -rec -nset c:\sourceDir\* m:\MyView\MyVob\MyDestinationDirectory 

Notiere die:

  • -Vorschau-Option: es ermöglicht zu überprüfen, was passieren würde ohne tatsächlich etwas zu tun.
  • '*' nur in Windows-Umgebung verwendet, um den Inhalt eines Verzeichnisses zu importieren
  • -nset Option.

Von CMWiki, um diese ‚nsoll‘ Option:

standardmäßig clearfsimport soll durch die vob Eigentümer oder privilegierter Benutzer verwendet werden, aber die Benutzer übersehen oft die -nsetevent Option, mit welches es von jedem Benutzer benutzt werden kann.
Diese Option veranlasst clearfsimport, die Zeitstempel der Elemente nicht auf das Quelldateiobjekt außerhalb der VOB zu setzen (was privilegierten Zugriff erfordert).
Es gibt einen kleinen, nicht offensichtlichen Nebeneffekt: Wenn eine Version mit einem aktuellen Zeitstempel erstellt wurde, kann selbst der VOB-Besitzer keine Version mit einem älteren (darüber) Version importieren wäre) Zeitstempel, ohne diese Option - nsetevent. I.e. Sobald Sie diese Option als normalen oder privilegierten Benutzer verwenden, sind Sie mehr oder weniger verpflichtet, sie in der Fortsetzung zu verwenden.

+1

Tatsächlich wäre das der normale Anwendungsfall. Ein Nachteil dieses Ansatzes besteht darin, dass Sie nicht in das Zielverzeichnis extrahieren können. Aber ich denke, ich könnte mit einem festen "Import" -Verzeichnis arbeiten. –

+1

Dies wäre der Weg, um einen solchen Import durchzuführen, (dh von einem separaten Verzeichnis "Quelle"), wegen der Vorschau-Fähigkeit (mit der Sie einige Dateien aus Ihrer Zip erkennen können, die Sie eigentlich nicht importieren möchten!) – VonC

+0

+1 - das hat mir geholfen, das gleiche Problem heute Morgen zu lösen. –

4

Sie haben die Kommandozeile verwenden. Das Kontextmenü im Explorer tut dies nicht rekursiv!

clearfsimport –recurse /usr/src/projectx /vobs/projectx/src 
24

Hier ist eine andere Art, wie ich mithilfe des Windows Explorer gefunden:

  1. Wählen Search... aus dem Kontextmenü auf dem Zielverzeichnis.
  2. Suchen Sie nach *.
  3. Wählen Sie alle Dateien (Ctrl-A) in der Ergebnisliste aus.
  4. Wählen Sie ClearCase>Add to source control... aus dem Kontextmenü eines Elements in der Ergebnisliste.

Dort gehen Sie ...

+0

Dies funktionierte für mich, aber ich habe einige Popup-Fehler sagen, dass der Gegenstand bereits in der Quellcodeverwaltung war, vermutlich aufgrund der Reihenfolge, in der er die Dinge macht? Ich hatte die Kasse nach dem Hinzufügen der Option ausgewählt. Scheint alles in Ordnung zu sein, klickt einfach ok auf die Fehler Popups – FrinkTheBrave

+0

Ich glaube nicht, dass dies rekursiv funktioniert – hawkeye

+3

als eine Notiz dies funktioniert nicht auf x64: http://www-01.ibm.com/support/docview .wss? uid = swg21251833 – JasonHorner

0

Sie auch diesen Befehl, um das Kontextmenü mit einem kleinen Skript ...

Ten best Triggers

bearbeiten hinzufügen: oh, sorry. habe nicht gesehen, dass dies bereits vorgeschlagen wurde ...

0

Ich stimme zu, find + select + add-to-source-control aus Windows Explorer ist keine gute Option, wenn die Anzahl der Dateien zur Versionskontrolle ist riesig . Wie oben bereits erwähnt, stürzt explorer.exe ab, wenn wir versuchen, eine große Anzahl von Dateien hinzuzufügen.

clearfsimport ist das beste und einfachste Hilfsprogramm für diese Aufgabe.

-GP

3

hatte eine ähnliche Anforderung ein Verzeichnis rekursiv zu Clearcase hinzuzufügen. Da ich keinen Zugriff auf das clearfsimport-Tool hatte und ClearCase nicht in Windows Explorer integriert war, habe ich eine einfache Lösung in der ClearCase-GUI gefunden.

1) Fügen Sie das Stammverzeichnis über die Menüoption "Zum Quellcode hinzufügen" hinzu. 2) Klicken Sie auf dieses Verzeichnis und verwenden Sie dann "ClearCase Search", um nach allen privaten Dateien in diesem Verzeichnis zu suchen. 3) Wählen Sie alle aus den Suchergebnissen und "Add to Source Control"

Los geht's! Das gesamte Verzeichnis wird rekursiv innerhalb der ClearCase-GUI hinzugefügt

6

ClearTeam Explorer, Version 8 (möglicherweise auch früher), hat rekursives Hinzufügen von Unterverzeichnissen/Dateien, wenn Sie "Add to Source Control" auswählen. Wenn das Dialogfeld "Zum Quellcode hinzufügen" angezeigt wird, aktivieren Sie das Kontrollkästchen "Untergeordnete Artefakte der ausgewählten Verzeichnisse einschließen" und deaktivieren Sie das Kontrollkästchen "Nur Nachkommen-Dateien prüfen, Nachkommen-Verzeichnisse nicht überprüfen".

+0

Die Antwort, die für diese Frage vor vier Jahren angenommen wurde, war ziemlich gründlich. Wenn Sie nach unbeantworteten Fragen suchen, können Sie dies hier tun: http://stackoverflow.com/unanswered – valverij

+3

@valverij außer er lieferte neue Informationen, so war es wertvoll, seine Antwort hier hinzuzufügen – dss539

4

Da ich keinen Zugang zu clearfsimport hatte, habe ich die Dateien/Verzeichnisse in einem zweistufigen Verfahren:

1.) find . ! -path . -type d | xargs cleartool mkelem -mkpath -nc

Dieser Knoten für alle neuen Verzeichnisse rekursiv

2.) find ./ -type f | xargs cleartool mkelem -nc

Dieser Knoten für alle neuen Dateien rekursiv

+0

Dies funktioniert für mich. Um 1944 Dateien zur Quellcodeverwaltung hinzugefügt – Phiber

+0

Arbeitete auch gut für mich (auf Cygwin). Es reicht eigentlich aus, nur 2) mit '-mkpath' zu verwenden - die Verzeichnisse werden im laufenden Betrieb hinzugefügt. (Vielleicht ist es weniger effizient - ich fürchte, Verzeichnisse werden für jede einzelne Datei ausgecheckt). –