Da die Atomizität der Operation in ClearCase auf der Dateiebene liegt, gibt es keine strenge Entsprechung von svn changeset (d. H. Eine "Revision").
Am nächsten an einer Änderung in ClearCase ist der Begriff der Aktivität (in UCM) oder ein Labelsatz für eine Sammlung von Dateien (eine UCM-Baseline ist tatsächlich näher, da sie auf einem Labels darstellt, die Sie nicht verschieben können) vordefinierte Satz von Dateien - UCM Komponente -)
Nun UCM oder nicht, würde ich empfehlen:
- den Zweig Verriegelungs, auf das Sie checkins (auf diese Weise machen, Der VOB ist immer noch zugänglich, und niemand versucht, andere Versi hinzuzufügen ons an diesem Zweig während des „atomaren“ Operation)
- tun, um Ihre checkins
- den Zweig entsperren
Bei Problemen, während der Zweig aufhängt, können Sie ‚ct rmver
‘ Versionen hinzugefügt . (Anmerkung: mit Sorgfalt zu verwenden: a rmver
kann nicht rückgängig gemacht werden)
Hinweis 1: wenn Sie nicht in UCM arbeiten, müssen Sie notieren alle eingecheckten Versionen um in der Lage zu sein, sie rmver
Anmerkung2: Als ich sagte "den Zweig sperren", meinte ich natürlich: "Schloss für alle außer dir" (-nusers yourLogin
). Auf diese Weise können nur Sie checkins machen (das auf dem Zweig im AKTUELLEN auf alle Dateien gilt, auf das Sie arbeiten (Haupt- oder eine andere).
Das Problem mit diesem Ansatz ist es, was die Kunden (die anderen Benutzer mit ihrem dynamischen Blick auf dem Zweig in AKTUELLEN) werden während Ihrer atomare Transaktion sehen.
Da diese dynamische Ansichten sind, werden sie die eingecheckten Dateien sehen, während diese Dateien checken Eins nach dem anderen, das ist vielleicht nicht gut, besonders wenn es 200 Dateien gibt d wenn der gesamte Prozess mehr als eine Minute dauert.
Eine Lösung wäre, diese Client-Ansichten gesetzt spec ihre Config auf folgendes haben:
element * .../myBranch/FREEZED_LATEST
element * .../myBranch/LATEST
Wenn Sie nicht atomar changeset tun begehen, das Etikett FREEZED_LATEST
nicht vorhanden ist, und alle Client-Ansichten sind LATEST, wie sie sollten. Jeder Check-in wird sofort von allen gesehen.
Aber während des Atom begehen, könnten Sie:
- zunächst einen Label FREEZED_LATEST auf allen aktuellen Dateien (derzeit in NEUESTE, das ist)
Das heißt, alle Clients nur die spezifischen Versionen sehen während das Atom begehen
- tun, um Ihren Prozess (den ganzen Weg oder beim Rollback: In beiden Fällen ist der Zweig gesperrt, und die Config-Spezifikation der Kunden zeigt immer noch die gleiche „eingefroren“ content)
- das Label löschen
FREEZED_LATEST
(Alle Clients sehen das neue LATEST, das sich aus Ihrer atomaren Operation ergibt, und können neue v ersionen mit einigen Kassen ihres eigenen)
Antwort aktualisiert, um auf Ihren UCM-Kontext zu reagieren. Locking Branch ist immer noch der Weg zu gehen (obwohl in UCM können Sie den Stream sperren: das würde das gleiche Ergebnis erzielen) – VonC
Antwort aktualisiert für Ihre Nicht-UCM-Kontext (Entschuldigung, ich habe Ihren letzten Kommentar ein bisschen zu schnell gelesen). Kurz gesagt, das Sperren des Zweiges funktioniert. – VonC
Es wurde ein Vorschlag hinzugefügt, um den Benutzer mit dynamischen Ansichten davon abzuhalten, einen Teil der Dateien zu haben, die Sie einchecken. – VonC