Manuals

Zastępowanie słów kluczowych

Jeśli pliki źródłowy i docelowy są dostarczane, SubWCRev kopiuje źródło do celu, wykonując substytucji słów kluczowych w następujący sposób:

Tabela 6.3. Lista dostępnych słów kluczowych

Słowo kluczoweOpis
$WCREV$Zastępowane przez najwyższą wersję zatwierdzenia w kopii roboczej.
$WCREV&$Zastąpiona przez najwyższą wersję zatwierdzenia w kopii roboczej, połączona koniunkcją logiczną AND z wartością po znaku &. Na przykład: $WCREV&0xFFFF$
$WCREV-$, $WCREV+$Zastąpiona przez najwyższą wersję zatwierdzenia w kopii roboczej, z wartością po + lub - odpowiednio dodaną lub odjętą. Na przykład: $WCREV-1000$
$WCDATE$, $WCDATEUTC$Zastępowane przez datę/czas wykonania najwyższej wersji zatwierdzenia. Domyślnie używany jest format międzynarodowy: yyyy-mm-dd hh:mm:ss. Alternatywnie, można określić niestandardowy format, który będzie używany z strftime(), na przykład: $WCDATE=%a %b %d %I:%M:%S %p$. Aby uzyskać listę dostępnych znaków formatowania, spójrz na odnośnik internetowy.
$WCNOW$, $WCNOWUTC$Zastępowane przez datę/czas systemowy. Może zostać wykorzystane do wskazywania czasu kompilacji. Można zastosować formatowanie jak opisano dla $WCDATE$.
$WCRANGE$Zastępowane przez zakres wersji aktualizacji z kopii roboczej. Jeśli kopia robocza jest w stanie spójnym, będzie to jedna wersja. Jeśli kopia robocza zawiera różne zmiany, albo ze względu na nieaktualność, albo z powodu celowej aktualizacji do wersji, to zakres zostanie pokazany w formacie 100:200.
$WCMIXED$$WCMIXED?TText:FText$ otrzymuje wartość TText jeśli występują mieszane wersje aktualizacji albo FText, jeśli nie.
$WCMODS$$WCMODS?TText:FText$ otrzymuje wartość TText jeśli występują lokalne modyfikacje albo FText, jeśli nie.
$WCUNVER$$WCUNVER?TText:FText$ jest zastąpione przez TText jeśli w kopii roboczej znajdują się niewersjonowane obiekty, lub FText jeśli nie.
$WCEXTALLFIXED$$WCEXTALLFIXED?TText:FText$ jest zastępowane przez TText jeśli wszystkie zewnętrzne są osadzone w określonej wersji lub przez FText w przeciwnym przypadku.
$WCISTAGGED$$WCISTAGGED?TText:FText$ jest zastępowane przez TText jeśli adres URL repozytorium zawiera znaczniki wzorca klasyfikacji lub przez FText w przeciwnym przypadku.
$WCURL$Zastąpione przez URL repozytorium dla ścieżki kopii roboczej przekazanej do SubWCRev.
$WCINSVN$$WCINSVN?TText:FText$ otrzymuje wartość TText jeśli wejście jest wersjonowane albo FText, jeśli nie.
$WCNEEDSLOCK$$WCNEEDSLOCK?TText:FText$ otrzymuje wartość TText jeśli wejście ma ustawiony atrybut svn:needs-lock albo svn:needs-lock, jeśli nie.
$WCISLOCKED$$WCISLOCKED?TText:FText$ otrzymuje wartość TText jeśli wejście jest zablokowane albo FText, jeśli nie.
$WCLOCKDATE$, $WCLOCKDATEUTC$Zastępowane datą blokady. Formatowanie może być dostosowane jak opisano dla $WCDATE$.
$WCLOCKOWNER$Zastępowane przez nazwę właściciela blokady.
$WCLOCKCOMMENT$Zastępowane komentarzem blokady.
$WCUNVER$$WCUNVER?TText:FText$ został zastąpiony przez TText jeśli w kopii roboczej znajdują się niewersjonowane pliki lub foldery, lub FText jeśli nie.


SubWCRev nie obsługuje bezpośrednio zagnieżdżania wyrażeń, więc nie można na przykład używać wyrażeń takich jak:

#define SVN_REVISION "$WCMIXED?$WCRANGE$:$WCREV$$"

Ale zazwyczaj można to obejść w inny sposób, na przykład:

#define SVN_RANGE $WCRANGE$
#define SVN_REV $WCREV$
#define SVN_REVISION "$WCMIXED?SVN_RANGE:SVN_REV$"

Podpowiedź

Niektóre z tych słów kluczowych stosuje się do pojedynczych plików, a nie do całej kopii roboczej, więc ma to sens tylko do korzystania z tych, kiedy SubWCRev jest wywołany do skanowania pojedynczego pliku. Dotyczy to $WCINSVN$, $WCNEEDSLOCK$, $WCISLOCKED$, $WCLOCKDATE$, $WCLOCKOWNER$ i $WCLOCKCOMMENT$.

TortoiseSVN homepage