Config-spec in ClearCase
Ich habe kleine Frage zu ClearCase. Helfen Sie mir bitte! Wann wird die config-spec anfangen zu arbeiten? Wenn ich auf CHECK OUT oder CHECK-IN ? Ich habe test.c
und ich habe die config-spec
element * CHECKEDOUT
element * .../branch_1/LATEST
element * /main/LATEST -mkbranch branch_1
dann ich ändern test.c
, dann ändere ich die config-spec:
element * CHECKEDOUT
element * .../branch_2/LATEST
element * /main/LATEST -mkbranch branch_2
Dann überprüfe ich in test.c
und ich haben: erstellt /main/branch_1/1
. ABER WARUM???
InformationsquelleAutor all | 2013-04-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die config-spec wird die Anwendung der Vorschriften über jedes update und auf der Kasse, und beim Einchecken (aber nicht wie Sie denken, es würde).
Beim Einchecken, die neue version wird erstellt, in der Branche hat es ausgecheckt wurde (hier
branch_1
).Dass die neue version möglicherweise nicht ausgewählt durch die neue config-spec, ABER der Zweig, in dem es ausgecheckt wurde dadurch NICHT geändert, sagte, dass die neue config-spec.
Ändern
branch1
imbranch2
währendtest.c
ist bereits ausgecheckt (inbranch1
) ändert sich nichts. Es wird geprüft werden, inbranch_1
.Nun, dass Sie eine version erstellt, die auf
branch1
auf checkin fürtest.c
(auch mit Ihrem zweiten config-spec), die Sie brauchen, um zu realisieren, dass alle künftigen Auschecken/Einchecken findet am selben Zweig fürtest.c
, weil:element * branch_1/LATEST
halten die neuen Versionen auf diesen Zweigelement * /main/LATEST -mkbranch branch_2
ist nur gültig für version ausgecheckt von Haupt - (und test.c ist nicht mehr auf/main
ist es aufbranch1
:/main/branch1
)Diese config-spec würde sicherstellen, dass alle neuen Versionen (nach dem ersten checkin der
test.c
aufbranch1
) aufbranch2
:Den um der Regeln ist wichtig, weil die erste, die angewendet werden kann, "gewinnt" (d.h. die pothers werden ignoriert).
Siehe das konkrete Beispiel der config-spec im "Config-Spec zum display beschriftet Dateien aus 2 Filialen".
Beachten Sie, dass nach dem ersten checkin der
test.c
erhalten Sie eine neue version erstellt ambranch1
wie vorher erklärt.Doch deine zweite config-spec wird wählen Sie
/main/1
, nicht/main/branch1/1
.Ist, dass wegen einer falschen Regel in Ihrer zweiten config-spec:
Dies würde man wählen Sie die richtige version:
Aber wenn deine zweite config-spec hat keine Regel bezüglich
branch1
,test.c
noch ausgewählt werden, wie/main/1
: es wird keine version erstellt ambranch2
, soelement * /main/LATEST
ist die nur Regel, die angewendet werden können.die zweite checkout erfolgt nach der aktuellen config spec (, die Sie geändert haben), so wird es noch
branch1
(da nur die LETZTE der main sind ausgecheckt werden inbranch2
). Wenn Sie wollen top-siehe branch2 auf die zweite Kasse, benötigen Sie eine zusätzliche Auswahlregel:element * .../branch1/LATEST -mkbranch branch2
, legte in der zweiten position.es ist sehr schwer für mich 🙂 Danke, ich möchte verstehen, aber ...
kein problem, ich habe Sie bearbeitet meine Antwort hinzufügen, dass einige andere Elemente für die Erklärung.
du meinst, während der zweite Kasse? Beachten Sie, dass reserviert ist gesetzt auf eine version, die hat keine Nummer. Also in deinem Fall eine version erstellt von
/main/1
, aber nicht/main/1
selbst.InformationsquelleAutor VonC