2

私たちは、研究室のためにしばらくの間Subversionリポジトリを使用してきましたが、一般的な問題が繰り返し発生しています。

すべてのコードと小さな永続データをバージョン管理したいのですが、ユーザーチェックアウトで無視されたディレクトリ内に存在する大きなバイナリブロブも​​あり、ユーザーがこれらのファイルとそれらを同期して、複数のユーザーがマシン間で手動でコピーしたり、リポジトリにチェックインしたりすることなく、より大きなBLOBを操作できるようにします(すでに理想以上の種類のものがあります)。

JungleDiskのようなさまざまなバックアップサービスを使用して、少なくともユーザーがこのデータを簡単にバックアップできるようにすることを考えましたが、実際には同期用に設計されていません。また、データファイルが非常に大きく、キャッシュされるのを待つとパフォーマンスが大幅に低下することがあるため、JungleDiskで作業するだけでは理想的とは言えません。

他の選択肢は、rsyncのコピーを提供し、ユーザーがファイルを手動で同期するために実行できるリポジトリ内のいくつかのシェルスクリプトを使用することです(svn checkouts / commitsとは別に)が、これが実際に機能するのは素晴らしいことです技術的に最も精通していない可能性のあるユーザーのためのMac、Windows、およびLinuxでの最小限の労力。したがって、これは、構成が簡単で(バージョン管理されていない新しいファイルの場合)、インストールが簡単で(手順が少ない方がよい)、システムを機能させるためにユーザーの介入をあまり必要としないもの(自動、また​​は単に2倍)が理想的です。スクリプトをクリックすると便利です)。

何か考えや提案はありますか?

4

1 に答える 1

4

それを行うための rsync スクリプトを作成し、そこに Subversion バイナリをラップします。おそらく、エンド ユーザーが簡単にインストールできるように、さらにスクリプトを作成する必要があります (数が少ない場合は、手動で行ってください)。

さらに、可能な場合は、これらのバイナリ BLOB を Subversion ツリー内以外の場所に移動しようとしますが、問題が発生しているようです。

これらの状況のすべてにおいて、ウィンドウをサポートすることはただの苦痛です。個人的には、このタスクには python を使用します。これは、これらすべてのシステムでかなり移植性があるからです。

于 2009-09-10T17:10:34.437 に答える