Как упоминалось выше, вы можете использовать auto-properties , чтобы сделать это, но вы должны задать себе один большой вопрос:
- Почему вы хотите использовать ключевые слова?
Когда вы занимаетесь разработкой, вы можете легко использовать различные команды svn
, чтобы получить любую информацию, которая будет храниться в ключевых словах, поэтому в этом нет необходимости.
Некоторые люди утверждают, что ключевые слова необходимы, когда программное обеспечение находится на сайте клиента, но есть более эффективные механизмы для проверки того, какую версию вашего программного обеспечения вы используете.Например, во время компиляции вы можете создать файл с более значимым идентификатором ревизии (может быть, номером выпуска и датой сборки) и отобразить его как «окно с информацией».Идентификатор более осмысленный.
Я также знаю, что не могу доверять ключевым словам, содержащимся в сценариях оболочки, которые могут быть на сайте клиента.Сценарий оболочки может указывать номер редакции, но сценарий оболочки мог быть отредактирован.
Если вам действительно это действительно нужно, и это то, что нужно применять на вашем сайте, вам нужно предварительнотриггер триггера для сбоя, когда свойство ключевого слова отсутствует в файле.Авто-свойства могут быть установлены только для клиента.Это означает, что вы должны убедиться, что у каждого из ваших разработчиков есть этот набор.Каждый раз, когда они получают новый компьютер, вам придется проверять его снова.
Также это не гарантирует, что свойство находится в файле.Старые файлы в хранилище не будут добавлены волшебным образом, даже если они отредактированы.(Авто-свойства добавляются только при добавлении файла в хранилище).Нет ничего, что мешало бы разработчику удалить его.Или, изменив их авто-свойства в настройках.
Вы должны использовать триггер предварительной фиксации, чтобы гарантировать, что свойство svn: Keywords находится в каждом файле, где оно требуется, и что оно установлено правильно.Хук pre-commit просто откажется совершать транзакцию, если это свойство не установлено.Застройщик будет вынужден добавить свойство.После некоторых попыток разработчики настроят свой клиент Subversion для использования авто-свойств и сохранят его сами.
У меня просто есть триггер предварительной фиксации , который может обеспечить это.Триггер написан на Perl, но не требует ничего, кроме стандартных модулей, поэтому его легко установить.Вы можете настроить его так, чтобы он указывал, для каких файлов требуется ключевое слово и какое оно должно быть установлено.Если файл фиксируется и для него не задано правильное значение атрибута svn: Keywords, фиксация завершится неудачно, и в сообщении об ошибке будет объяснено, почему произошла ошибка фиксации и что нужно сделать разработчику.