0

だから、メインプロジェクトとプロジェクトへの2つの拡張機能を持つmercurialリポジトリがあります。プロジェクト A と拡張機能 B および C を呼び出します。したがって、レポにはレポ内に A、B、C の 3 つのフォルダーがあり、私のローカル コンピューターではフォルダーは "~/Documents/Aptana Studio 3 Workspace/" にあります。プロジェクト A の gemfile には、次の行があります。

gem "B", :path => "~/Documents/Aptana Studio 3 Workspace/B/"
gem "C", :path => "~/Documents/Aptana Studio 3 Workspace/C/"

Capistrano でデプロイすると、「パス/home/username/Documents/Aptana Studio 3 Workspace/Bが存在しません」というエラーが表示されます。これはまったく驚くべきことではありません。ただし、リモートサーバーとローカルホストのパスが同じになるように、この問題を修正する方法がよくわかりません。リモートサーバーの適切なディレクトリは「~/rails/B」です。このサーバー側を変更すると、次にデプロイするときに上書きされます。技術的には、ローカル コンピューターに rails というフォルダーを作成して、両方を同じディレクトリ構造にすることもできますが、それは実際には洗練されたソリューションとは思えません。

3 つのフォルダーを独自のリポジトリに分割することについて読みましたが、mercurials サイトでは、これは悪い習慣であると書かれています。

プロジェクトフォルダーをローカルホストに移動せずにこれを修正する方法はありますか?

4

1 に答える 1

1

私はMercurialの代わりにgitを使用することになりました。bundler は git が好きで、git は 1 つのプロジェクトで複数のリポジトリを簡単に処理できるので、それに切り替えました。プロジェクトを git で 3 つのリポジトリに分割しました。

私の gemfile は次のようになります (bitbucket に SSH キーを追加した後):

gem "B", :git => "git@bitbucket.org:username/B.git", :branch => 'master'
gem "C", :git => "git@bitbucket.org:username/C.git", :branch => 'master'
于 2012-10-16T16:19:04.047 に答える