2011-11-15 24 views
8

kullanarak indirdikten sonra android depo sürümlerini verimli bir şekilde değiştirmenin en iyi yolu Farklı yayın sürümlerinin Android kaynak kodunun bir dizi statik kopyasını oluşturmam gereken bir durum var.Repo/git

Sadece repo init -b $version; repo sync yapmak, sonsuza dek sürecek (init etkileşimi gerektirir ve eşitler, sürümler arası bant genişliğimden savrulur).

Bulunduğum kurulum, (1.6_r1 diyelim) bir taban sürümünü indirmek yeni bir klasör (android-1.6_r2) kopyalamak ve daha sonra init ve senkronizasyonu (repo init -b android-1.6_r2; repo sync) yeniden etmektir. senkronizasyon gibi hatalarla olsa bazen başarısız:

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

buldum bu dosya sisteminde "değişti" dosyaları ile senkronize olmamasından repo neden olabilir işaret benzer hataları ile bazı mesajların, ama ben hataların repo burnunun altında değişen versiyonlardan kaynaklanıp kaynaklanmadığını merak ediyorum.

Bu, depo sürümlerini değiştirmeye gitmek için doğru yol mu? Daha genel olarak, bir android-1.6_r1 deposunu android-1.6_r2'a dönüştürmek için bir zaman/bant genişliği etkin yolu var mı?

cevap

0

Emin olmak için repo komut dosyasını güncellediğinizden emin misiniz?

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

Evet - tüm kurulumum son 24 saat içinde yeni. – bhoward

9

(GÜNCELLEME: benim ilk cevap tekrar adım adım yeni bir örneğin 1.6_r1 1.6_r2 bir öncekinden repo, fakat init doğru kurulum tek yerel "ana ayna olan olmalıydı ilişkin imalar "biz yeni bir init başlatırken referansı işaret edebilir repo. Ben yanlış ima önlemek için metin aşağıda değiştirdiniz.)

yerine kopyalama, yeni dizine üzerinde repo init komuta --reference=/path/to/main/repo eklemeyi deneyin. Zaten (googlesource.com ve senkronize) önce indirilen /repos/aosp-main dizininde bir repo varsa

Örneğin, yapabileceğin:

$ 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 

Ve sonra, farklı bir versiyonunu istiyorum:

$ 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 

Bu şekilde, henüz indirmediğimiz yeni öğeler olduğunda googlesource.com adresine senkronize etmemiz gerekiyor ve ek reposları yerel olarak başlatmak için yalnızca önceden senkronize edilmiş ana repo kullanmamız gerekiyor.