2011-11-15 1 views
8

さまざまなリリースバージョンのAndroidソースコードの静的なコピーを作成する必要がある状況があります。repo/gitを使用して一度ダウンロードしたAndroidのリポジトリのバージョンを効率的に変更する最も良い方法

ちょうどrepo init -b $version; repo syncを実行すると、(initは対話が必要となり、同期はバージョン間で帯域幅が無駄になります)。

現在のセットアップでは、1つのベースバージョン(1.6_r1など)をダウンロードし、新しいフォルダ(android-1.6_r2)にコピーしてからinitとsync(repo init -b android-1.6_r2; repo sync)を再実行します。

ndk/build/platforms/android-3/arch-arm/usr/incl
Aborting
Syncing work tree: 100% (153/153), done.

error: development/: platform/development checkout caf83cb2b0ffde1a4cfb7cb258cbe012e283d9e1 Repo sync returned FAIL on android-2.1_r2.1s

私は、これはファイルシステムでは、「変更」ファイルと同期しているレポが原因である可能性があり示す同様のエラーが発生したいくつかの記事を見つけたが、私は」:のようなエラーが発生して、けれども同期が時々失敗します私のエラーがrepoの鼻の下でバージョンを変えることによって引き起こされているのかと疑問に思っています。

これはリポジトリのバージョンを変更する正しい方法ですか?より一般的には、android-1.6_r1リポジトリをandroid-1.6_r2にする時間/帯域幅の効率的な方法はありますか?

答えて

0

リポジトリスクリプトを確実に更新するようにしましたか?

$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo 
$ chmod a+x ~/bin/repo 
+0

はい - 設定全体が過去24時間以内に新鮮です。 – bhoward

9

UPDATE:私の最初の答えは1.6_r2に例1.6_r1のために、我々は、増分前のものから新しいレポのinitできることを意味するものではなく、正しいセットアップは1ローカル「の主鏡を持ってきたはずです

コピーするのではなく、新しいディレクトリのrepo initコマンドに--reference=/path/to/main/repoコマンドを追加してみてください。これは、新しいinitを起動するときの参考にしてください。その後、

$ mkdir /repos/aosp-1.6_r1 
$ cd /repos/aosp-1.6_r1 
$ repo init -b android-1.6_r1 -u https://android.googlesource.com/platform/manifest --reference=/repos/aosp-main 
$ repo sync 

そして、あなたは別のバージョンたい場合:たとえば

、すでに/repos/aosp-mainディレクトリ以前にダウンロード(およびgooglesource.comに同期)でレポを持っている場合、あなたが行うことができます

$ mkdir /repos/aosp-1.6_r2 
$ cd /repos/aosp-1.6_r2 
$ repo init -b android-1.6_r2 -u https://android.googlesource.com/platform/manifest --reference=/repos/aosp-main 
$ repo sync 

この方法では、まだダウンロードしていない新しいものがある場合はgooglesource.comアドレスに同期するだけで済みます。追加のreposをローカルで初期化するには、すでに同期されたメインのリポジトリを使用する必要があります。

関連する問題