SubWCRev to program konsoli Windows, który może być wykorzystany do odczytu stanu kopii roboczej Subversion i ewentualnie podstawiania słów kluczowych w pliku szablonu. Jest to często wykorzystywane jako część procesu budowania jako środek wstrzyknięcia informacji o kopii roboczej do kompilowanego obiektu. Zazwyczaj można to wykorzystać do włączenia numeru wersji w polu „O programie”.
SubWCRev odczytuje status Subversion wszystkich plików w kopii roboczej, z domyślnym wyłączeniem zewnętrznych. Zapisuje najwyższy numer zatwierdzonej wersji i czas zatwierdzenia tej wersji, zapamiętuje również, czy są lokalne modyfikacje w kopii roboczej lub mieszane wersje aktualizacji. Numer wersji, zakres wersji aktualizacji i status modyfikacji są wysyłane na wyjście stdout.
SubWCRev.exe jest wywoływany z wiersza poleceń lub skryptu i jest sterowany za pomocą parametrów wiersza poleceń.
SubWCRev SciezkaKopiiRoboczej [PlikWerZrodl PlikWerDocel] [-nmdfe]
WorkingCopyPath
jest ścieżką do sprawdzanej kopii roboczej. Można używać SubWCRev tylko na kopii roboczej, a nie bezpośrednio na repozytorium. Ścieżka może być bezwzględna lub względna do bieżącego katalogu roboczego.
Jeśli chcecie by SubWCRev podstawiał słowa kluczowe, aby takie pola jak wersje repozytorium i URL są zapisywane w pliku tekstowym, należy dostarczyć pliku szablonu SrcVersionFile
i plik wyjściowy DstVersionFile
, który zawiera wersja szablonu po podstawieniach.
Możecie wskazać wzorce ignorowania dla SubWCRev by zapobiec braniu pod uwagę określonych plików i ścieżek. Wzorce te są odczytywane z pliku o nazwie .subwcrevignore
. Plik jest odczytywany ze wskazanego folderu a także z folderu głównego kopii roboczej. Jeżeli plik nie istnieje, żaden plik nie jest ignorowany. Plik .subwcrevignore
może zawierać wiele wzorców oddzielonych znakami nowej linii. wzorce są dopasowywane do ścieżek względem folderu nadrzędnego repozytorium i sieżek względnych do ścieżki pliku .subwcrevignore
. Na przykład, by zignorować folder doc
w kopii roboczej TortoiseSVN, .subwcrevignore
powinien zawierać następujące linie:
/trunk/doc /trunk/doc/*
Albo, brzyjmując, że plik .subwcrevignore
znajduje się w folderze głównym pobranym z linii głównej, użycie wzorców
doc doc/*
działa tak samo jak przykład powyżej.
by ignorować wszystkie obrazki, wzorce ignorowania muszą zostać ustawione tak:
*.png *.jpg *.ico *.bmp
Wzorce ignorowania są wrażliwe na wielkość liter, tak jak sam Subversion.
Aby utworzyć plik z kropką na początku w eksploratorze Windows, należy wpisać .subwcrevignore.
. Odnotujcie kropkę wiodącą.
Istnieje kilka opcjonalnych przełączników, które wpływają na sposób działania SubWCRev. Jeśli używasz więcej niż jednego, muszą być określone jako jedna grupa, np. -nm
, a nie -n -m
.
Tabela 6.1. Lista dostępnych przełączników wiersza poleceń
Przełącznik | Opis |
---|---|
-n | Jeśli zostanie podana ta opcja SubWCRev wyjdzie z ERRORLEVEL 7 jeśli kopia robocza zawiera lokalne modyfikacje. Może to być wykorzystane do zapobiegania kompilacji z obecnymi niezatwierdzonymi zmianami. |
-N | Jeśli ta opcja zostanie podana, SubWCRev zakończy się z ERRORLEVEL 11 jeśli kopia robocza zawiera niewersjonowane obiekty, które nie sa ignorowane. |
-m | Jeśli opcja ta zostanie podana SubWCRev wyjdzie z ERRORLEVEL 8 jeśli kopia robocza zawiera mieszane wersje. Może to być wykorzystane do zapobiegania kompilacji z częściowo aktualizowanej kopii roboczej. |
-d | Jeśli opcja ta zostanie podana SubWCRev wyjdzie z ERRORLEVEL 9 , jeżeli plik docelowy już istnieje. |
-f | Jeśli opcja ta zostanie podana SubWCRev zawrze wersję ostatniego zatwierdzenia folderów. Domyślnym zachowaniem jest korzystanie tylko z plików podczas sprawdzania numerów wersji. |
-e | Jeśli opcja ta zostanie podana SubWCRev przeszuka katalogi, które są dołączone do svn:externals , ale tylko jeśli są z tego samego repozytorium. Domyślnym zachowaniem jest ignorowanie zewnętrznych. |
-E | Jeśli podano ten przełącznik, podobnie jak dla -e , jednak nie bierze on pod uwagę zewnętrznych ze wskazanymi bezpośrednio wersjami, gdy zakres wersji wewnątrz nich jest jedyną wersją wskazaną przez atrybuty. W ten sposób nie dochodzi do wersji mieszanych. |
-x | Jeśli opcja ta zostanie podana SubWCRev wypisze numery wersji w formacie HEX. |
-X | Jeśli opcja ta zostanie podana SubWCRev wypisze numery wersji w formacie HEX z przedrostkiem '0X'. |
-F | Jeśli opcja ta zostanie podana SubWCRev pominie wszystkie pliki .subwcrevignore i doda wszystkie pliki. |
-q | Jeśli ta opcja jest podana, SubWCRev wykona zamianę słów kluczowych bez pokazywania statusu kopii roboczej w stdout. |
Jeśli nie wystąpił błąd, SubWCRev zwraca zero. Jednak gdy błąd się pojawi, komunikat błędu jest wypisywany do stderr i wyświetlany na konsoli. Zaś zwracane kody błędów to:
Tabela 6.2. Lista kodów błędów SubWCRev
Kod Błędu | Opis |
---|---|
1 | Błąd składni. Jeden lub więcej argumentów linii poleceń jest nieprawidłowy. |
2 | Plik lub folder wskazany w linii poleceń nie został znaleziony. |
3 | Nie dało się otworzyć pliku wejścia lub nie dało się utworzyć pliku docelowego. |
4 | Nie dało się przydzielić pamięci. Mogło się to zdarzyć jeśli na przykład plik źródłowy jest zbyt duży, |
5 | Plik źródłowy nie może być poprawnie zeskanowany. |
6 | Błąd SVN: Subversion zwróciło błąd podczas próby odnalezienia przez SubWCRev informacji z kopii roboczej. |
7 | Kopia robocza zawiera lokalne zmiany. Wymaga to przełącznika -n . |
8 | Kopia robocza zawiera różne wersje. Wymaga to przełącznika -m . |
9 | Plik docelowy już istnieje. Wymaga to przełącznika -d . |
10 | Wskazana ścieżka nie prowadzi do kopii roboczej ani nie stanowi jej części. |
11 | Kopia robocza zawiera niewersjonowane pliki lub foldery. Wymaga to ustawienia opcji -N . |