2009-06-17 12 views
3

TortoiseSVNへの初心者の合計です。私は、私がSubversionにしたいくつかのコミットのログメッセージを変更する必要があります。私は自分の変更を行い、すべてが元の状態に戻ることを望みます。つまり、コミット後に何も変更することはできません。TortoiseSVNのpre-revprop-changeフック

この投稿(What is a pre-revprop-change hook in SVN, and how do I create it?)によると、これを行うにはpre-revprop-change.batファイルを作成する必要があることを理解しています。

私の質問は、このbatファイルを追加してログメッセージを変更し、batファイルを削除した場合、以前の状態(ログメッセージは編集不可能)に戻るかどうかです。私はバットファイルを自分で実行してから、変更を元に戻すための別のスクリプトを用意していますか?

ありがとうございます!

答えて

4

申し訳ありませんが、私は元の回答であなたの質問を誤解しました。

svn propeditコマンドをリビジョン(ログメッセージプロパティーのsvn:logなど)で正しく使用するには、リビジョンプロパティの変更を拒否することがデフォルトの動作であるため、pre-revprop-changeフックが必要です。 pre-revprop-changeフックを追加する最も簡単な方法はpre-revprop-change.tmplファイル(svnディレクトリの/ repository-name/hooksにあります)のコピーを作成し、 revprop-changeを実行可能にします(chmod a+x)。

propeditコマンドを実行した後、フックを削除してデフォルトの動作に戻すか、常にゼロ以外の戻りコードで終了するように変更することができます。 nnnはリビジョン番号です

echo "My new commit message." > newmsg.txt 
svnadmin setlog path/to/repository -r nnn newmsg.txt --bypass-hooks 

+0

ありがとう –

2

別のオプションは、ログメッセージを変更するためのsvnadminを使用することです。

0

this questionからの回答を使用して、revreprop-change前のフックコードを取得します。ファイルを作成し、リポジトリのhooksディレクトリに配置します。これで、ログメッセージを変更できます。ログメッセージをこれ以上変更できないようにするには、pre-revprop-change.batを削除します。