SVNコミットの電子メール通知[終了]


10

比較的ターンキーなSVNチェックイン通知システムに関する推奨事項はありますか?

変更があったリポジトリファイルの概要と、コミットが発生したときに実際の差分の内容を開発チームのすべてのメンバーに電子メールで送信できるものを探しています。おそらく、ViewVCで影響を受ける完全なソースファイルへのリンクが含まれています。 。それはオプションです。

私は間違いなく、実際の差分/コードの抜粋をきちんと区分けしたいと思っています。最初からすぐに理解できないコードフラグメントの大規模で無謀なダンプである場合、(とにかくそうであるかのように)これらのことを誰も見ないでしょう。原則として、リビジョン番号、概要、コミットを行ったユーザー、影響を受けるリポジトリファイルのリストを確認するだけです。

私は少し時間をかけて自分で書くことの実現可能性を検討しましたが、SVNにはさまざまなイベントを正確にこのようにキャッチするための「フック」があることがわかりますが、うまく機能する洗練されたものを取得することは、かなり複雑な作業のようです。この効果に対するオープンソースパッケージがそこに存在することはかなり確実なので、あなたがどれが良いものと悪いものかを理解する手間を省くのに役立つだろうかと思っていました。セットアップがかなり簡単で、それほど時間を必要としないものを探しています。本当に包括的なシステムの詳細を学ぶために時間を費やしたいのですが、実際には開発も行わなければなりません。

よろしくお願いします!

編集:私はSourceforgeがこれをかなりうまくやっていることを知っています。私はいくつかの-devリストに参加しており、これらのメッセージを頻繁に受け取ります。しかし、私が取り組んでいる種類のプロジェクトにSourceforgeを実際に使用することはできません。


このようなフックを設定したいすべての人へのヒント:これは情報プライバシー法(ドイツのBDSG)の傷害になる可能性があります。これを使用するように注意してください!

回答:


8

フックについてのあなたの言及は実際には答えから遠くありません。ポストコミットフックを使用して、Subversionにバンドルされているcommit_email.pl(の内容を実行できます。メールサーバーを指すように微調整する必要がありますが、これはスクリプトの上部にある変数にすぎません。スクリプトを実行するには、Perlをインストールする必要もあります。

コミット後フックは、実行しているOSによってファイル名が異なります。あなたはそれを見つける/フック/サブフォルダ。Linuxの場合は単純にポストコミットし、Windowsの場合はpost-commit.batです。必要なのは、commit_email.plを実行するようにそのファイルを変更することだけです。以下は、post-commit.batの例です。

@echo on
rem POST-COMMIT HOOK

set REPOS=%1
set REV=%2

C:\Perl64\bin\perl S:\SVNRepos\hooks\commit-email.pl %REPOS% %REV% -l C:\Temp\svnlook\commit-email.log

また、メールスクリプトをさらに変更して、Subversionのユーザー名ではなく、コミット元のメールアドレスを表示するようにしました。これにより、送信される電子メールが少し便利になります(実際に返信できます)。


将来の参考のために、拡張子によってファイルタイプを決定しない他のシステム(まあ、確かに少なくともLinux)では、フックは単にと名付けられていpost-commitます。.bat名前のWindowsバージョンから拡張子を削除するだけです。
David Z

David、コメントありがとう。私はそれに応じて答えを調整しました。
Pauk

2

私はまだ試していませんが、Perlスクリプトであり、Windowsで実行できるSVN-Notifyを使用しています。これは、HTML :: ColorDiffを使用して、コミット後の色分けされた差分を提供します。

これは、開発者の同僚から勧められました。




弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.