Google, Siyah topluluklar için ırksal eşitliği ilerletmeye kararlıdır. Nasıl olduğunu gör.
Bu sayfa, Cloud Translation API ile çevrilmiştir.
Switch to English

Yama Gönderme

Bu sayfada Gerrit ile yapılan değişiklikleri inceleme ve izleme de dahil olmak üzere Android Açık Kaynak Projesi'ne (AOSP) bir yama gönderme işleminin tamamı açıklanmaktadır.

Ön şartlar

Katkıda bulunanlar için

Sunucu ile kimlik doğrulama

Gerrit'e yüklemeden önce, sizi sunucuyla tanımlayan bir parola oluşturmanız gerekir. Şifre üreticisi sayfasındaki talimatları uygulayın. Bunu sadece bir kez yapmanız gerekir. Ek ayrıntılar için Kimlik doğrulamayı kullanma konusuna bakın.

Repo şubesi başlatma

Yapmak istediğiniz her değişiklik için, ilgili Git deposunda yeni bir dal başlatın:

repo start NAME .

Aynı depoda aynı anda birkaç bağımsız şubeye başlayabilirsiniz. NAME dalı çalışma alanınızda yereldir ve Gerrit'te veya son kaynak ağacında bulunmaz.

Değişikliklerinizi yapma

Kaynak dosyaları değiştirdikten (ve bunları doğruladıktan sonra lütfen) yerel deponuzda değişiklik yapın:

git add -A
git commit -s

İşleme mesajınızdaki değişikliğin ayrıntılı bir açıklamasını sağlayın. Bu açıklama genel AOSP deposuna gönderilir, bu nedenle değişiklik listesi açıklamaları yazmak için aşağıdaki yönergeleri izleyin:

  • Tek satırlık bir özetle (maksimum 50 karakter) ve ardından boş bir satırla başlayın. Bu biçim Git ve Gerrit tarafından çeşitli ekranlar için kullanılır.

  • Üçüncü satırdan başlayarak, maksimum 72 karakterle sarılması gereken daha uzun bir açıklama girin. Değişikliğin hangi sorunu çözdüğünü ve nasıl çözdüğünü açıklayın. İkinci kısım, istenirse de yeni özellikler uygulanırken biraz isteğe bağlıdır.

  • Başka bir katılımcı bu özellik üzerinde çalışırken önemli olabilecek varsayımların veya arka plan bilgilerinin kısa bir notunu ekleyin.

İşte bir örnek yürütme mesajı:

Short description on first line

More detailed description of your patch,
which is likely to take up multiple lines.

repo init sırasında sağlanan benzersiz bir değişiklik kimliği ve adınız ve e-postanız otomatik olarak tamamlama iletinize eklenir.

Gerrit'e Yükleniyor

Kişisel geçmişinizde değişiklik yaptıktan sonra, Gerrit'e

repo upload

Aynı depoda birden çok şubeye başladıysanız, hangilerinin yükleneceğini seçmeniz istenir.

Başarılı bir yüklemeden sonra, Repo size Gerrit'teki yeni bir sayfanın URL'sini sağlar. Düzeltme ekini inceleme sunucusunda görüntülemek, yorum eklemek veya düzeltme ekiniz için belirli yorumcular istemek için bu bağlantıyı ziyaret edin.

Yeni bir yama yükleme

Bir yorumcunun yamanıza baktığını ve küçük bir değişiklik istediğini varsayalım. Gerrit üzerinde orijinaliyle aynı değişiklik kimliğine sahip yeni bir yama ile sonuçlanan Git içinde taahhüdünüzü değiştirebilirsiniz.

git add -A
git commit --amend

Değiştirilen yamayı yüklediğinizde Gerrit ve yerel Git geçmişinizdeki orijinalin yerini alır.

Senkronizasyon çakışmalarını çözme

Sizinkiyle çakışan kaynak ağacına başka yamalar gönderilirse, düzeltme ekinizi kaynak deposunun yeni HEAD üstüne yeniden oluşturmanız gerekir. Bunu yapmanın kolay yolu koşmaktır

repo sync

Bu komut ilk önce otomatik olarak rebase girişimlerini kaynak sunucudan güncellemeleri getirir HEAD yeni uzaktan üzerine HEAD .

Otomatik rebase başarısız olursa, manuel rebase gerçekleştirin.

repo rebase

git mergetool kullanmak, rebase çakışmasıyla başa git mergetool yardımcı olabilir. Çakışan dosyaları başarıyla birleştirdiğinizde şunu çalıştırın:

git rebase --continue

Otomatik veya manuel rebase tamamlandıktan sonra, yeniden temelli düzeltme ekinizi göndermek için repo upload çalıştırın.

Bir başvuru onaylandıktan sonra

Bir inceleme, inceleme ve doğrulama sürecinden geçtikten sonra Gerrit, değişikliği otomatik olarak kamu havuzunda birleştirir. Diğer kullanıcılar güncellemeyi yerel istemcilerine çekmek için repo sync çalıştırabilir.

Memba projeleri

Android, Android Yazılım Yönetimi'nde açıklandığı gibi Linux çekirdeği ve WebKit gibi diğer açık kaynaklı projelerden yararlanır. external/ altındaki birçok proje için değişiklikleri akış yukarı yapın ve ardından Android çalışanlarına bu değişiklikleri içeren yeni akış yukarı sürümü hakkında bilgi verin. Bizi yeni bir yukarı akış sürümünü takip etmek için harekete geçiren yamaları yüklemek de yararlı olabilir, ancak bunlar projenin Android'de yaygın olarak kullanıldığı ve aşağıda belirtilen daha büyük olanların çoğunda olduğu gibi yapılması zor değişiklikler olabilir. serbest bırakmak.

İlginç bir özel durum Bionic. Kodun çoğu BSD'den geliyor, bu nedenle değişiklik Bionic için yeni olan kodda değilse, yukarı doğru bir düzeltmeyi ve ardından uygun BSD'den tamamen yeni bir dosyanın çekilmesini tercih ederiz.

icu4c

ICU-TC Ana Sayfasında external/icu4c adresindeki ICU4C projesinde tüm değişiklikleri yapın. Daha fazla bilgi için bkz. ICU Hataları ve Özellik İsteklerini Gönderme .

LLVM / Clang / Derleyici-rt

LLVM Derleyici Altyapısı sayfasında LLVM ile ilgili projelerde ( external/clang , external/compiler-rt , external/llvm ) tüm değişiklikleri yapın.

mksh

mirbsd.org etki alanındaki miros-mksh e miros-mksh posta göndererek (oraya göndermek için abonelik gerekmez) veya Launchpad'de MirBSD Korn Shell projesinde external/mksh adresindeki tüm değişiklikleri yapın.

OpenSSL

OpenSSL sayfasında OpenSSL projesinde external/openssl tüm değişiklikleri yapın.

V8

V8 projesinde tüm değişiklikleri external/v8 adresindeki V8 sorun sayfasında gönderin. Ayrıntılar için V8'e katkıda bulunma konusuna bakın.

Webkit

WebKit sayfasındaki external/webkit adresindeki WebKit projesinde tüm değişiklikleri yapın. WebKit hatası vererek işlemi başlatın . Hatada, Android yalnızca hata Android'e özgü ise Platform ve İşletim Sistemi alanları için kullanın. Hataların, önerilen bir düzeltme eklendikten ve testler dahil edildikten sonra gözden geçirenlerin dikkatini çekmesi çok daha olasıdır. Ayrıntılar için WebKit'e Katkı Kodu'na bakın.

zlib

Zlib ana sayfasında zlib projesinde external/zlib tüm değişiklikleri yapın.