3

コミット後にファイルの svn プロパティを編集する必要があります。そのため、コミット後のスクリプトを使用したいと思います。

例:

と呼ばれるファイルをコミットするときにexport値が設定されたプロパティが呼び出されます 。コミットが成功した後、コミット後のフックがあり、それはいくつかのスマートなことを行います (それは私の質問には関係ありません)。終了後に変更する必要があります。プロパティを のような新しい値に変更 (または削除) します。testexample.exexportsucceeded

コマンドラインでは、これを使用します:

svn propedit "export"  file:///svn/repositoryName/path/to/file/in/repository/example.ex

これにより、システム エディターが開き、vi値が表示されますtest。好きなように変更し、次のようなviコマンドでファイルを保存して終了できます:wq

Subversion はこのようなメッセージを返します

"svn-prop.tmp" 1L, 10C written
Set new value for property 'export' on file:///svn/repositoryName/path/to/file/in/repository/example.ex'
Committed revision 67.

こんなに元気。しかし、私が言ったように、vi を制御できないコミット後のスクリプトでそれが必要です (または私が間違っていますか?)。

そのため、Subversion はコマンドにファイルを追加する可能性を与えてくれますpropedit。ファイルには、新しい値だけが含まれていますsucceeded

新しいコマンドは次のようになります。

svn propedit "export"  file:///svn/repositoryName/path/to/file/in/repository/example.ex --file /path/to/propertyValueFile/propValue.file

ここに問題があります。最後のコマンドが機能しません。再びvi開き、値を手動で変更する必要があります。なんで?私は何を間違っていますか?

4

2 に答える 2

2

私は解決策を見つけました。

svn propedit "export" file:///svn/repositoryName/path/to/file/in/repository/example.ex --file /data/svn/intranet/hooks/fileWithLogMessage --editor-cmd "echo succeeded >"

--editor-cmdは別のエディターを提供し、私は propedit を裏切ることができecho newValueForPropます。

そして今、それは魅力のように機能します。

--

于 2012-05-13T06:48:16.277 に答える
0

svn propsetではなく使ってみてくださいsvn propedit。を使用すると、propedit 常に外部エディターが開きます...それが目的です。

于 2012-05-12T16:12:01.567 に答える