2013-11-27 2 views
5

Я искал некоторые инструменты, которые обрабатывают Subversion, заимствуется из определенного репозитория.Subversion no author, date and message

Хотя корректно отображается большинство ревизий «журнал СВНЫ» возвращает некоторые ревизии с не автором, датой или сообщением:

svn log http://myrepository.com -r 123456 
------------------------------------------------------------------------ 
r123456 | (no author) | (no date) | 1 line 


------------------------------------------------------------------------ 

Я подозреваю, что это из-за отсутствия прав доступа для конкретных файлов на измененный путь. Может быть, это нечто большее, чем просто отсутствие разрешений?

ответ

2

Отсутствие автора или даты не является признаком проблемы с разрешениями. Отсутствие сообщения журнала может быть признаком проблемы с разрешениями.

Прежде всего, Subversion фактически не требует svn: author, svn: date или svn: свойства журнала фактически устанавливаются на что угодно. В общем, вы не закончите с фиксацией без svn: author или svn: date empty, если кто-то не удалил свойства командой propdel (например, svn propdel svn:author --revprop -r 1234 $URL). Subversion пытается побудить вас оставить сообщение журнала, но вы также можете дать ему пустой, если только это не ограничено фиксацией фиксации. Поэтому вполне возможно, что кто-то намеренно внес эти изменения в ревизию. Это также означает, что любые инструменты, которые вы используете для обработки транзакций Subversion, должны иметь возможность справиться с отсутствием этих значений.

Что касается разрешений, если вы используете авторизацию на основе пути (authz-db с svnserve или AuthzSVNAccessFile с httpd), то ваш доступ к путям, измененным версией, может ограничивать то, что вы можете видеть.

В частности:

  • Если у вас есть доступ ко всем дорожкам, вы увидите, что вы просите, включая все измененные пути и все свойства ревизии.
  • Если у вас есть доступ только к некоторым путям, вы увидите только те измененные пути, к которым у вас есть доступ, перечисленные при использовании -v, и только свойства svn: author и svn: date. svn: журнал будет скрыт, так как он может содержать имена файлов, к которым у вас нет доступа. Другие свойства ревизий (даже пользовательские) также будут опущены.
  • Если у вас нет доступа ни к одному из путей, измененных версией, то ревизия будет полностью исключена из вывода журнала.
+0

Thanks Ben! Это потрясающий ответ! – Hakkar