SubWCRev - это консольная программа Windows, которая может быть использована для чтения статуса рабочей копии Subversion и, при необходимости, для выполнения подстановки ключевых слов в шаблонных файлах. Это часто используется как часть процесса сборки, в качестве средства для внедрения информации из рабочей копии в собираемый объект. В основном это применяется для включения номера ревизии в диалог «О программе».
SubWCRev читает статус Subversion всех файлов в рабочей копии, по умлочанию исключая внешние ссылки. SubWCRev записывает наибольшую найденную ревизию и фиксирует время изменения этой ревизии, также записывается были ли локальные изменения в рабочей копии или обнвление смешанных ревизий. Номер ревизии, диапазон ревизий обновления и статус модификации выводится в stdout.
SubWCRev.exe вызывается из командной строки или скрипта и управляется при помощи параметров командной строки.
SubWCRev ПутьКРабочейКопии [Файл_Исходной_Версии Файл_Целевой_Версии] [-nmdfe]
ПутьКРабочейКопии
- это путь к проверяемой рабочей копии. Вы можете вызывать SubWCRev только для рабочих копий, но не можете непосредственно для хранилища . Путь может быть как абсолютным, так и относительным к текущей рабочей папке.
Если вы желаете, чтобы SubWCRev выполняла подстановку ключевых слов, чтобы поля вроде ревизии из хранилища и адреса URL сохранялись в текстовый файл, вы должны предоставить шаблонный Файл_Исходной_Версии
и выходной Файл_Целевой_Версии
, который будет содержать версию шаблона с произведёнными подстановками.
Вы можете указать шабоны игнорирования для SubWCRev, чтобы исключить определенные файлы и папки из наблюдения. Шаблоны считываются из файла с именем .subwcrevignore
. Файл считывается из определенной папки, а также из корневой папки рабочей копии. Если файл не существует, то никакие файлы и папки не игнорируются. Файл .subwcrevignore
может содержать несколько шаблонов, разделенных новой строкой. Шаблоны сопоставляются с путями корня хранилища и с путями каталога, где находится файл .subwcrevignore
. Например, для игнорирования всех файлов в папке doc
рабочей копии TortoiseSVN файл .subwcrevignore
должен содержать следующие строки:
/trunk/doc /trunk/doc/*
Или, если файл .subwcrevignore
извлечен из trunk и находится в корне рабочей копии, то он должен содержать шаблоны
doc doc/*
- такие же, как и в примере выше.
Чтобы игнорировать все изображения, шаблоны игнорирования могут быть установлены следующим образом:
*.png *.jpg *.ico *.bmp
Шаблоны игнорирования чувствительны к регистру, также как в Subversion.
Чтобы создать файл с начальной точкой в проводнике Windows введите .subwcrevignore.
. Обратите внимание на точку в конце.
Есть некоторое количество опциональных параметров, влияющих на работу SubWCRev. Если вы используете более одного, то они должны быть заданы одной группой, например, -nm
, а не -n -m
.
Таблица 6.1. Список доступных параметров командной строки
Параметр | Описание |
---|---|
-n | Если указан данный параметр, SubWCRev будет завершаться с ERRORLEVEL 7 , если рабочая копия содержит локальные изменения. Это может быть использовано для предотвращения сборки в случае наличия незафиксированных изменений. |
-N | Если указан данный параметр, SubWCRev будет завершаться с ERRORLEVEL 11 , если рабочая копия содержит неверсированные элементы, которые не игнорируются. |
-m | Если указан этот параметр, SubWCRev будет завершаться с ERRORLEVEL 8 , если рабочая копия содержит смешанные ревизии. Это может использоваться для предотвращения сборки в случае частично обновленной рабочей копии. |
-d | Если указан этот параметр, SubWCRev будет завершаться с ERRORLEVEL 9 , если целевой файл уже существует. |
-f | Если указан этот параметр, SubWCRev будет включать ревизию последнего изменения папки. Поведение по умолчанию - использовать при получении номеров ревизий только файлы. |
-e | Если указан этот параметр, SubWCRev будет проверять папки, включённые при помощи svn:externals , но только если они из того же хранилища. Поведение по умолчанию - игнорировать внешние включения. |
-E | Если указан ключ, такой как -e , то внешние и явные изменения игнорируются, в случае если эти изменения - внешние изменения в параметрах. |
-x | Если указан этот параметр, SubWCRev будет выводить номера ревизий в шестнадцатеричном виде. |
-X | Если указан этот параметр, SubWCRev будет выводить номера ревизий в шестнадцатеричном виде, с префиксом '0X'. |
-F | Если задан этот переключатель, SubWCRev будет игнорировать любые .subwcrevignore файлы и включит все файлы. |
-q | Если указан данный параметр, SubWCRev выполнит подстановку ключевых слов без вывода статуса рабочей копии в stdout. |
Если ошибок нет, то SubWCRev возвращает ноль. Но, в случае возникновения ошибки сообщение об ошибке пишется в stderr и выводится на консоль. Возвращаемые коды ошибок следующие:
Таблица 6.2. Список кодов ошибок SubWCRev
Код ошибки | Описание |
---|---|
1 | Ошибка синтаксиса. Один или несколько параметров в командной строке неверны. |
2 | Файл или папка указанные в команде не были найдены |
3 | Входной файл не может быть открыт, или целевой файл не может быть создан. |
4 | Не удалось выделить память. Это может произойти если, например, исходный файл слишком большой. |
5 | Исходный файл не может быть проверен должным образом. |
6 | Ошибка SVN: Subversion вернул ошибку когда SubWCRev пытался получить информацию из рабочей копии. |
7 | В рабочей копии есть локальные изменения. Требуется параметр -n . |
8 | В рабочей копии есть смешанные ревизии. Требуется параметр -m . |
9 | Выходной файл уже существует. Требуется параметр -d . |
10 | Указанный путь не является рабочей копией или её частью. |
11 | В рабочей копии имеются неверсированные файлы или папки. Требуется параметр -N . |