Подстановка ключевых слов

Если указаны исходный и целевой файлы, SubWCRev копирует исходный файл в целевой, выполняя подстановку ключевых слов следующим образом:

Таблица 6.3. Список доступных ключевых слов

Ключевое словоОписание
$WCREV$Заменяется на наибольшую зафиксированную ревизию в рабочей копии.
$WCREV&$Заменяется на наибольшую зафиксированную ревизию в рабочей копии, дополняется значением после символа &. Например: $WCREV&0xFFFF$
$WCREV-$, $WCREV+$Заменяется на наибольшую зафиксированную ревизию в рабочей копии, добавляя или отнимая значение после символа + или -. Например: $WCREV-1000$
$WCDATE$, $WCDATEUTC$Заменяется на дату и время фиксации наибольшей ревизии. По умолчанию используется международный формат: yyyy-mm-dd hh:mm:ss. В качестве альтернативы вы можете указать пользовательский формат, который будет использован в strftime(), например: $WCDATE=%a %b %d %I:%M:%S %p$. Для получения списка возможных символов форматирования обратитесь к онлайн-справочнике.
$WCNOW$, $WCNOWUTC$Заменяется на текущую системную дату/время. Может быть использовано для указания времени сборки. Может быть использован формат даты/времени, описанный для $WCDATE$.
$WCRANGE$Заменяется на диапазон ревизий обновления в рабочей копии. Если рабочая копия в согласованном состоянии, то это будет единственная ревизия. Если рабочая копия содержит смешанные ревизии, или устарела, или преднамеренно была обновлена до определенной ревизии, то диапазон будет показан в форме 100:200.
$WCMIXED$$WCMIXED?TText:FText$ заменяется на TText, если есть смешанные обновления ревизий, или на FText, если нет.
$WCMODS$$WCMODS?TText:FText$ заменяется на TText, если были локальные изменения, или на FText, если не было.
$WCUNVER$$WCUNVER?TText:FText$ заменяется на TText если в рабочей копии есть неверсированные элементы, или FText если нет.
$WCEXTALLFIXED$Если все внешние изменения заменены на явные. то $WCEXTALLFIXED?TText:FText$ заменяется на TText. Иначе он заменяется на FText.
$WCISTAGGED$Если URL хранилища содержит шаблон классификации тегов. то $WCISTAGGED?TText:FText$ заменяется на TText. Иначе он заменяется на FText.
$WCURL$Заменяется на URL хранилища той рабочей копии, путь к которой был передан SubWCRev.
$WCINSVN$$WCINSVN?TText:FText$ заменяется на TText, если элемент версирован, или на FText, если нет.
$WCNEEDSLOCK$$WCNEEDSLOCK?TText:FText$ заменяется на TText, если у элемента установлено свойство svn:needs-lock, или на FText, если нет.
$WCISLOCKED$$WCISLOCKED?TText:FText$ заменяется на TText если элемент заблокирован, или на FText, если нет.
$WCLOCKDATE$, $WCLOCKDATEUTC$Заменяется на дату блокировки. Может быть использован формат даты/времени, описанный для $WCDATE$.
$WCLOCKOWNER$Заменяется на имя владельца блокировки.
$WCLOCKCOMMENT$Заменяется на комментарий блокировки.
$WCUNVER$$WCUNVER?TText:FText$ заменяется на TText, если в рабочей копии присутствуют неверсионные файлы или каталоги, или на FText, если таких файлов нет.


SubWCRev напрямую не поддерживает вложение выражений, поэтому вы не можете использовать, к примеру, выражение

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

Но вы можете обойти это с помощью других средств. Например,

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

Подсказка

Некоторые их этих ключевых слов применяются к отдельным файлам, а не ко всей рабочей копии, поэтому имеет смысл использовать их, когда SubWCRev вызывается для сканирования одного файла. Это относится к $WCINSVN$, $WCNEEDSLOCK$, $WCISLOCKED$, $WCLOCKDATE$, $WCLOCKOWNER$ и $WCLOCKCOMMENT$.