2011-01-05 18 views
0

私たちは次の問題があります。変更を開発サーバーにエクスポートすると、エクスポートはサーバー上のファイルを削除しません。正当な理由から、私たちは手動でこれをしたくありません。だから私は作業コピーとしてサーバー上のディレクトリを作成することを考えたが、開発者は変更をテストするためだけにリポジトリに変更をサブミットする必要がある。私はこれが非常に実用的ではなく、必要でない多くの改訂を行うと思います。作業ディレクトリにSVNをエクスポート

私たちは両方の世界から最高のものが必要です。テストのために作業ディレクトリに変更をエクスポートした後、開発終了後に作業ディレクトリを更新すると、SVNはそれを処理できます。

よろしく、 マルセル

答えて

0

我々は我々の開発への変更をエクスポートする場合は、エクスポートが、サーバー上の任意のファイルを削除しません断ちます。

展開スクリプトでは、以前にエクスポートしたフォルダを削除して、新しいエクスポートを作成するだけです。確かに数秒のダウンタイムは開発サーバーにとって問題ではありませんか?

ダウンタイムの場合(プロジェクトが非常に大きく、エクスポートが完了するまでに時間がかかるなど)、ハードリンクやシンボリックリンクを使用してすぐに次のリビジョンを展開できます。

たとえば、/var/www/myproject.latestにプロジェクトをホストすることができます。これは実際には/var/www/myproject.r123へのハードリンクです。新しいリビジョン124がエクスポートされた後、あなたは即座にこのコマンドでハードリンクを更新します。

ln -f /var/www/myproject.r124 /var/www/myproject.latest 

([NTFS接合]私はあなたのプロジェクトがLinuxサーバ上でホストされていることを想定しているが、あなたはまた、使用することができます[1] Windows上のポイント)。

私は作業コピーとしてサーバー上のディレクトリを作成しようと考えましたが、開発者は変更をテストするためにリポジトリに変更をサブミットする必要があります。

svn exportには同じ制限がありますので、両方のアプローチがこの点でどのように異なるかはわかりません。すべての開発者が同じテストサーバーを共有する必要がある場合は、いずれにしてもこれは良いことです。開発者Aがテストサーバーを壊した場合、開発者BはSVNログを見て、

関連する問題