3

私は次の学期に備えてラップトップを手に入れました。これにより、フルタイムで働きながら大学のプログラミングコースを受講することができます。もちろん、ソース管理システム(おそらくSubversion)を使用し、Dropboxフォルダーにリポジトリを作成することを考えました。これにより、ラップトップまたはデスクトップを使用してローカルでコードをチェックアウトして作業できるようになります(または、実際、インターネットにアクセスできる他のコンピュータ)を作成し、共有Dropboxリポジトリにコミットします。

  • これが私の目標を達成するための良い方法ではないという落とし穴や理由はありますか?(愚かなことをすることでSVNリポジトリの破損を回避できると仮定しましょう。)
  • Dropboxの利点を上回るWebホスティングソリューションを使用することの明らかな利点はありますか(つまり、無料で、すでに私のマシンにセットアップされています)?
  • 複数の場所からのコードで作業するために共有する他の戦略はありますか?

注:file://複数の人が経由でリポジトリにアクセスするのは悪い考えであることに気付いたので、Dropboxフォルダを他の人と共有するつもりはありません。私の質問は、個々のユーザーにのみ関係します。

4

3 に答える 3

3

一見、これは悪い考えのように見えますが(基本的に、異なるワークフローで2つの異なるリビジョン管理システムを重ねる)、あなたが唯一の開発者であると仮定すると、理にかなっている方法があります。

(補足として、Dropboxが提供するのは、データのオフラインバックアップと、同期元のサーバーです。SVNを単独で使用する場合は、リモートアクセスを許可するようにマシンを構成する必要があります。これsysadminタイプのタスクの専門知識のレベルに応じて、取引を妨げる場合とそうでない場合があります。)

できることは、Dropboxドライブに特定のプロジェクトのリポジトリを作成することです。次に、作業コピーをチェックアウトするときに、Dropboxフォルダーのfile:に作成し、プロトコルを使用してリポジトリにアクセスします。このように、リポジトリはすべてのマシン間で同期されたままになりますが、各マシンには個別の作業フォルダーがあり、必要に応じて、あるマシンで別のブランチで作業したり、別のマシンに伝播されることなくコミットされていないコードを維持したりできます。これが故障するのは、複数の人がfile:プロトコルを介してリポジトリにアクセスしている場合です。競合状態が発生する可能性があるため、これはお勧めしません。

注:このソリューションでは、他のDVCSと同様に、オフラインでもコミットを継続できます。ただし、これを実行してから、リポジトリの同期を許可する前に別のマシンでオフラインでコミットすると、悲惨な結果になる可能性があることに注意してください。オフラインで作業した後、別のマシンでコミットを実行する前に、リポジトリを同期できるようにすることが非常に重要です。

于 2010-01-19T19:46:36.200 に答える
2

私はGitとGithubを使用します。次に、ソース管理があり、両方の場所から簡単にアクセスできます。

または、svnまたはgitリポジトリをホストするように独自のサーバーをセットアップするのがさらに理想的ですが、それが常にオプションであるとは限りません。

于 2010-01-19T20:07:12.523 に答える
2

DropboxでSubversionではなくDVCSを使用することをお勧めします。その理由は、ネットワーク接続が制限されているか、まったくない状態で、同じファイルをマシンから同時に変更することで、Dropboxとのマージの競合が発生する可能性があるためです。このようにSubversionリポジトリを台無しにした場合、リポジトリを修正するのは困難ですが、人気のあるDVCSシステムでは、少なくとも壊れたリポジトリを削除して、そのローカルバージョンをDropbox共有に複製できます。

上記を書いているときに、同じDropboxアカウントで複数のコンピューターを使用しているかどうかについて言及していないことに気付きました。したがって、Dropboxアカウントを1台のコンピューターのみで使用している場合、上記は実際には当てはまりません(おそらくあなたが本当にばかげた/奇妙なことをした場合)。

于 2010-01-19T20:03:55.677 に答える