Kod değişikliklerini gönder

Bu sayfada, kod değişikliğini Android sürümüne gönderme sürecinin tamamı açıklanmaktadır. İnceleme isteğinde bulunma ve takip etme dahil açık kaynak projesi (AOSP) tıklayın.

AOSP, kullanılan projeler için web tabanlı bir kod inceleme sistemi olan Gerrit'i kullanır. Git.

Katkıda bulunan lisans sözleşmelerini imzalayın

AOSP için kod değişikliklerine katkıda bulunmadan önce Katkıda bulunan lisans sözleşmeleri ve başlıkları ve aşağıdaki sözleşmelerden birini imzalayın:

ziyaret edin.

Dal başlatma

Yapmak istediğiniz her kod değişikliği için aşağıdaki adımları uygulayın:

  1. İlgili Git deposunda yeni bir dal başlatın. Dal, kopya değildir orijinal dosyaları; belirli bir kayda işaret eder, yerel şubeler oluşturmak ve bunlar arasında geçiş yapmak basit bir işlemdir. Ölçüt dalları kullanarak birbirlerindeki değişiklikleri tanımlayabilirsiniz. Aşağıdaki komutu çalıştırarak bir dal başlatın:

    repo start BRANCH_NAME
    

    Aynı anda birkaç bağımsız şubeyi başlatabilirsiniz depodur. BRANCH_NAME şubesi bulunduğunuz yerdeki yerel bir alandır çalışma alanıdır ve Gerrit'te ya da son kaynak ağacında yer almaz. Şubeler de dahil olduğunuz projeye özgüdür; bu nedenle aynı değişikliğin parçası olarak farklı projelerde yer alan dosyalarınız varsa bir dal her projede dosyaları değiştireceğinizi belirlemelisiniz.

  2. (isteğe bağlı) Dalın oluşturulduğunu doğrulayın:

    repo status .
    

    Yeni oluşturduğunuz dalı görürsünüz. Örnek:

    project frameworks/native/                      branch mynewbranch
    

Değişikliğinizi yapma ve test etme

Değişikliğinizi yapmak ve test etmek için aşağıdaki adımları izleyin:

  1. En güncel kod tabanıyla çalıştığınızdan emin olmak için baştan sona uygulayın:

    repo sync
    

    Senkronizasyon sırasında herhangi bir çakışma yaşarsanız Senkronizasyon çakışmalarını giderin.

  2. Değiştirmek istediğiniz kodu bulun. Kodu bulmak için şunu kullanabilirsiniz: Android Kod Arama Aracı. Android'i kullanabilirsiniz AOSP kaynak kodunu gerçekten kullanırken oluşturulan haliyle görüntülemek için Google Code Search somut olarak ortaya koyar. Daha fazla bilgi için bkz. Code Search'ü kullanmaya başlama. Android kod araması içinde main dalındaki kodun tamamını görüntülemek için şuraya git https://cs.android.com/android/platform/superproject/main

  3. Kaynak dosyaları değiştirin veya ekleyin. Yapılan değişikliklerde:

  4. Android'i oluşturun.

  5. Derlemenizi test edin.

Aşama ve değişikliğinizi uygulayın

Taahhüt, Git'teki revizyon kontrolünün temel birimidir ve tüm proje için dizin yapısının ve dosya içeriğinin anlık görüntüsü. Değişikliğinizi uygulamak için şu adımları izleyin:

  1. Varsayılan olarak, Git yaptığınız değişiklikleri kaydeder ancak izlemez. Alıcı: Git'e değişikliklerinizi izleme talimatı verin, değişikliklerinizi dahil edilir. Değişikliği gerçekleştirmek için şu komutu çalıştırın:

    git add -A
    

    Bu komut, dosyalarda yaptığınız değişiklikleri izler.

  2. Dosyaları hazırlık alanına alın ve yerel veritabanı:

    git commit -s
    

    Varsayılan olarak bir metin düzenleyici açılır ve sizden bir kaydetme mesajı verir.

  3. Aşağıdaki biçimde bir kayıt mesajı sağlayın:

    • 1. satır: Başlık. Değişikliğin tek satırlık bir özetini sağlayın (50 karakter) maksimum). Değiştirdiğiniz alanı açıklamak için ön eklerden yararlanabilir, ardından bu taahhütte yaptığınız değişikliğin bir açıklamasıyla. Örneğin: kullanıcı arayüzü değişikliği içeren örnek:

      ui: Removes deprecated widget
      
    • 2. Satır: Boş satır. Başlığın ardından boş bir satır geçin.

    • 3. Satır: Gövde. 72 karakteri aşmayan uzun bir açıklama girin. daha fazla bilgi edineceksiniz. Değişimin hangi sorunları nasıl çözdüğünü açıklayın. Gövde metni isteğe bağlı olarak, değişiklikten etkilenen diğer kişilerin de yararınadır. Varsayımların kısa bir notunu veya konuyla ilgili arka plan bilgilerini eklemeyi unutmayın Bu, katkıda bulunan başka bir kullanıcı özellik üzerinde çalışıyorsa önemli olabilir.

    İyi taahhüt açıklamalarıyla ilgili bir blog okumak için (örneklerle birlikte) How to Write a Git Commit Message.

  4. Kaydı kaydedin.

Önceden belirlenmiş benzersiz bir değişiklik kimliği, adınız ve e-postanız repo init sırasında sağlanan, taahhüt mesajınıza otomatik olarak eklenir.

Değişikliği incelenmek üzere yükleyin

Kişisel Git geçmişinize yaptığınız değişikliği Gerrit'e yükleyin:

  1. Tüm dosyalarınızda yaptığınız kaydetmeleri yüklemek için projeler:

    repo upload
    

    Tüm projelerdeki tüm değişiklikler yüklemeye dahil edilir.

    Kanca komut dosyalarını çalıştırmanız istenir.

  2. a ve ardından Enter tuşuna basın.

    Yüklemeyi onaylamanız istenir:

    Upload project frameworks/native/ to remote branch main:
    branch BRANCH_NAME ( 1 commit, Wed Aug 7 09:32:33 2019 -0700):
           ff46b36d android codelab change
    to https://android-review.googlesource.com/ (y/N)?
    
  3. Yüklemeyi onaylamak için y ve ardından Enter tuşuna basın.

remote: SUCCESS gibi bir mesaj alacaksınız.

İnceleme isteğinde bulunun

Başarılı bir yüklemenin ardından Repo, yaptığınız değişikliklerin bağlantısını size Gerrit. İnceleme sunucusunda değişikliklerinizi görüntülemek, yorum eklemek, veya değişiklikleriniz için belirli incelemeciler isteyebilirsiniz. Kodda yapılan tüm değişiklikler uygun kod sahipleri tarafından incelenir. İnceleme talep etmek için:

  1. Gerrit'te SUGGEST OWNERS'ı (SAHİPLERİ ÖNER) tıklayın:

    Gerrit'te sahiplere bağlantı öner

    Şekil 1. Gerrit'te sahiplere bağlantı öner.

    Yorumcu iletişim kutusu görünür. Bu iletişim kutusunda, aşağıdaki koşulları karşılayan kod sahiplerinin listesi yer alır: değişikliğinizi inceleyebilir.

  2. İncelemenize eklemek istediğiniz kod sahibini tıklayın.

    GÖNDER düğmesi etkin hale gelir.

  3. (İsteğe bağlı) İncelemesini istediğiniz diğer kişilerin e-posta adreslerini unutmayın.

  4. (İsteğe bağlı) Değişikliği otomatik olarak göndermek için Otomatik gönderme seçeneğinin yanındaki +1'i tıklayın. onay almanız gerekir. Bu düğmeyi tıklamazsanız bir Google çalışanı sizin için değişikliğinizi göndermesi gerekir.

  5. Değişikliği incelemeye göndermek için GÖNDER'i tıklayın.

Kod sahipleri kod değişikliklerinizi inceler ve size veya onaylamalısınız.

Değişimin durumunu belirleme

Değişikliğinizdeki dosyaların durumunu belirlemek için şunları kontrol edin: şu simgeleri değişiklikteki dosyaların yanında gösterir:

  • (onay işareti) simge): Kod sahibi tarafından onaylandı
  • (çapraz simge): Kod sahibi tarafından onaylanmadı
  • (saat) simgesi): Kod sahibinin onayı bekleniyor

Aşağıdaki şekilde, bir değişiklikteki dosyalara uygulanan bu durum simgeleri gösterilmektedir:

Kod sahibinin onayını gösteren simgeler içeren dosya örneği

Şekil 2. Kod sahibinin onayını gösteren simgeler içeren dosya örneği.

Geri bildirimi çözme ve değişim amaçlı değişikliği yükleme

Bir incelemeci, güncellemenizde değişiklik isterse Git içinde kaydınızı değiştirebilir. Bu durumda, aynı unutmayın.

Geri bildirimleri çözüme kavuşturmak ve değişikliğinizi düzeltmek için:

  1. Değişikliğinizi yapma ve test etme bölümündeki 2-4 arası adımları uygulayın.

  2. Yaptığınız değişikliği değiştirmek için aşağıdaki komutları çalıştırın:

    git add -A
    git commit --amend
    
  3. Yaptığınız değişikliği yükleyin.

Değiştirilen değişikliği yüklediğinizde, değişiklik Gerrit'te her iki orijinalin de yerini alır ve yerel Git geçmişinizden.

Senkronizasyon çakışmalarını giderme

Kaynak ağacına, Google’ın hedef yönetim sistemiyle çakışan çakışmalarınızın olduğunu belirten bir mesaj alırsınız. Çakışmaları çözmek için:

  1. En güncel kodla çalıştığınızdan emin olun:

    repo sync .
    

    repo sync komutu, kaynak sunucudan güncellemeleri alır, ardından , HEAD cihazınızı yeni HEAD uzaktan kumandasına otomatik olarak yeniden temel almaya çalışır.

  2. Otomatik yeniden temel oluşturma başarısız olursa manuel yeniden temel alma işlemi gerçekleştirin:

    repo rebase .
    
  3. Birleştirme çakışmalarını çözün. Sorunu çözmek için tercih ettiğiniz bir yönteminiz yoksa çakışmaları önlemek için git mergetool kullanın kullanabilirsiniz.

  4. Çakışan dosyaları başarıyla düzelttiğinizde aşağıdaki komutu çalıştırarak yeni kayıtları uygula:

    git rebase --continue
    

Değişikliği gönder

Gönderilen bir içerik, inceleme ve doğrulama sürecinden geçtikten sonra bir Google inceleme uzmanı kodu sizin yerinize göndermelidir. Diğer Kullanıcılar, güncellemeyi kendi yerel uygulamalarına almak için repo sync çalıştırabilirler kullanabilirsiniz.

Gönderiminiz birleştirildikten sonra Android Sürekli Entegrasyonu kontrol panelini kullanabilirsiniz.