3

WindowsでSVNサーバーを実行しています。

コミット後、すべての「作業コピー」(svn リポジトリを使用している各ユーザー) を強制的に更新する必要があります。svn サーバーのフック ディレクトリにある post-commit.bat スクリプトを試してみました。問題は、更新がクライアント ファイルではなくサーバーで発生することです。

ここに抜粋:

    @ECHO OFF

SET REPOS=%1
SET REV=%2

SET DIR=%REPOS%/hooks

SET WORKING_COPY=c:\path\to\working\copy
svn update %WORKING_COPY%

例 : 人 1 : コミット

コミット後 Person 2 : 更新

それが不可能な場合は、少なくとも個人 1 の自動更新を行いたいと思います。個人 1 : コミットし、作業コピーで自動更新します。

Windows のスケジュールされたタスクを使用したソリューションを見てきましたが、これが私の最後のソリューションです。

手伝ってくれますか ?どうもありがとう。

4

3 に答える 3

3

SVN post-commit フックは、サーバー側のアクション用です。リポジトリのコピーをチェックアウトした他のユーザーを制御することはできません。

svn update毎日の初めに、全員にランニングの練習をしてもらう必要があります。

于 2010-09-26T21:43:11.117 に答える
3

リポジトリ内の何かが変更されるたびに、いくつかの作業コピーを更新するのは非常に悪い考えだと思います。

これが欲しい理由は何ですか?そして、このスケールをどのように作成しますか?

Subversion は、無制限にチェックアウトされた作業コピーと同じように機能するように設計されています。各コミットですべての作業コピーに更新をプッシュすると、各コミットは非常に高価な操作になります。

また、たとえば、特定のクライアント コンピュータの電源がオフになっている場合の対処方法も検討してください。

于 2010-09-26T21:56:48.327 に答える
2

コミット後、すべての「作業コピー」(svn リポジトリを使用している各ユーザー) を強制的に更新する必要があります。

コミット時にすべての「作業コピー」を更新できるとは思いません。少なくとも、恐ろしく複雑なことをしない限りは。

それが無理なら、せめて1の人は自動更新にしてほしいです。

正確に何をしたいのかわかりませんが、Tortoise を使用している場合は、クライアント側のフック スクリプトがサポートされています。多分彼らは助けることができます(しかし、彼らは元の作業コピーでしか助けません)。しかし、私が言ったように、私はあなたの正確なニーズを理解していたかどうか確信が持てません.

于 2010-09-26T21:43:20.453 に答える