2

私は svn リポジトリを持っており、ファイルにカスタム プロパティを追加する可能性を探しています。

後で、特定の値を持つ特定のプロパティを含むすべてのファイルをリポジトリから取得したいと考えています。

例:

labelという値を持つファイルのプロパティを設定したいと思います123_ABC

その後、「123_ABC」というラベルの付いたすべてのファイルをリポジトリから取得したいと考えています。

これはどういうわけか可能ですか?

私はSVNとTortoiseSVNを使用しています

4

2 に答える 2

0

すべてのリビジョンについて、このプロパティを持つすべてのファイルを検索していますか? はい、可能ですが、時間がかかり、簡単ではありません。

$ svn log --diff $REPO

これにより、ログの差分が作成されます。プロパティの違いを見つけると、Subversion がファイルを比較するときと同じように、プロパティの違いを出力します。もちろん、これはログ内のすべてのファイルを比較するため、非常に遅く、大量の出力が生成されます。またはそのようなものを使用grepして、バージョンを見つけることができます。

ただし、これを行うと、階段を下りてスターバックスに行き、待っている間にコーヒーを飲むこともできます. なんてこった、ブロックを下ってその良いコーヒーショップに行き、待っている間にラテを飲みます. いっそのこと、イタリアに飛んで、海岸に駆け下り、待っている間にカフェでラテを飲みましょう。しばらく時間がかかります。

これがあなたをこの習慣から落胆させていると思うなら、良いです!


それとも、現在の作業ディレクトリ内の特定のファイルでこのプロパティを検索しているだけですか? もしそうなら、物事はそれほど悪くはありません:

$ svn plist --depth=infinity --verbose .

これにより、作業ディレクトリ内のすべてのファイルのすべてのプロパティとその値が出力されます。これにはしばらく時間がかかりますが、それほど長くはありません。終了する前に階下のスターバックスに到着できればラッキーです。繰り返しますが、これをパイプしlessて、探しているプロパティを検索します。Windows を使用しているため、このコマンドによって生成された出力を保存し、Notepad++ などを使用してそのファイルを検索します。

于 2012-12-06T16:50:43.923 に答える
0
  1. プロパティの使用の反対方向が暗示されていることを理解する必要があります
  2. 同じファイルの異なるプロパティが同じ値を持つ可能性があるため、プロパティ名を無視してプロパティ値のみが既知のファイルを取得することはできません
  3. あなたの仕事(財産からファイルまで)のためにあなたはしなければなりません
    • リポジトリ内のすべてのファイルに列挙を使用する
    • 適用svn propget label(またはsvn proplist) して結果を確認する
于 2012-12-06T11:39:16.920 に答える