2009-02-23 2 views
8

Я работаю над проектом, в котором мы активно используем строку $Id$, сгенерированную subversion, чтобы записать номер версии в документации. Например, мы проанализируем эту строку

$Id: filename 999 2009-02-23 22:51:29Z author $ 

и напечатаем «999» в титульной странице документации.

Но каждый сейчас и потом, после фиксации, информация удаляется, и мы остались только с

$Id$ 

Это, очевидно, ломает вещи немного. Кто-нибудь знает, почему это может произойти?


Хорошо, очевидный ответ был прав; svn:keywords не были установлены для этого файла. Но я клянусь, что они были! Любая идея о том, как/почему svn:keywords был бы очищен от файла, если бы никто не заметил/не сделал ничего специально?

ответ

10

Свойство svn: keywords может быть неправильно установлено в этом файле. Вы должны установить его (по крайней мере) «Id»:

svn ps svn:keywords 'Id' filename.txt 
+0

Спасибо, я должен был сначала проверить это; ключевые слова не были установлены для этого файла, как вы подозреваете, но я клянусь, что они были! –

+0

Если вы используете клиент SVN командной строки, вы можете установить значения по умолчанию для этого материала в файле ~/.subversion/config. Это _may_ также относится к TortoiseSVN, но не цитируйте меня на этом. –

2

Ключевые слова разлагаются на кассе только, если «SVN: ключевые слова» свойство определено. При использовании инструментов просмотра репозитория, таких как ViewSVN, их не следует расширять, т.е. они отображаются как $ Id $.

+0

Итак, если я «потерял» ключевые слова SVN (ключевые слова установлены, но они не были расширены), есть ли способ заставить «checkout», который их расширяет? –

2

Ответ, который вы выбрали, является правильным. Вы также можете посмотреть, как настроить автообъекты, чтобы автоматически включить свойство ключевого слова. См http://svnbook.red-bean.com/en/1.1/ch07s02.html#svn-ch-7-sect-2.4

Когда вы сделали, что вы могли бы время от времени запускать svn_apply_autoprops.py из http://subversion.tigris.org/tools_contrib.html

svn_apply_autoprops.py проверят настройки автосвойств и пройти через репозиторий настройки все это.

0

Хорошо, был очевидный ответ правильный; svn: ключевые слова не были установлены для , что файл уже не был. Но я клянусь, что они были раньше! Любая идея как/почему svn: ключевые слова были бы очищены из файла без кого-либо замечать/делать что-нибудь на цель?

Первая причина, я могу думать, было бы: Если файл был добавлен СВН-а затем переместил/переименовал до первой фиксации свойства авто не применялись.

Ошибка, которая заставляет файл потерять свои свойства в этом случае, будет разрешена в Subversion 1.5.6 и 1.6.0.

6

Убедитесь, что ваш файл находится в UTF-8 и NOT в Unicode. Unicode не расширяется, поскольку SVN считает, что это не текстовые файлы ... Я использовал Notepad Save As UTF-8 для решения проблемы

+2

Я провел 6 часов сегодня, пытаясь понять, почему существующий текстовый файл в SVN не смог получить svn: работа над ключевым словом. Проблема заключалась в кодировании текстового файла. Ты спас меня от сумасшествия! – tyriker

Смежные вопросы