2009-05-05 5 views
3

ローカルマシン間でソースを共有する最良の方法は何ですか?マシン間でソースコードを共有する

私はsvnリポジトリを持つクロスプラットフォームプロジェクトに取り組んでいます。私は1つのプラットフォーム(おそらくOSX)でチェックアウトを行い、変更を加えます。チェックする前に、他のプラットフォーム(xp、vista、...)で変更されたコードをテストする必要があります。手動でマシン間でファイルをコピーしたり、ネットワークドライブからすべてを実行するのは苦痛です。

答えて

11

あなた自身もSVNでブランチを作成することができます。次に、ブランチにチェックインし、すべてのテストマシンのブランチコードをチェックアウトし、満足したらSVNのブランチマージツールを使用して、ブランチに保存されたすべての変更をトランクにマージすることができます。

+0

定義上、これはまさにSVNが良いものです。 – Travis

1

なぜあなたはまだsvnを使用しないのですか?別のプラットフォームに切り替える前に、チェックインして現在のバージョンにタグを付けてください。チェックアウトし、他のプラットフォームでテストします。失敗した場合は元に戻してください。

+0

しかし、私は現在のブランチで他の人が働いていると考えています。競合状態になるかもしれません。誰かがテストされていないコードの上でアップデートをチェックしようとするかもしれません。 –

+0

@Jonathan別のブランチを作成します。 –

0

プラットフォームに依存しないネットワークディスクマウントを調査します.sshfsのようなものです。あるマシンでソースをチェックアウトし、そのロケーションを他のコンピューターのネットワーク上にマウントします。

また、同じコンピュータ上の仮想マシンで1つのオペレーティングシステムを実行し、その方法でファイルを共有するだけです。 VirtualBoxのような仮想マシンは、ネットワークマウントを介して同様の方法でホストマシンのファイルシステムにアクセスできます。

3

あなた自身の変更のためだけにリポジトリにブランチを作成してみてください。ブランチを変更し、変更をコミットしてから、他のプラットフォームのブランチをチェックアウトしてテストします。すべてが機能している場合は、ブランチをトランクにマージします。

+0

ちょうどライアンが何を言ったのか – David

1

私は管理しやすいと言います(一度起動して実行すると、テスト環境に自動的にデプロイする開発ブランチを作成してから、リリースブランチまでマージすることができたらうれしいです。セットアップではなく、長期的にあなたのSO多くの時間を節約します。それはまた、あなたが他の項目で作業しながら、あなたがテストで物事を持ってできるようになります

をあなたは、このに従うことをしたくない場合シンプルなシェルスクリプトで、展開するときに実行する必要があります。

0

私はあなたがmだと思うここに基本的な誤りがある。 SVN(およびその他の適切なVCシステム)を使用するルールは、「投票のように、早くから頻繁にチェックインする」ことです。 @Korayが言うように、コードをチェックインし、他のマシンからチェックアウトして再構築してください。そうしないと、他のマシンの潜在的な変更が戻ってこない、または異なる変更セットをマージする必要があります。

最新のテスト版のタグを作るのが賢明なので、困ったときには、そのスナップショットに戻すことができます。

0

私は、Antなどのツールを使用してビルドスクリプトを作成し、チェックアウトしたソースをネットワーク共有を介して異なるテストマシンのセットにコピーします。その後、各マシンでテストを進めて、チェックアウトしたソースを変更するだけです。すべての変更は、ビルドスクリプトを使用してテストマシンに配布されます。

私が満足したら、私が構築しているのと同じマシンから変更をコミットします。

1

いつでもGitやその他のDVCSを試すことができます。これにより、毎回セントラルサーバーを含めずに物を共有することができます。

Gitでは、SVNサーバーとの間でプッシュ/プル(別名コミット/更新)することもできますが、側に余裕ができます。

0

基本的な問題は、チェックインする前にテストすることです。これはまさに問題です。コードをチェックインしてテストしても問題はありません。ソースコントロールを使用する目的は、何かが動作しない場合にロールバックを許可することです。

私はあなたの投稿からプロジェクトだけで作業していると仮定しているので、問題はそれほどありません。あなたがチームで作業している場合は、開発を行う別個のSVNブランチを作成し、テストと開発が完了したときにメイントランクとマージします。

別のオプションとして、仮想マシンを使用します。

関連する問題