web-dev-qa-db-ja.com

SVNコミットメッセージをさかのぼって変更しますか?

多数のSVNコミットメッセージを別の構造に書き直したいと思います。カテゴリのプレフィックス。から:

"foo" now accepts "bar" format for connection string.

が欲しいです

core - database - "foo" now accepts "bar" format for connection string.

これを行う簡単な方法はありますか?notsvndumpfilterを使用してリポジトリ全体をダンプすることを含みますか?

私はクライアント側でTortoiseSVNを使用し、サーバー側でVisualSVNを使用しています。 (VisualSVNは、古典的なsvnのラッパーです。これは、コマンドラインからも話すことができます。)

83
Pekka 웃

はい、コミットメッセージは変更できます。これらは、通常のファイルプロパティと同様に、リビジョンのプロパティとして実装されます。

TortoiseSVNログウィンドウで、コミットを右クリックして[ログメッセージの編集]を選択できます。

96
JesperE

確かにログメッセージをさかのぼって変更できます。これは FAQで で説明されています。 VisualSVNのコマンドラインインターフェイスがどのように機能するかわかりませんが、Vanilla svnの場合はコマンドは

svn propset -r N --revprop svn:log "new log message" URL

リポジトリをダンプして再ロードせずにすべてのリビジョンに対してこれを実行する場合は、このコマンドをスクリプト化して、すべてのリビジョンのリストを操作できます。リポジトリのサイズにもよりますが、この方法を実行するには時間がかかりますが、原則として実行できない理由はなく、ダンプとリロードは必要ありません。

また、Vanilla SVNには、svnlookというコマンドがあります。これは、リポジトリファイルを直接操作する一種の管理ツールです。このツールはURLを理解しません(リポジトリへのファイルシステムレベルのアクセス権が必要です)が、muchより高速です。構文は少し異なりますが、そのツールを使用して同じ方法でプロパティを変更できます。

58
Adam Bellaire

はい、できますが、最初にリポジトリで有効にする必要があります。

リポジトリのhooksディレクトリには、pre-revprop-change.tmplというファイルがあります。それが何をするかについてのコメントのページが2つあり、ログのプロパティの変更のみを許可するように設定されています。これを有効にするには、ファイルの名前をpre-revprop-changeに変更して実行可能にします(Windowsをホストに使用している場合、POSIXでホストされるSubversionを想定しているので、 このメッセージ が便利です) )。

リポジトリで許可されたら、Tortoiseを使用して、コミットの右クリックメニューからコミットのログメッセージを変更するか、コマンドラインを使用できます。

26
Andrew Aylett

つかいます svn propset上のsvn:logプロパティ。 svn bookの例

7
Josh Lee

svn propedit -r N --revprop svn:log URL

すでに作業ディレクトリにいる場合、上記のURLはオプションです。エディターが表示され、メッセージを変更できます。

クライアントにTortoise SVNを使用し、WindowsサーバーでVisualSVNを使用して、まさにこの問題に対処しました。

"DAVリクエストに失敗しました"エラーメッセージが表示された場合は、 Andrew Aylett's answer を見て編集してくださいリポジトリのサブディレクトリにある「pre-revprop-change.tmpl」。

これが完了すると、コンテキストメニューの[ログメッセージの編集]を押すと、最終的に機能するはずです。

1
Julien B.