2013-10-07 4 views
8

私は遠隔リポジトリにいくつかの依存関係を持つプロジェクトを持っています(すべてがgithub.com上で役に立ちます)。依存関係は頻繁に変更されません。既存のrebar.confファイルを同じにして上流のリポジトリを指し示すようにしておくと、リポジトリ(またはスナップショット)をローカルにキャッシュできるので、クリーンなビルドが必要ないインターネットに行く。リポジトリをクローンする前にrebar get-depsにローカルキャッシュをチェックさせる方法はありますか?

これはどうしてですか?私。 rebarコマンドラインオプション、環境設定、gitオプションなど?

答えて

2

私はあなたが物事のカップル行うことができたとします

  1. すべてのリポジトリの独自のローカルのクローンを作成し、それから、このレポを取るために rebar.configを変更します。最初の外観では、それは 恐ろしい解決策と思われるが、それは多くの利点があります。 Githubはしばしば が利用できない、クローンのスピードが上がり、最後に最も価値の高いものは です:プロジェクトは進化しており、ある日、あなたはすべて がマスターブランチのAPiを変更したために壊れています。
  2. ローカルのdepsフォルダにreposが必要なものをすべて指定し、必要なすべてのリポジトリとシンボリックリンクを介して を共有することができます。
+0

はい。ローカルクローンが鉄筋を使用する唯一の方法かもしれません。私はもともと、すべての依存reposのスナップショットをとる自動かつ透過的な方法を望んでいました。私はあなたが挙げる利点に同意します。 –

+0

ただし、依存関係の依存関係はローカルキャッシュを認識しないため、不完全な解決策です。 –

+0

depsのdepsもそこにいるはずです。 – danechkin

0

Rebarには、rebarの設定を動的に変更するためのカスタムスクリプトファイルrebar.config.scriptを追加できる機能があります。これは、@ danechkinの答え#2に類似したものを実装することができます。ただし、環境変数を使用してローカル共有のdepsフォルダとプロジェクトのデフォルトのものを切り替える点が異なります。 rebar.configの変更は必要ありません。 https://github.com/basho/rebar/wiki/Dynamic-configurationの例は、これを行う方法を示しています。