Можно ли установить пользовательские свойства для репозитория SVN?

Я использую SharpSVN API для взаимодействия с репозиториями Subversion, созданными с помощью программного обеспечения VisualSVN Server.

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

Например, у моего репозитория есть имя, которое я могу получить с помощью класса SharpSvn.SvnUriTarget, но я также хотел бы установить для него описание и иметь возможность получить его с помощью некоторого кода.

Я попытался вызвать метод SharpSvn.SvnClient.SetProperty для URL-адреса репозитория, но получаю сообщение об ошибке («Этот аргумент не является допустимым путем. Был указан Uri»).

Если невозможно создать пользовательские свойства для репозитория, я думаю о создании свойств для первой ревизии, а затем всегда ищу ревизию номер 1 и получаю оттуда свойства, если они существуют.

У вас есть идеи получше?


person JulienVan    schedule 02.04.2014    source источник


Ответы (1)


Subversion определяет два типа свойств: свойства узла (прикрепленные к файлу или каталогу) и свойства ревизии.

Свойства ревизии можно изменить без фиксации (но для редактирования после создания ревизии требуется серверный хук), в то время как свойства ревизии изменяются только через фиксацию.

Это действительно зависит от того, что вы делаете, что работает лучше всего. Например. svnsync хранит некоторые свойства ревизии в r0, чтобы отслеживать его состояние, в то время как TortoiseSVN широко использует свойства каталога для своего состояния. Этот последний вариант позволяет различным проектам в одном репозитории использовать разные значения.

В Subversion 1.8 извлечение свойств из «каталога-предка» стало намного дешевле, поскольку для этого мы реализовали оптимизированный (сетевой) API. (Доступно в SharpSvn как SvnClient.InheritedPropertyList())

person Bert Huijben    schedule 16.04.2014
comment
Спасибо, Берт, мне нужно поделиться свойствами со всеми рабочими копиями, поэтому я думаю, что я выберу свойства ревизий на r0. - person JulienVan; 17.04.2014