3

私たちのリポジトリは次のような構造になっています。

Dev
    Project1
        source
        docs
        ...
    Project2
        source
        docs
        ...
    ...

Project1 ソースへの変更をコミットした後、Project1 をデプロイします (コンパイル、テスト、コピーなど)。このプロジェクトをエクスポートしていくつかのタスクを実行できるように、Dev/Project1 にコミットしたことを post-commit-hook で確認するにはどうすればよいですか? svn にコミットするとき (たとえば、TortoiseSVN を使用)、ir は次のように書かれています: "Commit to: ..." その "commit to" を見つける方法は?

4

2 に答える 2

3

統合タスクにコミット後フックを使用するよりも、CruiseControl.NETのような継続的インテグレーションサーバーを使用することをお勧めします。

これらのツールは、特定のURLより下の変更についてリポジトリを簡単に監視できますが、Subversionサーバーと同じ権限で実行する必要はありません。特に、リポジトリが破損することはありません。それらは任意の(古い)サーバーで実行できますが、リポジトリはより目立つ/安定した/バックアップされたサーバーで実行できます。

于 2009-10-14T14:27:47.787 に答える
3

使用する必要があります

svnlook changed -r REV REPOPATH

コミット後のフックで。SVN は REPOPATH と REV を引数として提供します。変更されたすべてのパスが戻ったリストが表示されます (改行で区切られています)。その後、grep などを簡単に使用して、変更されたパスを検索できます。

覚えておいてください: svn は post-commit フックが終了するまで待機するため、ビルド/デプロイ用の新しいスレッドを開始してください (したがって、すべてがデプロイされるまで「Committed Revision XX」は表示されません)。

于 2009-10-14T09:47:49.430 に答える