Kapitola 6. Program SubWCRev

Obsah

Příkazový řádek SubWCRev
Nahrazení Klíčového Slova
Příklad klíčového slova
Rozhraní COM

SubWCRev je konzolový program ve Windows, který lze použít ke čtení stavu pracovní kopie Subversion a případně provést nahrazení klíčového slova v šablonovém souboru. Toto se často používá jako součást procesu sestavení jako prostředek obsahující informace o pracovní kopii do objektu, který sestavujete. Typicky to může být použito k obsažení čísla revize do rámečku O programu.

Příkazový řádek SubWCRev

SubWCRev čte ve výchozím nastavení Subversion stav všech souborů v pracovní kopii, s výjimkou externích. Zaznamenává nejvyšší nalezené číslo odevzdané revize a časové razítko odevzdání této revize, ale také zaznamená, zda existují místní změny v pracovní kopii, nebo smíšené aktualizace revizí. Číslo revize, rozsah aktualizace revize a stav změny jsou zobrazeny v stdout.

SubWCRev.exe je volán z příkazové řádky nebo skriptu a je ovládán pomocí parametrů příkazového řádku.

SubWCRev WorkingCopyPath [SrcVersionFile DstVersionFile] [-nmdfe]

WorkingCopyPath je cesta k pracovní kopii ke kontrole. SubWCRev lze použít pouze na pracovní kopie, ne přímo na úložiště. Cesta může být absolutní nebo relativní k aktuálnímu pracovní adresář.

Pokud chcete, aby SubWCRev provedl nahrazení klíčového slova, takže pole jako revize úložiště a URL jsou uloženy do textového souboru, musíte zadat šablonový soubor SrcVersionFile a výstupní soubor DstVersionFile který obsahuje nahrazovanou verzi šablony.

Abyste zabránili konkrétním souborů a cestám být zpracovány v SubWCRev, můžete zadat vzory pro ignorování. Vzory jsou čteny ze souboru s názvem .subwcrevignore. Soubor je čten ze zadané cesty a také z kořene pracovní kopie. Pokud soubor neexistuje, nedochází k žádnému ignorování. Soubor .subwcrevignore může obsahovat mnoho vzorů, oddělených novým řádkem. Vzory jsou porovnávány s cestami relativně ke kořeni úložiště a souboru .subwcrevignore. Například pro ignorování všech souborů ve složce doc pracovní kopie TortoiseSVN by soubor .subwcrevignore obsahoval následující řádky:

/trunk/doc
/trunk/doc/*

Nebo, za předpokladu, že soubor .subwcrevignore je v kořeni pracovní kopii získané z kmene, lze docílit stejného výsledku použitím vzoru

doc
doc/*

Pro ignorování všech obrázků by vzory byly nastaveny takto:

*.png
*.jpg
*.ico
*.bmp

Důležité

Vzory ignorování jsou citlivé na velikost písmen, tak jako Subversion.

Tip

Pro vytvoření souboru začínajícího tečkou v Průzkumníku Windows, zadejte .subwcrevignore.. Všimněte si tečky na konci.

Existuje celá řada nepovinných přepínačů, které ovlivňují způsob jak SubWCRev funguje. Pokud použijete více než jeden, musí být uvedeny jako jedna skupina, např. -nm a ne -n -m.

Tabulka 6.1. Seznam dostupných přepínačů v příkazovém řádku

PřeklopitPopis
-nPokud je tento přepínač zadán, SubWCRev skončí s ERRORLEVEL 7 v případě, že pracovní kopie obsahuje místní změny. Toto může být použito k zabránění sestavení pokud jsou přítomny neodevzdané změny.
-NPokud je tento přepínač zadán, SubWCRev skončí s ERRORLEVEL 11 v případě, že pracovní kopie obsahuje položky bez verze, jenž nejsou ignorovány.
-mPokud je tento přepínač zadán, SubWCRev skončí s ERRORLEVEL 8 v případě, že pracovní kopie obsahuje smíšené revize. Toto může být použito k zabránění sestavení s částečně aktualizovanou pracovní kopií.
-dPokud je tento přepínač zadán, SubWCRev skončí s ERRORLEVEL 9 v případě, že cílový soubor již existuje.
-fPokud je tento přepínač zadán, zahrne SubWCRev poslední změněnou revizi adresáře. Výchozí chování je používat pouze soubory při získávání čísel revizí.
-ePokud je tento přepínač zadán, bude SubWCRev zkoumat adresáře, které jsou součástí svn:externals, ale pouze v případě, že jsou ze stejného úložiště. Výchozí chování je externí ignorovat.
-EJe-li tento přepínač zadán, stejné jako -e, ale ignoruje externí s konkrétními revizemi, když rozsah revizí, který je zadán v jejich vlastnostech, je pouze daná konkrétní revize. Takže nevede ke smíšeným revizím.
-xJe-li tento přepínač zadán, SubWCRev vypíše čísla revizí v šestnáctkové soustavě.
-XJe-li tento přepínač zadán, SubWCRev vypíše čísla revizí v šestnáctkové soustavě a přidá '0X' na začátek
-FPokud je tento přepínač zadán, bude SubWCRev ignorovat všechny soubory .subwcrevignore a zahrne vše.
-qPokud je zadán tento přepínač, SubWCRev provede náhradu klíčových slov bez zobrazení stavu pracovní kopie ve stdout.


Pokud není žádná chyba, SubWCREV vrací nulu. Ale v případě chyb je chybová zpráva vypsána do stderr a zobrazena v konzoli. A vracívané kódy chyb jsou:

Tabulka 6.2. Seznam kódů chyb SubWCRev

Kód chybyPopis
1Syntaktická chyba. Jeden nebo více parametrů příkazového řádku je neplatných.
2Soubor nebo složka zadaná na příkazovém řádku nebyly nalezeny.
3Vstupní soubor nemohl být otevřen, nebo cílový soubor nemohl být vytvořen.
4Nelze přidělit paměť. To se může stát např. když je zdrojový soubor příliš velký.
5Zdrojový soubor nemůže být správně zpracován.
6Chyba SVN: Subversion vrátil chybu když se SubWCRev pokoušel najít informace z pracovní kopie.
7Pracovní kopie má místní změny. To vyžaduje přepínač -n.
8Pracovní kopie má smíšené revize. To vyžaduje přepínač -m.
9Výstupní soubor existuje. To vyžaduje přepínač -d.
10Zadaná cesta není pracovní kopie ani její součástí.
11Pracovní kopie obsahuje soubory nebo složky bez verze. To vyžaduje přepínač -N.