Aliasnamen sind Kurznamen zur eindeutigen Identifizierung von Elementen in der Quellcodeverwaltung. Aliasnamen bestehen aus vierstelligen Langzahlen (in Klammern gesetzt), die links neben dem Element angezeigt werden, das sie bezeichnen. Beispiele:
$ scm status
Arbeitsbereich: (6377) "My Workspace" <-> (7487) "Stream"
Komponente: (6429) "Flux Capacitor"
Referenzkonfiguration: (8471) 6815 "v20091102"
Abgehend:
Änderungssets:
(8459) --@ 98314 "Degauss Flux Capacitor" - <No comment>
Im obigen Beispiel ist jede in Klammern angegeben Zahl (6377, 7487, 6429, 8471, 8459) ein Aliasname.
Jeder Unterbefehl verfügt über eine Gruppe von Rückkehrcodes. 0 wird zurückgegeben, wenn der Unterbefehl erfolgreich ausgeführt wurde. Ein Wert ungleich null wird zurückgegeben, wenn ein Fehler (z. B. ein Konflikt) aufgetreten ist oder die lokale Sandbox nicht mit dem fernen Arbeitsbereich synchron ist.
In den folgenden Beispielen wird vorausgesetzt, dass Sie sich mit lscm login bei einem Repository angemeldet haben. Sie müssen jeden Unterbefehl nur noch um die Angabe -r repositoryNickName ergänzen. Beispiele:
$ lscm login -r https://your.repository.com:9443/jazz -n nickname -u echughes -c Kennwort (echughes @ https://ihr.repository.com:9443/jazz): Angemeldet bei https://ihr.repository.com:9443/jazz
Sie können auch einen Kurznamen für das Repository https://ihr.repository.com:9443/jazz angeben. Beispielsweise können Sie anstelle von URL, Benutzername und Kennwort die Angabe -r nickname an den Unterbefehl übergeben.
Bevor Sie ein Projekt beginnen, müssen Sie Benutzername, Kennwort und URL für Ihr Repository kennen. Außerdem sollten Sie Mitglied eines Teambereichs sein.
Wenn Sie den Namen des Datenstroms, an dem Sie mitarbeiten, nicht kennen, können mit Sie dem Befehl lscm list streams -r nickname die Datenströme auflisten, auf die Sie zugreifen können. Beispiele:
$ lscm -a y list streams -r l DeLorian Upgrades Home Energy Converter Doc Brown's playpen
Wenn Sie den Datenstrom gefunden haben, mit dem Sie arbeiten möchten, können Sie einen fernen Arbeitsbereich erstellen, der Ihre Änderungen enthalten soll. Beispiel:
$ lscm create workspace -r l myNewWorkspace -s "DeLorian Upgrades" Arbeitsbereich (8551) "myNewWorkspace" wurde erfolgreich erstellt
Durch Hinzufügen des Parameters -s kann angegeben werden, mit welchem Datenstrom der Arbeitsbereich zusammenarbeiten soll. Der neue Arbeitsbereich hat diesen Datenstrom als Standarddatenstromziel und den Datenstromstatus als Anfangsstatus.
Gehen Sie wie folgt vor, um den fernen Arbeitsbereich zu laden:
$ lscm load myNewWorkspace -r l Download von /flux.capacitor/requirements.txt (0 B) Download von /flux.capacitor/diagrams/design.cad (0 B)
Mit der Befehlszeilenschnittstelle der Quellcodeverwaltung können Sie einen typischen Workflow verfolgen (z. B. Dateien ändern, Dateien einchecken, neue Änderungen akzeptieren oder Änderungen übergeben).
Die Aktionen der Befehlszeilenschnittstelle zum Einchecken und Übergeben stimmen mit den entsprechenden Aktionen im Eclipse-Client überein. Beim Einchecken werden Änderungen von Ihrer lokalen Festplatte auf einen fernen Arbeitsbereich übertragen, beim Übergeben werden Änderungen von einer fernen Datenbank auf einen Datenstrom übertragen.
Im folgenden Beispiel für die Befehlszeilenschnittstelle werden mehrere Dateien geändert und die vorgenommenen Änderungen mit dem Befehl status ermittelt:
$ lscm status
Arbeitsbereich: (8551) "myNewWorkspace" <-> (8552) "DeLorian Upgrades"
Komponente: (8553) "Flux Capacitor"
Referenzkonfiguration: (8554) 1 "Initial Baseline"
Unaufgelöst:
-c /flux.capacitor/requirements.txt
Abgehend:
Änderungssets:
(8555) --$ "Initial CAD"
Der Befehl status durchsucht alle gemeinsamen Verzeichnisse nach Änderungen. Dieser Vorgang kann viel Zeit beanspruchen. Wenn Sie lediglich Ihren fernen Arbeitsbereich mit dem Datenstrom vergleichen möchten, können Sie den Befehl lscm status –n verwenden, damit die lokale Festplatte nicht durchsucht wurde.
Verwenden Sie zum Festschreiben von Änderungen den folgenden Befehl lscm checkin:
$ lscm checkin flux.capacitor/
Festschreibung wird ausgeführt...
Arbeitsbereich: (8551) "myNewWorkspace" <-> (8552) "DeLorian Upgrades"
Komponente: (8553) "Flux Capacitor"
Abgehend:
Änderungssets:
(8556) --@ <Kein Kommentar>
In diesem Beispiel wird implizit ein neues Änderungsset erstellt. In der Ausgabe werden die Änderungssets aufgelistet, an die beim Festschreiben Dateien und Ordner übergeben wurden.
Nach dem Erstellen des Änderungssets können Sie ein Arbeitselement zuordnen und einen Kommentar hinzufügen. Verwenden Sie zum Zuordnen eines Arbeitselements den Befehl lscm changeset associate. Verwenden Sie zum Angeben des Kommentars den Befehl lscm changeset comment.
Zum periodischen Anzeigen des Status in einem Datenstrom können Sie den Befehl lscm status ausführen:
$ lscm status -C
Arbeitsbereich: (8551) "myNewWorkspace" <-> (8552) "stream19_test_max_results_1256765247692134"
Komponente: (8553) "Flux Capacitor"
Referenzkonfiguration: (8554) 1 "Initial Baseline"
Abgehend:
Änderungssets:
(8556) --@
Änderungen:
---c /flux.capacitor/requirements.txt
Eingehend:
Änderungssets:
(8615) --$ "Initial layout"
Änderungen:
---c /flux.capacitor/diagrams/design.cad
Die Markierung '-C' zeigt den Inhalt von Änderungssets an.
Das Beispiel oben enthält eine einzelne eingehende Änderung für design.cad. Diese Änderung kann akzeptiert werden, da sie keine Dateien in den Änderungssets ändert.
Führen Sie den Befehl lscm accept aus:
$ lscm accept -v
Repository: https://localhost:9443/jazz/
Arbeitsbereich: (8551) "myNewWorkspace"
Komponente: (8553) "Flux Capacitor"
Änderungssets:
(8615) ADMIN --$ "Initial layout"
Änderungen:
--c /flux.capacitor/diagrams/design.cad
Gelegentlich werden durch eingehende Änderungen Dateien modifiziert, die Sie bereits geändert haben.
Im folgenden Beispiel geben Sie in flux.capacitor/requirements.txt einen Hinweis aus einer Planungsbesprechung ein, checken die Datei ein und rufen den Status ab:
$ lscm status -C
Arbeitsbereich: (8551) "myNewWorkspace" <-> (8552) "stream19_test_max_results_1256765247692134"
Komponente: (8553) "Flux Capacitor"
Referenzkonfiguration: (8554) 1 "Initial Baseline"
Abgehend:
Änderungssets:
(8617) -#@ "Update aus der Planungsbesprechung im November"
Änderungen:
-#-c /flux.capacitor/requirements.txt
Eingehend:
Änderungssets:
(8616) -#$ "Ergebnisse der ersten Tests"
Änderungen:
-#-c /flux.capacitor/requirements.txt
Eine Kollision ist aufgetreten. Die von Ihnen geänderten Dateien wurden von einem weiteren Benutzer geändert, der Änderungen an den Datenstrom übergeben hat. Die Kollision wird durch das Zeichen # vor den beteiligten Dateien und Änderungssets angezeigt. Wenn Sie das Änderungsset mit dem Aliasnamen '8616' akzeptieren, tritt ein Konflikt auf.
$ lscm accept 8616 -v -i
Repository: https://localhost:9443/jazz/
Arbeitsbereich: (8551) "myNewWorkspace"
Komponente: (8553) "Flux Capacitor"
Änderungssets:
(8616) ADMIN -#$ "Ergebnisse der ersten Tests"
Änderungen:
!-c /flux.capacitor/requirements.txt
Die folgenden Arbeitsbereiche weisen nach dem Akzeptieren weiterhin Konflikte auf:
myNewWorkspace
Führen Sie 'scm resolve' oder 'scm conflicts' oder 'scm status' aus, um Hilfe beim Auflösen der Konflikte zu erhalten.
Die Angabe '-i' fügt Konfliktmarkierungen in Dateien ein. Diese Markierungen entsprechen weitgehend den Markierungen, die von anderen Quellcodeverwaltungssystemen verwendet werden.
Die Angabe '!' in der Änderungsliste gibt an, dass für die Datei ein Konflikt besteht.
Mit dem Befehl scm conflicts können Sie eine Liste der Konflikte in den momentan geladenen Komponenten abrufen.
Die Datei enthält Konfliktmarkierungen, die auf das Problem hinweisen:
- Darf nicht mehr als 1,5 Gigawatt Strom verbrauchen - Erforderliche Mindestgeschwindigkeit ermitteln <<<<<<< Mine - Twin Pines-Parkplatz? ======= - Erste Tests deuten auf 60 km/h hin >>>>>>> empfohlen
Die Zeile zwischen <<<<<<< Mine und dem Gleichheitszeichen stammt aus dem Änderungsset in Ihrem Arbeitsbereich. Die Zeile zwischen dem Gleichheitszeichen und der Angabe >>>>>>> empfohlen stammt aus dem eingehenden Änderungsset. Mit dem Befehl lscm conflicts -m flux.capacitor/requirements.txt können Sie die ursprüngliche Datei abrufen. Wenn Sie die eingehende Version abrufen möchten, können Sie den Befehl lscm conflicts -p flux.capacitor/requirements.txt ausführen. Die Angabe -m ist ein Kürzel für 'Mine' und die Angabe -p ist ein Kürzel für 'empfohlen'.
Lösen Sie den Änderungskonflikt mit dem Vorschlag auf. Entfernen Sie die Konfliktmarkierungen in der Datei:
- Darf nicht mehr als 1,5 Gigawatt Strom verbrauchen - Erforderliche Mindestgeschwindigkeit ermitteln Erste Tests deuten auf 60 km/h hin
Schreiben Sie die Änderung fest und teilen Sie dem Repository mit, dass der Konflikt durch die mit dem Befehl lscm resolve eingecheckte Version aufgelöst wurde:
lscm resolve -c flux.capacitor/requirements.txt
Eine leere Ausgabe bedeutet, dass der Konflikt aufgelöst wurde.
Der Parameter -c gibt an, dass der Konflikt mit der eingecheckten Version aufgelöst werden sollte. Sie können auch -p angeben, um den Konflikt mit der empfohlenen Version aufzulösen.
Sie können nun weitere Änderungen vornehmen oder das Änderungsset mit dem Befehl lscm deliver übergeben:
$ lscm deliver Änderungen werden von "myNewWorkspace" nach "DeLorian Updates" übergeben Keine Referenzkonfigurationen für Datenfluss verfügbar.
Um festzustellen, von wem bestimmte Zeilen in einer Datei geändert wurden, führen Sie den Befehl lscm annotate aus:
$ lscm annotate flux.capacitor/requirements.txt 1 Marty (8556) 2009-11-04 - Darf nicht mehr als 1,5 Gigawatt Strom verbrauchen 2 Marty (8556) 2009-11-04 - Erforderliche Mindestgeschwindigkeit ermitteln 3 Doc (8616) 2009-11-04 Ergebnisse des ersten T - Erste Tests deuten auf 60 km/h hin
Die Befehlsausgabe von 'annotate' enthält sechs Spalten:
Verwenden Sie zum Vergleichen verschiedener Versionen einer Datei den Befehl scm diff, der ein Standard-Patch erstellt.
Verwenden Sie zum Löschen nicht festgeschriebener Änderungen den Befehl scm undo.
In diesem Abschnitt werden erweiterte Befehle beschrieben, die vorwiegend von Administratoren verwendet werden, die die Rational Team Concert-Quellcodeverwaltung für andere Benutzer konfigurieren. Die meisten Benutzer erstellen und laden Arbeitsbereiche lediglich in bzw. aus vorhandenen Datenströmen.
Eine Komponente ist eine Gruppe von Quellenbaumstrukturen, die den Quellcode logisch gruppieren.
Wenn sich ein Projekt weiter entwickelt, müssen gelegentlich neue Quellenbaumstrukturen hinzugefügt werden. Wenn es nicht sinnvoll ist, dass eine vorhandene Komponente die Änderungen enthält, müssen Sie eine neue Komponente hinzufügen:
$ lscm create component "Flux Capacitor" "DeLorian Upgrades" -r l Komponente (8553) "Flux Capacitor" erfolgreich erstellt.
Im Beispiel oben wurde eine neue Komponente im Datenstrom 'DeLorian Upgrades' erstellt. Für Benutzer mit Arbeitsbereichen, die mit diesem Datenstrom zusammenarbeiten, wird die hinzugefügte Komponente als eingehende Änderung angezeigt. Benutzer, die die eingehenden Änderungen akzeptieren, empfangen den Inhalt in der Komponente.
Wenn ein Benutzer neue Dateien in der Komponente hinzufügen möchte, die eigens zu diesem Zweck erstellt wurde, kann er diese Task mit dem Unterbefehl share ausführen. Die Rational Team Concert-Quellcodeverwaltung lässt lediglich die gemeinsame Nutzung von Verzeichnissen und Ordnern in einem Arbeitsbereich zu. Der Benutzer muss die neue Komponente in einem fernen Arbeitsbereich hinzufügen:
$ lscm workspace add-component -r l myNewWorkspace 8553 Komponente (8553) "Flux Capacitor" erfolgreich hinzugefügt.
Der Aliasname '8553' im Beispiel oben verweist auf die neu erstellte Komponente aus dem vorigen Beispiel.
Die neue Komponente befindet sich nun in dem Arbeitsbereich und der Benutzer muss die Quellenbaumstruktur mit share für die gemeinsame Nutzung mit dem Arbeitsbereich freigeben:
$ lscm share -r l myNewWorkspace 8553 flux.capacitor Dateien werden hochgeladen... Gemeinsame Nutzung erfolgreich eingerichtet
Die Aktion im Beispiel oben lädt den Inhalt des Verzeichnisses flux.capacitor in den fernen Arbeitsbereich myNewWorkspace hoch und fügt ihn zu der Komponente mit dem Aliasnamen 8553 hinzu (d. h. zur Komponente Flux Capacitor aus dem vorherigen Schritt).
War dies eine Hilfe? Sie können Ihr Feedback bei Jazz.net (Registrierung erforderlich) geben: Geben Sie Ihre Kommentare in den Foren oder senden Sie einen Bug.