質問

私は職場で複数のリポジトリに取り組んでおり、SVN リポジトリに何か変更があった場合は通知を受け取りたいと考えています。

私は、 svn log -r BASE:HEAD 私の作業用コピーに。すべての送信コメントと改訂日が表示されます。これは非常にうまく機能しますが、異なるリポジトリでは快適ではありません。

リポジトリ内の変更をどのように追跡していますか?自分用に作った小さなプログラムを使用していますか?他の人が作ったソフトウェアを使用していますか?私はこの問題に対するあらゆるアプローチに興味があります。

入手したいです 通知 コミットに関する詳細情報。IDE に統合された機能は優れていますが、情報を要求した場合にのみ機能します。
この情報を得るために行動したくない。

プラットホーム:Windows、Subversion 1.5 以降。

役に立ちましたか?

解決

私は CommitMonitor を使用しています。それは TortoiseSVNのの開発者の一人からです。あなたは簡単に監視し、コミットをチェックする間隔を指定するには、いくつかのSVNのURLを追加することができます。更新プログラムが見つかった場合は、それが画面の隅に小さなポップアップウィンドウを示しています。

があり SVNモニターでもあるが、それはもう少し使い複雑とセットアップです。コミットにメッセージを与えるだけでなく、それはまた、あなたが変更したどのファイルをお見せして、変更をコミットすることを思い出させることができます。

他のヒント

あなたが持っている場合 TortoiseSVN インストールされている場合は、使用できます SVN 通知者.

私は websvnのをインストールしていますが、に興味があるパスのRSSフィードを購読してください。

メール。電子メールを送信する例 SVNコミット後フックすることができます転覆自体の中に見つけることがます。

私はSVNのブランチに変更を検出し、展開するPowerShellののrel="nofollow"> タスクスケジューラとSVNのルートから実行(またはすることができます単にループから呼び出されるべきであると)永遠に眠ります:

function get-revision() {
    $rev = svn info 2>&1 | sls '^Last Changed Rev:' | out-string
    $rev = $rev -split ':'
    $rev[1].Trim()
}

function if-changed([string]$branch, [scriptblock]$script) {
    Write-Verbose "Checking for changes: $branch"
    pushd $branch
    $r = get-revision

    if ($r -gt $status[$branch]) {
        Write-Verbose "|- '$branch' changed, revision $r"
        & $script
    }
    else { Write-Verbose "|- '$branch' is up to date at revision $r" }
    $status[$branch] = $r
    popd
}

svn update
Write-Verbose "Getting the deploy status"
if (Test-Path status) { $status = Import-Clixml status } else { Write-Verbose "|- No status found"; $status=@{} }

if-changed trunk { "Deploying trunk..." }

これは、前述したサードパーティ製のアプリケーションのいずれかを使用するよりもはるかに簡単かつポータブルです。

svn info | grep Revisionは私のために動作します。それは例えば、示します:

Revision: 183

それは私はそれは、その後、私はさらに調査すべきだと思う何から変わったのならば。

私が使用して

svn status --show-updates
私がリポジトリに変更されたファイルだけでなく、変更したどのファイルをお見せします。

あなたは Subversionのフックを使用することができますスクリプトは、通知を設定するします。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top