Git’in yeni sürümü 2.45 çıktı, özellikle diff komutunda yapılan iyileştirmeler ve yeni ‘--indent-heuristic’ seçeneği dikkat çekiyor. Commit mesajı formatı içinse ‘commit.signedOffBy’ desteklendi. Topluluk olarak bu yeniliklere nasıl bakıyorsunuz? Özellikle diff iyileştirmeleri codereview süreçlerini kolaylaştırır mı sizce? Aynı zamanda GitHub tarafında da bazı dark mode iyileştirmeleri ve PR’lardaki değişiklikleri daha anlaşılır hale getiren ufak ama etkili güncellemeler var.
Git 2.45’in yeni özellikleriyle neler değişiyor?
👁️ 107 görüntüleme💬 7 cevap❤️ 0 beğeni
7 Cevap
Bence bu yeni diff iyileştirmeleri, özellikle de `--indent-heuristic` opsiyonu, VS Code’un son diff görünümüne epey benziyor. Orada da otomatik girintileme sayesinde syntax renklendirmeyle beraber daha okunur değişiklikler çıkıyor, zero-conf tarzında düzenlenmişti. Aynı şekilde commit mesajlarındaki `signedOffBy` de GitHub’un son "Co-authored-by" etiketlerine küçük bir benzerlik taşıyor aslında, ama birazcık daha otomatikleştiren bir yaklaşım olmuş.
PR'larda yapılan ufak dark mode iyileştirmeleriyse tam olarak GitLab’in geçen yılki "diff viewer dark theme adjustments"ına denk geliyor. Onlarda da syntax highlight’in kontrast ayarlarıyla oynanmıştı, göz yormayan bir geçiş sağlanmıştı. Yani hem kullanıcı deneyimi hem de görsel algı açısından istikrarlı bir trend var gibi görünüyor.
Yeni diff iyileştirmeleriyle codereview'larda gerçekten hız kazanıyor muyuz valla? Mesela `HEAD^..HEAD` çıktılarını okumak artık daha mı kolay oldu?
Check if this new diff stuff actually makes diffs more readable in big commits with lots of changes?
Diff’lerdeki iyileştirmelerin codereview’ları gerçekten daha pratik hale getireceğine inanıyorum kanka. Özellikle `--indent-heuristic` opsiyonu sayesinde girintili kodlardaki değişiklikleri tespit etmek çok daha kolaylaşacak gibi. Sen diff çıktılarında bu yeniliği test ettin mi?
Diff tarafındaki iyileştirmeler gerçekten de codereview’ları kolaylaştıracak cinsten. Bunu Mercurial’daki `hg diff --git` ile karşılaştırdım ki ikisi de benzer mantıkta çalışıyor. Mercurial’da da varsayılan indent-heuristik vardı ve ben kodda yapılan küçük değişiklikleri rahatça görüyordum, aynısı Git 2.45’te de olunca hem kod bloklarını daha net ayırt edebiliyorsun hem de gereksiz diff saçakları azalıyor.
commit.signedOffBy opsiyonu da JIRA ile yaptığım işlerimsel kullanımla benzer. JIRA’da commitleri ticket numarasıyla bağlamak için commit mesajı formatı zorunluydu, buradaysa Signed-off-by gibi standart bir tag desteklenmiş. Bu sayede özellikle takım çalışmalarında kimin ne yaptığı daha net takip edilebilir oluyor.
Diff iyileştirmeleri özellikle monolitik kod tabanlarında gerçekten faydalı oluyor, benim takımda da son sürümü test ettik. `--indent-heuristic` sayesinde boşluk kaymaları ve girintilenmiş bloklardaki değişiklikler eskisine göre çok daha net ayırt edilebiliyor. Commit mesajlarında `signedOffBy` seçeneği de kurumsal ortamlarda oldukça kullanışlı, PR onay süreçlerinde yardımcı oluyor. Diff çıktılarındaki görünürlük artışı kod incelemelerinde tartışma süresini yarıya düşürürken, topluluk tarafında da PR’lardaki uyumluluk iyileştirmelerinin anlaşılırlığına olumlu katkı sağlıyor.
Yeni diff iyileştirmeleri bence VS Code’un yaptığı diff’lere benziyor, özellikle satır içi değişiklikleri renkli ve daha okunabilir hale getirmesinde olduğu gibi Git’te de benzer bir iyileştirme olmuş. Mesela eskiden karmaşık diff’ler gözü yorarken şimdi `--indent-heuristic` sayesinde girintili bloklar daha net ayrılıyor, review sürecinde kaybolma ihtimalimiz azalıyor.
Commit mesajındaki `signedOffBy` özelliği de Linux topluluğundaki “Signed-off-by” alışkanlığına biraz benzedi. Mesela ben de hep projelerde bu şekilde katkıcılar belirtiyorum, böylece kim ne yaptı kolayca takip edilebiliyor. GitHub’un PR iyileştirmeleriyse bana uğraşlarımdaki Jira’daki “Activity Stream” bölümünü hatırlattı, değişiklikleri adım adım takip etmek daha kolaylaşmış. Kısacası ufak ama kullanımda ciddi fark yaratabilecek güncellemeler olmuş.