Как установить свойство в SVN для одной ревизии одного файла - PullRequest
4 голосов
/ 17 ноября 2008

У меня есть хранилище Subversion, и есть несколько пользователей, которые проверяют и проверяют информацию. Однако мне также нужно часто проверять работу других людей. Мне нужно отследить оригинального автора работы.

Я думал о создании свойства в SVN, например, "originalauthor", которое могло бы это отследить. В тех случаях, когда это было пусто, я мог использовать автора. Если бы оно было заполнено, я мог бы приписать изменения соответствующим образом.

Однако , я не вижу способа добавить свойство, которое не будет сохраняться в течение нескольких ревизий. Точно так же, похоже, нет способа использовать хуки фиксации, чтобы гарантировать, что свойство «originalauthor» будет удалено, если есть коммит, который его не включает.

Я всегда мог переписать файл паролей на сервере, чтобы я мог зафиксировать его под своим именем пользователя, а затем восстановить исходный файл паролей, но это кажется неуклюжим (и не позволяет мне отслеживать тот факт, что он был зарегистрирован на их от имени). Или я мог бы создать дополнительного пользователя (таким образом, для каждого «пользователя А» есть «прокси-пользователь пользователя»), который я мог бы использовать для проверки изменений. Ни один из этих вариантов не кажется привлекательным.

Есть предложения или идеи?

Ответы [ 2 ]

9 голосов
/ 17 ноября 2008

Subversion имеет два вида свойств

  • Свойства файла или каталога. Эти свойства имеют версии
  • Свойства ревизии. Они относятся к возврату, к которому они применяются.

Первый тип полезен, только если вы хотите, чтобы все версии файла были помечены.

Чтобы отметить конкретный путь, сам проект Subversion добавляет оригинального автора к сообщению журнала в специальном формате, который читается сценарием contriblyzer:

Patch by: Jan Jansen <jan@example.com>

Но если у вас есть инструменты (и вы можете использовать subversion 1.5+), вы также можете использовать

svn commit --with-revprop "original-author=Jan Jansen <jan@example.com>" 

для создания свойства ревизии orignal-author.

Чтобы получить свойство, вы можете использовать svn log как:

svn log <...> --with-revprop original-author
0 голосов
/ 17 ноября 2008

Почему бы не создать отдельную ветку для всех других пользователей (которым нужны прокси-серверы), а затем, когда вы просматриваете их (я полагаю, что вы регистрируетесь от их имени, потому что им не разрешено это делать), вы переходите в транк?

Я не уверен, почему другим пользователям не разрешено регистрироваться самостоятельно. Возможно, если вы объясните, что мы можем предоставить лучшие ответы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...