Manuals

Dodatok D. Automatizácia TortoiseSVN

Obsah

Príkazy TortoiseSVN
Obslužná rutina adresy URL Tsvncmd
Príkazy TortoiseIDiff
Príkazy TortoiseUDiff

Pretože všetky príkazy pre TortoiseSVN sú ovládané prostredníctvom parametrov príkazového riadku, môžete ich automatizovať dávkovými skriptmi alebo spustiť konkrétne príkazy a dialógy z iných programov (napr. Obľúbeného textového editora).

Dôležité

Pamätajte, že TortoiseSVN je klient s grafickým užívateľským rozhraním a tento sprievodca automatizáciou vám ukáže, ako vytvoriť dialógové okná TortoiseSVN, ktoré zhromažďujú vstupy užívateľov. Ak chcete napísať skript, ktorý nevyžaduje žiadny vstup, mali by ste namiesto toho použiť oficiálneho klienta príkazového riadku Subversion.

Príkazy TortoiseSVN

Program TortoiseSVN GUI sa nazýva TortoiseProc.exe. Všetky príkazy sú určené parametrom /command:abcd> kde abcd je požadovaný názov príkazu. Väčšina z týchto príkazov vyžaduje aspoň jeden argument cesty, ktorý je uvedený spolu s /path:"nejaká\cesta". V nasledujúcej tabuľke príkaz odkazuje na parameter /command:abcd a cesta sa vzťahuje na parameter /path:"nejaká\cesta".

Existuje špeciálny príkaz, ktorý nevyžaduje parameter /command:abcd, ale ak na príkazovom riadku nie je nič uvedené, spustí sa namiesto toho monitor projektu. Ak je zadané /tray, monitor projektu sa spustí na pozadí a iba pridá svoju ikonu na systémovú lištu.

Pretože niektoré z príkazov môžu obsahovať zoznam cieľových ciest (napr. odovzdanie niekoľkých konkrétnych súborov), parameter /path môže mať niekoľko ciest, oddelených znakom *.

Môžete tiež určiť súbor, ktorý obsahuje zoznam ciest oddelených novými riadkami. Súbor musí byť vo formáte UTF-16 bez BOM (Bill Of Materials). Ak odovzdáte takýto súbor, použite /pathfile namiesto /path. Ak chcete, aby TortoiseProc odstránil tento súbor po dokončení príkazu, môžete zadať parameter /deletepathfile. Ak neprejde /deletepathfile>, musíte súbor odstrániť sami, inak súbor zostane pozadu.

Dialógové okno priebehu, ktoré sa používa pre odovzdanie, aktualizácie a mnoho ďalších príkazov, zvyčajne zostáva otvorené po dokončení príkazu, kým užívateľ nestlačí tlačidlo OK. Toto je možné zmeniť zaškrtnutím príslušnej možnosti v dialógovom okne nastavení. Použitím tohto nastavenia sa však dialógové okno priebehu zavrie bez ohľadu na to, či príkaz spustíte z dávkového súboru alebo z kontextovej ponuky TortoiseSVN.

Ak chcete určiť iné umiestnenie konfiguračného súboru, použite parameter /configdir:"cesta\na\priečinok\konfigurácie". Týmto prepíšete predvolenú cestu vrátane všetkých nastavení registra.

Ak chcete automaticky zavrieť dialógové okno priebehu na konci príkazu bez použitia trvalého nastavenia, môžete prejsť na parameter /closeonend.

  • /closeonend:0 nezatvárať dialógové okno automaticky

  • /closeonend:1 zavrieť dialógové okno automaticky ak nenastali chyby

  • /closeonend:2 zavrieť dialógové okno automaticky ak nenastali chyby, alebo konflikty

  • /closeonend:3 zavrieť dialógové okno automaticky ak nenastali chyby, konflikty, alebo zlúčenia

Ak chcete zavrieť dialógové okno priebehu pre miestne operácie, ak nedošlo k žiadnym chybám alebo konfliktom, odošlite parameter /closeforlocal.

V nasledujúcej tabuľke je uvedený zoznam všetkých príkazov, ku ktorým je možné získať prístup použitím príkazového riadku TortoiseProc.exe. Ako je opísané vyššie, mali by sa používať vo forme /command:abcd. V tabuľke je predpona /command vynechaná kvôli šetreniu miesta.

Tabuľka D.1. Zoznam dostupných príkazov a možností

PríkazPopis
:aboutZobrazuje dialógové okno s informáciami. Toto sa tiež zobrazí, ak nie je zadaný žiadny príkaz.
:log

Otvorí dialógové okno záznamu. Voľba /path určuje súbor alebo priečinok, pre ktorý by sa mal záznam zobraziť. Je možné nastaviť ďalšie možnosti:

  • /startrev:xxx,

  • /endrev:xxx,

  • /limit:xxx obmedzuje počet načítaných správ

  • /strict> povolí zaškrtávacie políčko „Zastaviť pri kopírovaní“,

  • /merge povolí zaškrtávacie políčko „Zahrnúť zlúčené revízie“,

  • /datemin:"{datestring}" nastavuje počiatočný dátum filtra a

  • /datemax:"{datestring}" nastavuje dátum ukončenia filtra. Formát dátumu je rovnaký ako formát dátumov svn.

  • /findstring:"filterstring" vyplní text filtra,

  • /findtext prinúti filter použiť text, nie regulárny výraz alebo

  • /findregex prinúti filter používať regulárny výraz, nie jednoduché textové vyhľadávanie, a

  • /findtype:X pričom X je číslo od 0 do 511. Čísla sú súčtom nasledujúcich možností:

    • /findtype:0 filtrovať podľa všetkého

    • /findtype:1 filtrovať podľa správ

    • /findtype:2 filtrovať podľa cesty

    • /findtype:4 filtrovať podľa správ

    • /findtype:8 filtrovať podľa revízií

    • /findtype:16 nepoužité

    • /findtype:32 filtrovať podľa ID chyby

    • /findtype:64 nepoužité

    • /findtype:128 filtrovať podľa dátumu

    • /findtype:256 filtrovať podľa rozsahu dátumov

  • Ak je zadaná cesta /outfile:cesta\k\súboru, vybrané revízie sa zapíšu do tohto súboru, keď sa uzavrie dialógové okno záznamu. Revízie sa zapisujú v rovnakom formáte, aký sa používa na zadanie revízií v dialógovom okne zlúčenia.

An svn date revision can be in one of the following formats:

  • {2006-02-17}

  • {15:30}

  • {15:30:00.200000}

  • {"2006-02-17 15:30"}

  • {"2006-02-17 15:30 +0230"}

  • {2006-02-17T15:30}

  • {2006-02-17T15:30Z}

  • {2006-02-17T15:30-04:00}

  • {20060217T1530}

  • {20060217T1530Z}

  • {20060217T1530-0500}

:checkout

Otvára dialógové okno overenia. Parameter /path určuje cieľový adresár a /url určuje adresu URL, z ktorej sa má uskutočniť overenie. Ak zadáte kľúč /blockpathadjustments, automatické úpravy cesty overenia sú blokované. Parameter /revision:XXX určuje revíziu, ktorú môžete overiť.

Ak zadáte /outfile:"cesta/ku/súboru" zadaný súbor bude po overení obsahovať tri riadky. Prvý riadok je cesta overenia, druhý riadok adresa URL a tretí revízia.

:importOtvorí dialógové okno importu. Parameter /path určuje priečinok s údajmi, ktoré sa majú importovať. Môžete tiež určiť prepínač /logmsg na predanie preddefinovanej správy záznamu dialógovému oknu importu. Alebo ak nechcete odovzdať správu záznamu na príkazovom riadku, použite /logmsgfile:path, kde path ukazuje na súbor, ktorý obsahuje správu.
:updateAktualizuje pracovnú kópiu v /path na HEAD. Ak je zadaná možnosť /rev, potom sa zobrazí dialógové okno so žiadosťou, aby užívateľ vybral revíziu, na ktorú by aktualizácia mala ísť. Aby ste sa vyhli dialógu, zadajte číslo revízie /rev:1234. Ďalšie možnosti sú /nonrecursive , /ignoreexternals a /includeexternals. Parameter /stickydepth označuje, že zadaná hĺbka by mala byť lepivá, čím sa vytvorí roztrúsené overenie. Parameter /skipprechecks je možné nastaviť na preskočenie všetkých kontrol vykonaných pred aktualizáciou. Ak je to určené, potom tlačidlo Zobraziť záznam je zakázané a po aktualizácii je zakázané aj kontextová ponuka zobrazenie odlišností.
:commitOtvorí dialógové okno odovzdania. Parameter /path určuje cieľový priečinok alebo zoznam súborov, ktoré sa majú odovzdať. Môžete tiež určiť prepínač /logmsg na odoslanie preddefinovanej správy záznamu dialógovému oknu odovzdania. Alebo ak nechcete odovzdať správu záznamu na príkazovom riadku, použite /logmsgfile:path, kde path ukazuje na súbor, ktorý obsahuje správu. Na vyplnenie poľa pre ID chyby (v prípade, že ste správne nastavili integráciu so sledovačmi chýb), môžete to urobiť použitím /bugid:"ID chyby tu".
:addPridá súbory do /path na správu verzií.
:revertVráti miestne úpravy pracovnej kópie. Parameter /path hovorí, ktoré položky sa majú vrátiť.
:cleanupVyčistí prerušené alebo zrušené operácie a odomkne pracovnú kópiu v /path. Musíte tiež prejsť /cleanup pre vykonanie aktuálneho vyčistenia. Použite /noui na zabránenie vyskočenia dialógového okna s výsledkami (buď o dokončení čistenia, alebo o zobrazení chybovej správy). Parameter /noprogressui tiež zakáže dialógové okno priebehu. Parameter /nodlg zakáže zobrazovanie dialógového okna čistenia, kde si užívateľ môže zvoliť, čo by sa malo pri čistení urobiť. Dostupné akcie je možné určiť možnosťou /cleanup na vyčistenie stavu, /breaklocks na prelomenie všetkých zámkov, parameter /revert na vrátenie neodovzdaných zmien, /delunversioned, /delignored, /refreshshell, /externals, /fixtimestamps a /vacuum.
:resolveOznačí konfliktný súbor uvedený v /path ako vyriešený. Ak je daný parameter /noquestion, potom sa vyriešenie uskutoční bez toho, aby ste sa užívateľa najskôr opýtali, či by to skutočne malo urobiť.
:repocreateVytvorí úložisko v /path
:switchOtvorí dialógové okno prepínača. /path určuje cieľový priečinok a /url adresu URL, na ktorú sa chcete prepnúť.
:exportExportuje pracovnú kópiu do priečinka /path do iného priečinka. Ak /path odkazuje na bezverziový priečinok, v dialógovom okne sa zobrazí výzva na zadanie adresy URL na export do priečinka v /path. Ak zadáte kľúč /blockpathadjustments, automatické úpravy cesty exportu sú blokované.
:dropexportExportuje pracovnú kópiu v /path do priečinka určeného v /droptarget. Tento export nepoužíva dialógové okno exportu, ale je vykonávaný priamo. Možnosť /overwrite určuje, že existujúce súbory sa prepíšu bez potvrdenia používateľom a táto možnosť /autorename určuje, že ak súbory už existujú, exportované súbory sa automaticky premenujú, aby sa neprepísali. Možnosť /extended môže určiť buď localchanges pre export iba súborov, ktoré sa zmenili lokálne, alebo unversioned pre export aj všetkých bezverziových položiek.
:dropvendorSkopíruje rekurzívne priečinok v /path do priečinka uvedeného v /droptarget. Nové súbory sa pridávajú automaticky a chýbajúce súbory sa odstránia v cieľovej pracovnej kópii, čím sa v podstate zabezpečí, že zdroj a cieľ budú úplne rovnaké. Určením /noui sa preskočí potvrdzovací dialóg a /noprogressui zakáže aj zobrazovanie dialógového okna priebehu.
:mergeOtvorí dialógové okno zlúčenia. Parameter /path určuje cieľový priečinok. Pre zlúčenie rozsahu revízií sú k dispozícii nasledujúce možnosti: /fromurl:URL, /revrange:string. Pre zlúčenie dvoch stromov úložiska sú k dispozícii nasledujúce možnosti: /fromurl:URL, /tourl:URL, /fromrev:xxx a /torev:xxx.
:mergeallOtvorí dialógové okno zlúčiť všetko. /path určuje cieľový priečinok.
:copyVyvolá dialógové okno vetvy/príznaku. /path je pracovná kópia, z ktorej má byť vytvorená vetva/príznak a /url je cieľová adresa URL. Ak adresy URL začínajú znakom ^ predpokladá sa, že sú relatívne ku koreňu úložiska. Pre zaškrtnutie možnosti Prepnúť pracovnú kópiu na novú vetvu/príznak môžete pridať prepínač /switchaftercopy. Pre zaškrtnutie možnosti Vytvoriť dočasné priečinky pridajte prepínač /makeparents. Môžete tiež určiť prepínač /logmsg na odoslanie preddefinovanej správy záznamu do dialógového okna vetvy/príznaku. Alebo ak nechcete odovzdať správu záznamu na príkazovom riadku, použite /logmsgfile:path, kde path ukazuje na súbor, ktorý obsahuje správu.
:settingsOtvorí dialógové okno nastavenia.
:removeOdstráni súbory v priečinku /path zo správy verzií.
:renamePremenuje súbor v /path. Nový názov súboru sa zobrazí s dialógovým oknom. Ak sa chcete vyhnúť otázkam o premenovaní podobných súborov v jednom kroku, pridajte /noquestion.
:diffSpustí externý program porovnania odlišností uvedený v nastaveniach TortoiseSVN. Parameter /path určuje prvý súbor. Ak je nastavená možnosť /path2, potom sa program porovnania odlišností spustí s týmito dvoma súbormi. Ak je parameter /path2 vynechaný, potom sa porovnanie vykoná medzi súborom v /path a jeho bázou (BASE). Ak má zadaný súbor aj úpravy vlastností, spustí sa pre každú upravenú vlastnosť externý nástroj porovnania odlišností. Ak tomu chcete zabrániť, pridajte voľbu /ignoreprops. Ak chcete explicitne nastaviť čísla revízií, použite /startrev:xxx a /endrev:xxx a pre voliteľnú zavesenú revíziu použite /pegrevision:xxx. Ak je nastavený parameter /blame a /path2 nie je, potom sa porovnanie odlišností vykoná tak, že sa najskôr vyvodí zodpovednosť súborov s danými revíziami. Parameter /line:xxx určuje riadok, na ktorý sa má preskočiť, keď je zobrazený rozdiel.
:shelveOdloží na policu s určenými cestami do novej police. Možnosť /shelfname:name určuje názov police. Voliteľnú správu záznamu je možné určiť pomocou /logmsg:message . Ak je pridaná možnosť /checkpoint, úpravy súborov sa zachovajú.
:unshelveAplikuje policu s názvom /shelfname:name do cesty pracovnej kópie. V predvolenom nastavení je použitá posledná verzia police, ale môžete určiť verziu parametrom /version:X .
:showcompare

V závislosti na adresách URL a revíziách, ktoré sa majú porovnať, sa buď zobrazuje zjednotený rozdiel (ak je nastavená možnosť unified), dialógové okno so zoznamom súborov, ktoré sa zmenili, alebo ak adresy URL odkazujú na súbory, spustí sa prehliadač odlišností pre tieto dva súbory.

Možnosti url1, url2, revision1 a revision2 musia byť určené. Možnosti pegrevision, ignoreancestry, blame a unified sú voliteľné.

Ak má zadaná adresa URL tiež úpravy vlastností, spustí sa pre každú upravenú vlastnosť aj externý nástroj porovnania odlišností. Ak tomu chcete zabrániť, odovzdajte voľbu /ignoreprops>.

Ak sa požaduje zjednotené porovnanie odlišností, voliteľne môže byť zadaná možnosť prettyprint, ktorá zobrazí vlastnosti merge-info v užívateľsky čitateľnejšom formáte.

:conflicteditorSpustí editor konfliktov zadaný v nastaveniach TortoiseSVN so korigovanými súbormi pre konfliktný súbor v /path.
:relocateOtvorí dialóg premiestnenia. /path udáva cestu pracovnej kópie na premiestnenie.
:helpOtvorí súbor pomocníka.
:repostatusOtvára dialógové okno kontroly zmien. Parameter /path určuje priečinok pracovnej kópie. Ak je zadaný /remote, dialógové okno kontaktuje úložisko okamžite po štarte, akoby užívateľ klikol na tlačidlo Skontrolovať úložisko.
:repobrowser

Spustí dialógové okno prehliadača úložiska, ktoré ukazuje na adresu URL pracovnej kópie uvedenej v možnosti /path alebo /path odkazuje priamo na URL.

Ďalšia možnosť /rev:xxx môže byť použitá na určenie revízie, ktorú by mal prehliadač úložiska zobraziť. Ak je vynechaný parameter /rev:xxx, predvolene má hodnotu HEAD.

Ak /path odkazuje na URL, /projectpropertiespath:cesta/do/pracovnejkopie určuje cestu, odkiaľ sa majú čítať a používať vlastnosti projektu.

Ak je zadaný /outfile:cesta\ku\súboru, vybraná adresa URL a revízia sa zapíšu do tohto súboru, pri zatvorení prehliadača úložiska. Prvý riadok v tomto textovom súbore obsahuje adresu URL, druhý riadok revíziu v textovom formáte.

:ignorePridá všetky ciele do /path do zoznamu ignorovaných, t. j. do vlastnosti svn:ignore týchto súborov.
:blame

Otvorí dialóg o vyvodení zodpovednosti pre súbor určený v /path .

Ak sú nastavené možnosti /startrev a /endrev, potom sa dialógové okno s požiadavkou na rozsah zuodpovednosti nezobrazí, ale namiesto nich sa použijú hodnoty revízií týchto možností.

Ak je nastavená možnosť /line:nnn, otvorí sa TortoiseBlame so zobrazeným zadaným číslom riadku.

Podporované sú aj možnosti /ignoreeol, /ignorespaces a /ignoreallspaces.

:catUloží súbor z adresy URL alebo cesty pracovnej kópie uvedenej v /path na miesto uvedené v /savepath:path. Revízia je uvedená v /revision:xxx. To možno použiť na získanie súboru s konkrétnou revíziou.
:createpatchVytvorí súbor opravnej záplaty pre cestu uvedenú v /path. Ak chcete preskočiť dialógové okno Uložiť ako, môžete pridať /savepath:path na určenieť cesty, kam sa má súbor opravnej záplaty priamo uložiť. Ak chcete zabrániť spusteniu zobrazenia súboru opravnej záplaty v prehliadači zjednotených odlišností, pridajte /noview. Ak sa požadujú zjednotené porovnanie odlišností, voliteľne môže byť zadaná možnosť prettyprint, ktorá zobrazí vlastnosti merge-info v užívateľsky čitateľnejšom formáte.
:revisiongraph

Zobrazí graf revízie pre cestu uvedenú v /path> .

Ak chcete vytvoriť súbor obrázka grafu revízie pre konkrétnu cestu, ale bez zobrazenia okna grafu, musíte pridať /output:path spolu s cestou k výstupnému súboru. Výstupný súbor musí mať príponu, do ktorej môže byť graf revízie skutočne exportovaný. Sú to: .svg, .wmf, .png, .jpg, .bmp a .gif.

Pretože má graf revízií veľa možností, ktoré ovplyvňujú jeho zobrazovanie, môžete tiež nastaviť možnosti, ktoré sa majú použiť pri vytváraní výstupného obrazového súboru. Pridajte tieto možnosti pomocou /options:XXXX, kde XXXX je desatinná hodnota. Najlepším spôsobom, ako nájsť požadované možnosti, je spustiť graf revízií obvyklým spôsobom, nastaviť všetky možnosti užívateľského rozhrania a graf zavrieť. Potom možnosti, ktoré musíte odovzdať v príkazovom riadku, je možné prečítať z registra HKCU\Software\TortoiseSVN\RevisionGraphOptions.

:lockZamkne súbor alebo všetky súbory v priečinku uvedenom v /path. Zobrazí sa dialógové okno „uzamknutia“, aby mohol užívateľ zadať komentár k zámku.
:unlockOdomkne súbor alebo všetky súbory v priečinku uvedenom v priečinku /path.
:rebuildiconcacheZnovu vytvorí zásobník ikon systému Windows. Toto použite iba v prípade, že sú ikony systému Windows poškodené. Vedľajším efektom toho (čomu sa nedá vyhnúť) je, že sú prehádzané ikony na pracovnej ploche. Ak chcete potlačiť okno so správou, pridajte /noquestion.
:properties

Zobrazí dialógové okno vlastností pre cestu uvedenú v /path .

Pre prácu s verziovými vlastnosťami vyžaduje tento príkaz pracovnú kópiu.

Vlastnosti revízie je možné zobraziť/zmeniť, ak /path> je adresa URL a je zadané /rev:XXX.

Ak chcete otvoriť dialógové okno vlastností priamo pre konkrétnu vlastnosť, zadajte názov vlastnosti ako /property:name.

:sync

Exportuje/importuje nastavenia, buď podľa toho, či sú aktuálne nastavenia alebo exportované nastavenia novšie, alebo podľa zadania.

Ak je pridaná cesta v /path, potom je použité uloženie alebo načítanie nastavení z tejto cesty.

Parameter /askforpath zobrazí dialógové okno otvorenia/uloženia súboru, aby si užívateľ mohol zvoliť cestu exportu/importu.

Ak nie je určený ani jeden z parametrov /load ani /save, potom TortoiseSVN určí, či sa majú nastavenia exportovať alebo importovať podľa toho, ktoré sú novšie. Ak je exportovaný súbor novší ako aktuálne nastavenie, nastavenia sa načítajú zo súboru. Ak sú aktuálne nastavenia novšie, nastavenia sa exportujú do súboru s nastaveniami.

Ak je určený parameter /load, nastavenia sa importujú zo súboru nastavení.

Ak je určený parameter /save, aktuálne nastavenia sa exportujú do súboru nastavení.

Parameter /local vynúti export nastavení tak, aby zahŕňal miestne nastavenia, t. j. nastavenia, ktoré odkazujú na miestne cesty.


Príklady (ktoré je potrebné zadať do jedného riadku):

TortoiseProc.exe/command:commit
                 /path:"c:\svn_wc\file1.txt*c:\svn_wc\file2.txt"
                 /logmsg:"správa protokolu testu" /closeonend:0

TortoiseProc.exe /command:update /path:"c:\svn_wc\" /closeonend:0

TortoiseProc.exe /command:log /path:"c:\svn_wc\file1.txt"
                 /startrev:50 /endrev:60 /closeonend:0

TortoiseSVN homepage