Gerrit/Commit message guidelines/tr

Yaptığınız değişikliğin taahhüt mesajı önemli bir rol oynar. Diğer insanların sizin değişikliğiniz hakkında ilk görecekleri şey.

Konu
İşlem mesajının ilk satırı konu olarak bilinir. Konu 80 karakterden kısa olmalıdır (50-70 hedefi).


 * Konu satırındaki değişikliğinizi özetleyin. Bunun sonsuza kadar depoda olacağını unutmayın.
 * Konu satırınızdaki zorunlu ruh halini kullanın. Zorunlu ruh hali size birilerine talimat veriyormuş gibi geliyor, "Değiştir", "Ekle", "Düzelt", "Kaldır", "Güncelle", "Refactor" veya "Belge" gibi kelimelerle başlayabilir. İyi örnekler "Add Badge::query for querying the API" veya "Allow zeroes in SimpleBadge::add". Kötü örnekler "Added Badge::query method" veya "Fixed Badge::query method", veya "Badge can query the API" ve "Zeroes work when adding badges" olurdu.
 * Konu satırını nokta ile sonlandırmayın.
 * İsteğe bağlı olarak, konunun önüne ilgili bileşen öneki ekleyin. Bileşen, taahhüdünüzün değişeceği genel alandır.

Gövde
Gövde metnini yazarken aşağıdaki soruları düşünün:


 * Bu değişiklik neden yapılmalıdır? Mevcut kodda sorun nedir?
 * Neden bu şekilde değiştirilmeli? Başka yollar var mı?
 * Başka yaklaşımlar düşündünüz mü? Öyleyse, neden bu kadar iyi olmadıklarını açıklayın.
 * Bir yorumcu kodunuzun doğru çalışıp çalışmadığını nasıl test edebilir veya doğrulayabilir?

Yapılması:


 * Boş bir çizgi ile gövde süjeden ayırın.
 * İleti gövdesini satırlar 100 karakterden kısa olacak şekilde sarın. Ancak, URL'leri kırmayın veya sarmayın, daha uzun olsalar bile saklayın.
 * Aşağıdaki örneklerde olduğu gibi "Bug" ve "Change-Id" meta verilerini biçimlendirin ve boş bir satırdan sonra bunları gövdenin sonuna yerleştirin.
 * Bir (kısa) Git kesin karması kullanarak diğer (birleştirilmiş) işlemlere başvurun. Gerekirse, Change-Id Gerrit kullanarak henüz birleştirilmemiş taahhütlere bakın.

Yapılmaması:


 * Gerrit URL'si olan diğer işlemlere atıfta bulunmayın, bunun yerine Git taahhüt karmasını kullanın. Bu, çevrimdışı olduğunda Git deposunda kolay gezinmeyi sağlar. Ayrıca, tüm depo görüntüleyicilerinin (Gerrit, Gitiles, Phabricator, GitHub ve yerel Git arabirimleri) kullanıcılarının aynı arabirimdeki diğer işlemlere otomatik olarak gitmelerini sağlar. Bir URL yalnızca çevrimiçi olduğunda ve insanların hızlı bir şekilde gezinmesini engelleyen Gerrit kullanıldığında çözülebilir.
 * Değişiklik için tek açıklama olarak URL kullanmayın. Değişiklik, başka yerlerdeki tartışmalar veya harici belgelerle gerekçelendiriliyorsa, taahhüt mesajındaki ilgili noktaları kısaca özetleyin.

İyi örnek
jquery.badge: Add ability to display the number zero

Cupcake ipsum dolor sit. Amet tart cheesecake tiramisu chocolate cake topping. Icing ice cream sweet roll. Biscuit dragée toffee wypas.

Does not yet address T44834 or T176. Follow-up to Id5e7cbb1.

Bug: T42 Change-Id: I88c5f819c42d9fe1468be6b2cf74413d7d6d6907

Kötü örnek
Improved the code by fixing a bug.

Changed the files a.php and b.php

Bug: T42 Change-Id: I88c5f819c42d9fe1468be6b2cf74413d7d6d6907

Konu
Git komutunu görüntülediğimiz çoğu program, konu satırını düz metin olarak işler. Bu, URL'lerin çalışmadığı ve metnin sıklıkla seçilmesi/kopyalanmasının mümkün olmadığı anlamına gelir. Bu nedenle, konu satırında Phabricator görevlerinden, Git taahhütlerinden veya URL'lerinden bahsetmeyin. Bunun yerine, gövde metninden veya altbilgi meta verilerinden bahsedin. Bu şekilde, evrensel olarak seçilebilir, kopyalanabilir veya tıklayabilirler.


 * Gerrit şu konuyu kullanır: e-posta bildirimleri, IRC bildirimleri, arama sonuçları.
 * GitHub şu konuyu kullanır: kesinleştirme geçmişi, kesinleştirme konusu.
 * Git CLI aşağıdaki konuyu kullanır:,  ,  ,  , etc.
 * ve daha fazlası!
 * ve daha fazlası!

Bileşen
Konu satırına, taahhüdünüz tarafından projenin hangi alanının değiştirildiğini belirten bir bileşenle başlayabilirsiniz.

Aşağıdakilerden biri olmalıdır:


 * gibi  veya "installer", "jobqueue", "objectcache", "resourceloader", "rdbms" altındaki PHP sınıfları dizini.
 * "Title", "User", "OutputPage" gibi bir PHP sınıfı adı; genellikle  alt dizini olmayan sınıflar için.
 * ResourceLoader modül adı ("mediawiki.Title", "mediawiki.util" gibi).
 * Değişiklik türüyle ilgili birden fazla alanı etkileyen genel anahtar kelime, örneğin:
 * "build" -,   güncellemeler gibi geliştirme iş akışıyla ilgili dosyalarda yapılan değişiklikler için.
 * "tests", "qunit", "phpunit" - yalnızca birim veya entegrasyon test paketlerini veya test paketi çalıştırma etkileyen değişiklikler için.

Phabricator
bir hataya veya göreve başvurmak için, taahhüt mesajında Txxx gösterimini kullanarak satır içinde belirtin (ör. " That was caused by T169. ")

Bir taahhüdün çözüldüğünü (kısmen de olsa) veya bir hatayla özellikle ilgili olduğunu ifade etmek için, taahhüt mesajının sonuna altbilgiye  ekleyin. (Bir taahhüt iletisini değiştiriyorsanız, aralarında boş bir satır olmadan hemen  satırının üstüne ekleyin.)

Bug: T169

Bir bot otomatik olarak Phabricator'ın görevi hakkında önemli olaylar (birleştirilmiş, terk edilmiş vb.) hakkında bir yorum bırakacaktır. Bir yama iki veya daha fazla hatayı giderirse, her  kaynağı altta kendi satırına koyun.

Çapraz kaynaklar
Ne zaman başka bir işleme başvurursanız, birleştirilmiş işlemin SHA-1 git karmasını kullanın. Hâlâ incelenmeyi bekliyorsa, git ayrı karması yerine Gerrit Change-Id karmasını kullanın, çünkü karma ayrı bir yama kümesiyle ilgilidir (yeniden temel alındığında değişir, böylece çıkmaz oluşturur).

Change-Id
'in  aracı otomatik olarak "Change-Id: Ixxx" anahtar kelimesini yeni taahhütlere ekleyecektir.

Bağımlılıklar
Çapraz repo bağımlılığı (taahhüdünüz farklı bir depodaki başka bir işleme bağlıysa) varsa, son paragrafa  ekleyerek bunları beyan edin. ("Ixxx"... diğer taahhütlerin .) Bu Zuul'a taahhüdü bununla birlikte test etmesini söyleyecektir.

Daha fazla okuma

 * Node.js Taahhüt Kuralları
 * Git Temel Taahhüt Kuralları
 * jQuery Taahhüt Kuralları
 * Erlang Taahhüt Kuralları
 * Git Tamamlama Mesajları Hakkında Bir Not - Tim Pope tarafından
 * Git Tamamlama Mesajı Nasıl Yazılır - Chris Beams tarafından
 * Git Tamamlama Mesajları Hakkında Bir Not - Tim Pope tarafından
 * Git Tamamlama Mesajı Nasıl Yazılır - Chris Beams tarafından