Manuals

Rozdział 6. Program SubWCRev

Spis treści

Linia poleceń SubWCRev
Zastępowanie słów kluczowych
Przykład słowa kluczowego
Interfejs COM

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.

Linia poleceń SubWCRev

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

Ważne

Wzorce ignorowania są wrażliwe na wielkość liter, tak jak sam Subversion.

Podpowiedź

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łącznikOpis
-nJeś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.
-NJeśli ta opcja zostanie podana, SubWCRev zakończy się z ERRORLEVEL 11 jeśli kopia robocza zawiera niewersjonowane obiekty, które nie sa ignorowane.
-mJeś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.
-dJeśli opcja ta zostanie podana SubWCRev wyjdzie z ERRORLEVEL 9, jeżeli plik docelowy już istnieje.
-fJeś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.
-eJeś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.
-EJeś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.
-xJeśli opcja ta zostanie podana SubWCRev wypisze numery wersji w formacie HEX.
-XJeśli opcja ta zostanie podana SubWCRev wypisze numery wersji w formacie HEX z przedrostkiem '0X'.
-FJeśli opcja ta zostanie podana SubWCRev pominie wszystkie pliki .subwcrevignore i doda wszystkie pliki.
-qJeś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łęduOpis
1Błąd składni. Jeden lub więcej argumentów linii poleceń jest nieprawidłowy.
2Plik lub folder wskazany w linii poleceń nie został znaleziony.
3Nie dało się otworzyć pliku wejścia lub nie dało się utworzyć pliku docelowego.
4Nie dało się przydzielić pamięci. Mogło się to zdarzyć jeśli na przykład plik źródłowy jest zbyt duży,
5Plik źródłowy nie może być poprawnie zeskanowany.
6Błąd SVN: Subversion zwróciło błąd podczas próby odnalezienia przez SubWCRev informacji z kopii roboczej.
7Kopia robocza zawiera lokalne zmiany. Wymaga to przełącznika -n.
8Kopia robocza zawiera różne wersje. Wymaga to przełącznika -m.
9Plik docelowy już istnieje. Wymaga to przełącznika -d.
10Wskazana ścieżka nie prowadzi do kopii roboczej ani nie stanowi jej części.
11Kopia robocza zawiera niewersjonowane pliki lub foldery. Wymaga to ustawienia opcji -N.


TortoiseSVN homepage