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“.
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
Vzory ignorování jsou citlivé na velikost písmen, tak jako Subversion.
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řeklopit | Popis |
---|---|
-n | Pokud 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. |
-N | Pokud 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. |
-m | Pokud 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í. |
-d | Pokud je tento přepínač zadán, SubWCRev skončí s ERRORLEVEL 9 v případě, že cílový soubor již existuje. |
-f | Pokud 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í. |
-e | Pokud 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. |
-E | Je-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. |
-x | Je-li tento přepínač zadán, SubWCRev vypíše čísla revizí v šestnáctkové soustavě. |
-X | Je-li tento přepínač zadán, SubWCRev vypíše čísla revizí v šestnáctkové soustavě a přidá '0X' na začátek |
-F | Pokud je tento přepínač zadán, bude SubWCRev ignorovat všechny soubory .subwcrevignore a zahrne vše. |
-q | Pokud 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 chyby | Popis |
---|---|
1 | Syntaktická chyba. Jeden nebo více parametrů příkazového řádku je neplatných. |
2 | Soubor nebo složka zadaná na příkazovém řádku nebyly nalezeny. |
3 | Vstupní soubor nemohl být otevřen, nebo cílový soubor nemohl být vytvořen. |
4 | Nelze přidělit paměť. To se může stát např. když je zdrojový soubor příliš velký. |
5 | Zdrojový soubor nemůže být správně zpracován. |
6 | Chyba SVN: Subversion vrátil chybu když se SubWCRev pokoušel najít informace z pracovní kopie. |
7 | Pracovní kopie má místní změny. To vyžaduje přepínač -n . |
8 | Pracovní kopie má smíšené revize. To vyžaduje přepínač -m . |
9 | Výstupní soubor existuje. To vyžaduje přepínač -d . |
10 | Zadaná cesta není pracovní kopie ani její součástí. |
11 | Pracovní kopie obsahuje soubory nebo složky bez verze. To vyžaduje přepínač -N . |