Проблемы с автоподзаводом Subversion

Это сводит меня с ума, поэтому любые советы других пользователей будут приветствоваться. Я использую Subversion с копией VisualSVN 1.6.1, установленной на сервере Windows. На моем ПК я использую комбинацию TortoiseSVN и замечательного плагина AnkhSVN Visual Studio. Все работает как мечта, но теперь я пытаюсь использовать функцию svn:keywords, чтобы включить $Id$ в начало всех исходных файлов. Теперь для существующих файлов я могу редактировать свойства SVN и добавлять это ключевое слово, и все работает нормально, но я хочу, чтобы это делалось автоматически для новых файлов - и я не могу заставить его работать.

Согласно документации, вам необходимо отредактировать специальный файл Subversion Config, расположенный в вашей папке C:\Documents and Settings\<user>\Application Data\Subversion. На моем компьютере уже была копия этого файла, поэтому я изменил ее, чтобы она выглядела так:

[miscellany]
enable-auto-props = yes

[auto-props]
*.cpp = svn:eol-style=native;svn:keywords=Author Date Id HeadURL Revision
*.hpp = svn:eol-style=native;svn:keywords=Author Date Id HeadURL Revision
*.rc = svn:eol-style=native;svn:keywords=Author Date Id HeadURL Revision
*.rc2 = svn:eol-style=native;svn:keywords=Author Date Id HeadURL Revision
*.cc = svn:eol-style=native;svn:keywords=Author Date Id HeadURL Revision
*.c = svn:eol-style=native;svn:keywords=Author Date Id HeadURL Revision
*.h = svn:eol-style=native;svn:keywords=Author Date Id HeadURL Revision
*.wsf = svn:eol-style=native;svn:keywords=Author Date Id HeadURL Revision
*.js = svn:eol-style=native;svn:keywords=Author Date Id HeadURL Revision
*.htm = svn:eol-style=native;svn:keywords=Author Date Id HeadURL Revision
*.html = svn:eol-style=native;svn:keywords=Author Date Id HeadURL Revision
*.css = svn:eol-style=native;svn:keywords=Author Date Id HeadURL Revision

Затем я добавил новый файл в существующий проект Visual Studio (из Visual Studio), добавил $Id$ в начало и зафиксировал его, но, увы, свойство svn:keywords не устанавливается.

Кто-нибудь знает, как заставить это работать? Я даже пробовал добавлять настройки в реестр (в HKEY_CURRENT_USER\Software\Tigris.org\Subversion\Config), но все равно безуспешно. Затем я попытался возиться с файлами конфигурации на самом сервере SVN, но, похоже, ничего не работает.

Я явно упустил что-то совершенно очевидное!


person Rob    schedule 27.11.2008    source источник


Ответы (4)


Вы правы, проблема в АнхСВН. Свойства ключевых слов не будут добавлены автоматически, если новый файл добавлен в Visual Studio (с AnkhSVN 2.0.5250). Он будет добавлен только в том случае, если вы добавите файл с помощью Tortoisvn.

Я скачал пробную версию VisualSVN (плагины к Visual Studio). У него нет этой проблемы. Свойства автоматически добавляются к новым файлам, добавляемым в Visual Studio.

person Community    schedule 15.01.2009

Кажется, ответ - просто глупые цитаты вокруг реальных ключевых слов :)

[auto-props]
*.cpp = svn:eol-style=native;svn:keywords="Author Date Id HeadURL Revision"
person LenW    schedule 27.11.2008
comment
Моя проблема заключалась в том, чтобы внести это изменение на сервере, когда это (к сожалению) необходимо сделать на клиенте! - person HDave; 31.10.2010
comment
Также обратите внимание, что автопропуск в файле конфигурации вступает в силу только при добавлении или импорте. Если ваш файл уже находится под управлением svn, вам нужно будет вручную присвоить ему свойства ключевого слова. - person Andrej Panjkov; 02.03.2012

Если вы хотите быть уверены, что выбрали правильный файл конфигурации, используйте кнопку редактирования TortoiseSVN: Subversion Wiki.

Единственная похожая проблема, которую я смог найти, - это пользователь, жалующийся на то, что он не работает с расширениями файлов в верхнем регистре, но это для Fedora, а не для Windows: ссылка

person schnaader    schedule 27.11.2008

Похоже, это проблема с AnkhSVN. Я провел несколько тестов за пределами Visual Studio, используя TortoiseSVN для добавления файлов, и он начал работать (с использованием моего пользовательского файла конфигурации). Я попробую последний AnkhSVN, чтобы посмотреть, имеет ли это значение.

Я бы предпочел, чтобы это было сделано на стороне сервера, но, похоже, это зависит от пользователя.

В любом случае, спасибо за указатели, Лен и Шнаадер.

person Rob    schedule 28.11.2008
comment
AnkhSVN кэширует ваши пользовательские настройки Subversion. Вам следует перезапустить Visual Studio, чтобы повторно применить глобальные настройки. - person Bert Huijben; 28.11.2008