我一直在对一些处理Subversion从特定存储库提交的工具进行故障排除。
虽然大多数修订都已正确显示,但“svn log”会返回部分修订版,但没有作者,日期或消息:
svn log http://myrepository.com -r 123456
------------------------------------------------------------------------
r123456 | (no author) | (no date) | 1 line
------------------------------------------------------------------------
我怀疑这是因为缺少对更改路径上特定文件的访问权限。这可能不仅仅是缺乏权限吗?
答案 0 :(得分:3)
缺少作者或日期并不表示权限问题。缺少日志消息可能是权限问题的标志。
首先,Subversion实际上并不需要svn:author,svn:date或svn:log属性实际上设置为任何东西。一般情况下,除非有人使用propdel命令(例如svn propdel svn:author --revprop -r 1234 $URL
)删除了属性,否则不会在没有svn:author或svn:date的情况下结束提交。 Subversion试图鼓励你留下一条日志消息,但你也可以给它一个空白消息,除非它受到提交钩子的限制。因此,完全有可能有人故意对修订进行了这些更改。这也意味着您用于处理Subversion提交的任何工具都应该能够处理缺少这些值。
关于权限,如果您正在使用基于路径的授权(带有svnserve的authz-db或带有httpd的AuthzSVNAccessFile),那么您对修订版修改的路径的访问权限可能会限制您可以看到的内容。
特别是: