2013-11-27 16 views
5

特定のリポジトリからSubversionコミットを処理するいくつかのツールのトラブルシューティングを行っています。これは上の特定のファイルに対するアクセス許可が不足しているためである私は疑うSubversion著者、日付とメッセージ

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


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

:ほとんどのリビジョンが正しく表示されますが

は、「SVNのログには、」いいえ、著者、日付やメッセージで一部リビジョンを返します変更されたパスこれは単純に権限の不足以上のものでしょうか?

答えて

2

著者または日付の不足は、アクセス権の問題の兆候ではありません。ログメッセージがない場合は、アクセス権の問題の兆候である可能性があります。

まず最初に、Subversionは実際にはsvn:author、svn:dateまたはsvn:logプロパティを実際に何かに設定する必要はありません。一般的に、誰かがpropdelコマンドでプロパティを削除しない限り(例えば、svn propdel svn:author --revprop -r 1234 $URL)、svn:authorまたはsvn:date空のないコミットで終わることはありません。 Subversionはあなたにログメッセージを残すことを勧めようとしますが、コミットフックによって制限されていない限り、ブランクにすることもできます。誰かが故意に改訂を行った可能性があります。これは、Subversionコミットを処理するために使用しているツールが、これらの値の不足を処理できる必要があることを意味します。

パスベースの認証(authz-dbでsvnserveまたはAuthzSVNAccessFile with httpd)を使用している場合、リビジョンによって変更されたパスにアクセスすると、表示できるものが制限されることがあります。特に

  • あなたはすべてのパスへのアクセス権を持っている場合は、あなたが変更されたすべてのパスと、すべてのリビジョンプロパティなどを求めるものが表示されます。
  • 一部のパスにしかアクセスできない場合は、-vオプションを使用した場合にアクセス権が変更されたパスと、svn:authorおよびsvn:dateリビジョンプロパティのみが表示されます。 svn:ログには、アクセス権のないファイルの名前が含まれているため、非表示になります。他のリビジョンのプロパティ(カスタムのものも)は省略されます。
  • リビジョンによって変更されたパスにアクセスできない場合、リビジョンは完全にログ出力から除外されます。
+0

ありがとうございました!それはすごい答えです! – Hakkar

関連する問題