Příklad příkazů scm

Rozhraní příkazového řádku (CLI) řízení zdrojů produktu Řízení zdrojů produktu Rational Team Concert používá příkaz scm, který následuje minimálně jeden podpříkaz. Příklady příkazů: scm help a scm create workspace.

Aliasy jsou zkrácené názvy, které jedinečně identifikují řízení zdrojů. Aliasy jsou čtyřmístná čísla (v závorkách), která jsou zobrazována nalevo od položky, na níž odkazují. Například:

$ scm status 
 Workspace: (6377) "My Workspace" <-> (7487) "Stream"
   Component: (6429) "Flux Capacitor"
     Baseline: (8471) 6815 "v20091102"
     Outgoing:
       Change sets:
				(8459) --@ 98314 "Degauss Flux Capacitor" - <No comment>

Ve výše uvedeném příkladu každé číslo v závorkách (6377, 7487, 6429, 8471, 8459) představuje alias.

Jednotlivé podpříkazy mají sadu návratových kódů. 0 se vrací při úspěšném provedení příkazu. Nenulová hodnota se vrací v případě, že došlo k chybě nebo k určitému problému, například ke konfliktu, nebo pokud lokální sandbox není synchronizován se vzdáleným pracovním prostorem.

Protokolování do úložiště

Následující příklady předpokládají, že jste přihlášeni do úložiště s použitím jména uživatele lscm. Proto musíte pro jednotlivé podpříkazy zadat již pouze -r repositoryNickName. Například:

$ lscm login -r https://your.repository.com:9443/jazz -n nickname -u echughes -c
Password (echughes @ https://your.repository.com:9443/jazz):           
Logged in to https://your.repository.com:9443/jazz

Do úložiště https://vaše.úložiště.com:9443/jazz můžete odkazovat rovněž pomocí přezdívky. Například můžete pro podpříkaz místo adresy URL, jména uživatele a hesla zadat -r přezdívka.

Začínáme

Dříve, než zahájíte práci na určitém projektu, musíte mít jméno uživatele, heslo a adresu URL svého úložiště. Rovněž byste měli být členem oblasti týmu.

Vyhledání proudů

Pokud neznáte název proudu, který chcete použít pro spolupráci, můžete pomocí příkazu lscm list streams -r přezdívka vypsat seznam proudů, ke kterým máte přístup. Například:

$ lscm -a y list streams -r l
DeLorian Upgrades
Home Energy Converter
Doc Brown's playpen

Vytvoření a načtení pracovního prostoru

Po zjištění proudu, v němž chcete pracovat, můžete vytvořit vzdálený pracovní prostor, který bude obsahovat vaše změny. Například:

$ lscm create workspace -r l myNewWorkspace -s "DeLorian Upgrades"
Workspace (8551) "myNewWorkspace" successfully created

Přidáním parametru -s určíte, se kterým proudem má pracovní prostor spolupracovat. Nový pracovní prostor bude mít tento proud jako výchozí cíl toku a stav proudu bude počátečním stavem prostoru.

Načtení vzdáleného pracovního prostoru:

$ lscm load myNewWorkspace -r l
Downloading /flux.capacitor/requirements.txt  (0 B)
Downloading /flux.capacitor/diagrams/design.cad  (0 B)

Nezávislá práce

Prostřednictvím rozhraní příkazového řádku řízení zdrojů můžete postupovat běžným sledem prací, například upravovat soubory, vracet soubory, přijímat nové změny a dodávat změny.

Akce vrácení a dodávání rozhraní příkazového řádku jsou stejné, jako příslušné akce klienta Eclipse. Vrácení vloží změny z vašeho lokálního disku do vzdáleného pracovního prostoru. Dodání vloží změny ze vzdáleného pracovního prostoru do proudu.

Potvrzení změn

V následujícím příkladu rozhraní příkazového řádku upravíte určitý počet souborů a určíte upravené položky spuštěním příkazu status:

$ lscm status
Workspace: (8551) "myNewWorkspace" <-> (8552) "DeLorian Upgrades"
  Component: (8553) "Flux Capacitor"
    Baseline: (8554) 1 "Initial Baseline"
    Unresolved:
      -c /flux.capacitor/requirements.txt
    Outgoing:
      Change sets:
        (8555) --$ "Initial CAD"

Příkaz status prohledá všechny sdílené adresáře za účelem nalezení změn, což může být časově náročné. Chcete-li pouze vidět odlišnost vašeho vzdáleného pracovního prostoru od proudu, můžete spustit příkaz lscm status –n, který ignoruje prohledávání lokálního disku.

Pro potvrzení změn použijte příkaz lscm checkin:

$ lscm checkin flux.capacitor/
Committing...
Workspace: (8551) "myNewWorkspace" <-> (8552) "DeLorian Upgrades"
  Component: (8553) "Flux Capacitor"
    Outgoing:
      Change sets:
        (8556) --@ <No comment>

Tento příklad implicitně vytváří novou sadu změn. Výstup vypisuje sady změn, které během potvrzení obdržely soubory a složky.

Po vytvoření sady změn můžete provést přidružení pracovní položky a přidat komentář. Chcete-li přiřadit pracovní položku, použijte příkaz lscm changeset associate. Chcete-li nastavit komentář, použijte příkaz lscm changeset comment.

Přijetí změn

Pravidelně můžete zobrazovat stav v proudu spouštěním příkazu lscm status:

$ lscm status -C
Workspace: (8551) "myNewWorkspace" <-> (8552) "stream19_test_max_results_1256765247692134"
  Component: (8553) "Flux Capacitor"
    Baseline: (8554) 1 "Initial Baseline"
    Outgoing:
      Change sets:
        (8556) --@ 
          Changes:
            ---c /flux.capacitor/requirements.txt
    Incoming:
      Change sets:
        (8615) --$ "Initial layout"
          Changes:
            ---c /flux.capacitor/diagrams/design.cad

Příznak -C zobrazuje obsah sady změn.

Ve výše uvedením příkladu je jediná příchozí změna souboru design.cad. Tuto změnu můžete přijmout, protože neupravuje žádné soubory v sadách změn.

Spusťte příkaz lscm accept:

$ lscm accept -v
Repository: https://localhost:9443/jazz/
  Workspace: (8551) "myNewWorkspace"
    Component: (8553) "Flux Capacitor"
      Change sets:
        (8615) ADMIN --$ "Initial layout" 
          Changes:
            --c /flux.capacitor/diagrams/design.cad

Řešení konfliktů

Občas mohou příchozí změny měnit soubory, které jste již upravili.

V níže uvedeném příkladu upravíte soubor flux.capacitor/requirements.txt zahrnutím poznámky z plánovací schůzky, vrátíte soubor a spustíte příkaz status:

$ lscm status -C
Workspace: (8551) "myNewWorkspace" <-> (8552) "stream19_test_max_results_1256765247692134"
  Component: (8553) "Flux Capacitor"
    Baseline: (8554) 1 "Initial Baseline"
    Outgoing:
      Change sets:
        (8617) -#@ "Update from November planning meeting"
          Changes:
            -#-c /flux.capacitor/requirements.txt
    Incoming:
      Change sets:
        (8616) -#$ "Results of initial trials"
          Changes:
            -#-c /flux.capacitor/requirements.txt

Došlo ke kolizi. Soubory, které jste upravili, byly rovněž upraveny jiným uživatelem, který dodal změny do proudu. Kolize je označena číslem před dotyčnými soubory a dotyčnými sadami změn. Přijmete-li sadu změn s aliasem 8616, vznikne konflikt.

$ lscm accept 8616 -v -i
Repository: https://localhost:9443/jazz/
  Workspace: (8551) "myNewWorkspace"
    Component: (8553) "Flux Capacitor"
      Change sets:
        (8616) ADMIN -#$ "Results of initial trials" 
          Changes:
            !-c /flux.capacitor/requirements.txt
Following workspaces still have conflicts after accept:
  myNewWorkspace
Run 'scm resolve' or 'scm conflicts' or 'scm status' for help in resolving the conflicts.

Parametr -i vloží značkovače konfliktu do souborů. Tyto značkovače jsou podobné značkovačům použitým jinými systémy řízení zdrojů.

Znak ! v seznamu změn označuje soubor, který má konflikt.

Seznam konfliktů v aktuálně načtených komponentách získáte spuštěním příkazu scm conflicts.

Soubor obsahuje umístěné značkovače konfliktů, jež signalizují problém:

- Must not need any more than 1.5 gigawatts of power
- Determine minimum necessary speed
<<<<<<< mine
  - Twin Pines parking lot?
=======
  - Initial trials suggest 60kmh
>>>>>>> proposed
 

Řádek mezi <<<<<<< mine a rovnítkem je ze sady změn ve vašem pracovním prostoru. Řádek mezi rovnítky a >>>>>>> proposed pochází z příchozí sady změn. Původní soubor získáte spuštěním příkazu lscm conflicts -m flux.capacitor/requirements.txt. Máte-li zájem o příchozí verzi, můžete spustit příkaz lscm conflicts -p flux.capacitor/requirements.txt. Volba -m je zkratkou výrazu mine, volba -p je zkratkou pro proposed.

Vyřešte změnu použitím návrhu. Odstraňte značkovače konfliktu ze souboru:

- Must not need any more than 1.5 gigawatts of power
- Determine minimum necessary speed
Initial trials suggest 60kmh

Commit the change and communicate to the repository that the conflict has been resolved with the version that was checked in by running lscm resolve:

lscm resolve -c flux.capacitor/requirements.txt

Není-li vygenerován žádný výstup, znamená to, že konflikt byl vyřešen.

Volba -c označuje, že konflikt má být vyřešen s použitím vrácené verze. Rovněž můžete použít volbu -p pro vyřešení konfliktu s použitím navržené verze.

Nyní můžete provést další změny nebo dodat sadu změn příkazem lscm deliver:

$ lscm deliver
Delivering changes from "myNewWorkspace" into "DeLorian Updates"
  No baselines to flow.

Práce se změnami

Chcete-li určit osobu, která upravila určité řádky v souboru, spusťte příkaz lscm annotate:

$ lscm annotate flux.capacitor/requirements.txt 
1 Marty (8556) 2009-11-04                       - Nesmí vyžadovat vyšší příkon než 1,5 GW 
2 Marty (8556) 2009-11-04                       - Určit minimální nezbytnou rychlost 
3 Doc   (8616) 2009-11-04  Výsledky počátečního testu   - Počáteční test navrhuje 60 kmh 

Výstup anotace má šest sloupců:

Pro porovnání různých verzí souboru použijte příkaz scm diff, který vygeneruje standardní opravu.

Chcete-li odstranit nepotvrzené změny, použijte příkaz scm undo.

Úlohy "release engineering"

Tento oddíl popisuje rozšířené příkazy, které používají zejména administrátoři, kteří konfigurují Řízení zdrojů produktu Rational Team Concert pro ostatní uživatele. Většina uživatelů pouze přidává a načítá pracovní prostory ze stávajících proudů.

Přidání nové komponenty

Komponenta je seskupení zdrojových strojů, jež společně uchovává logická seskupení zdrojového kódu.

V rámci rozrůstání konkrétního projektu obvykle potřebujete přidávat nové zdrojové stromy. Pokud není rozumné, aby stávající komponenta uchovávala změny, musíte přidat novou komponentu:

$ lscm create component "Flux Capacitor" "DeLorian Upgrades" -r l
Component (8553) "Flux Capacitor" successfully created.

Ve výše uvedeném příkladu jste vytvořili novou komponentu v proudu DeLorian Upgrades. Uživatelům, kteří mají pracovní prostory spolupracující s tímto proudem, se zobrazí přidání komponenty jako příchozí změna. Pokud přijmou příchozí změny, obdrží obsah v komponentě.

Pokud určitý uživatel chce přidat nové soubory do komponenty vytvořené pro tento účel, může tuto úlohu provést podpříkazem share. Dané Řízení zdrojů produktu Rational Team Concert umožňuje sdílení do pracovního prostoru pouze pro adresáře a složky. Novou komponentu musí uživatel přidat do vzdáleného pracovního prostoru:

$ lscm workspace add-component -r l myNewWorkspace 8553
Component (8553) "Flux Capacitor" successfully added.

Ve výše uvedeném příkladu odkazuje alias 8553 na nově vytvořenou komponentu z předchozího příkladu.

Nová komponenta je nyní v pracovním prostoru, a uživatel tedy musí provést příkazem share sdílení zdrojového stromu do pracovního prostoru:

$ lscm share -r l myNewWorkspace 8553 flux.capacitor
Uploading files...
Shared successfully

Ve výše uvedeném příkladu akce odešle obsah adresáře flux.capacitor do vzdáleného pracovního prostoru s názvem můj_nový_pracovní_prostor a přidá jej do komponenty určené aliasem 8553, což je komponenta Flux Capacitor z předchozího kroku.


Váš názor

Byla tato pomoc užitečná? Zpětnou vazbu můžete poskytnout na stránkách Jazz.net (registrace je požadována): Komentář na fóru nebo odeslat chybu