3

まず、これを読んで、おそらくコメントするために時間を割いてくれてありがとう。

概要

ファイルにカスタムSVNプロパティを設定してコミットした後、コミット後にプロパティを表示するためのさまざまなオプションが設定された「svnlog」コマンドを取得できません。私はSVNレッドブックからこのに従って無駄になりました(検索可能性サブセクション)。

私の環境

サーバー:64ビットのWindows Server2008R2で実行されている32ビットのSubVersionServerバージョン1.6.15を使用しています

クライアント:32ビットWindows XPProSP3で実行されているTortoiseSVN1.6.16。

リポジトリは、利用可能なフックがないテストリポジトリです。

私のシナリオ

test.txtという名前のファイルにactive-projectsという名前のカスタムプロパティを設定し、その変更をリポジトリにコミットした後、次のことを実行しようとします。

svn log --with-all-revprops --xml [url_to_test.txt]

--with-all-revpropsを使用すると、カスタムプロパティが表示されるはずですが、残念ながら、上記はXML形式で有効な情報を返しましたが、active-projectsという名前のプロパティとそれぞれの値を持つrevprops要素は含まれていませんでした。

test.txtを含むローカルディレクトリで以下を実行しようとすると、上記と同じ結果が得られました。

svn log --with-all-revprops --xml test.txt

興味深いのは、リポジトリブラウザを介してそのURLでそのファイルの上記のプロパティを確認できることです。test.txtを含むローカルディレクトリで以下を実行すると、プロパティの値が期待どおりに返されます。

svn propget active-projects test.txt

結論

では、 URLまたはローカルパスのいずれかを使用してsvn logコマンドで貴重なアクティブプロジェクトのカスタムプロパティを見つけることができない理由はありますか?概念を誤解しているか、サーバー構成の重要な部分が欠落している可能性があります。あなたの洞察は高く評価されています。

4

1 に答える 1

2

リビジョンプロパティ通常のプロパティを混同しています。リビジョンプロパティはリビジョン全体に設定され、そのリビジョンにのみ適用され(バージョン管理されていませ)、通常のプロパティはアイテム(ディレクトリ/ファイル)ごとに設定され、バージョン管理されます(つまり、それらを変更した場合、以前のリビジョンでも引き続き使用できます。アイテム;それらはdiffすることができます、等)。

アイテムプロパティを設定しましたが、アイテムプロパティでsvn log --with-all-revpropsはなく、リビジョンプロパティを返します。

ここにいくつかのより多くの情報がありsvn propset --helpます:

$svn propset --help
propset (pset, ps): Set the value of a property on files, dirs, or revisions.
usage: 1. propset PROPNAME PROPVAL PATH...
       2. propset PROPNAME --revprop -r REV PROPVAL [TARGET]

1. Changes a versioned file or directory property in a working copy.
2. Changes an unversioned property on a repository revision.
 (TARGET only determines which repository to access.)

これが混乱を解消することを願っています。

于 2012-05-01T14:21:03.923 に答える