1 puan yazan GN⁺ 4 시간 전 | 1 yorum | WhatsApp'ta paylaş
  • Tarayıcıda büyük GitHub diff'lerini hızlıca gözden geçirmek gerektiğinde, DiffsHub herkese açık diff'leri sanalleştirilmiş bir arayüzle gösteren bir araçtır
  • GitHub URL'sindeki github.com kısmını diffshub.com ile değiştirerek PR, karşılaştırma, commit, diff ve patch değişikliklerini doğrudan görüntüleyebilirsiniz
  • Ayrı bir dönüştürme süreci olmadan mevcut URL yapısını korur; github.com/org/repo/pull/number adresini diffshub.com/org/repo/pull/number olarak değiştirip erişmeniz yeterlidir
  • Linux v6.0...v7.0 gibi milyonlarca satırlık karşılaştırmaları işleyebilir, ancak mobil tarayıcılarda zaman zaman çökebilir
  • GitHub, 100k satırı aşan diff'lerde ilk bayt yanıtını geciktirebilir ve içeriği her zaman kararlı biçimde sunmayabilir; bu yüzden büyük değişiklik incelemeleri için bir alternatif olarak görülebilir

GitHub URL'sini aynen kullanan diff görüntüleyici

  • DiffsHub, herkese açık GitHub diff'lerini hızlı ve okunabilir bir sanalleştirilmiş arayüzde görüntülemek için kullanılan bir araçtır
  • Desteklenen içerikler: PR, karşılaştırma, commit, diff, patch
  • Kullanıcı yalnızca GitHub URL'sindeki alan adını değiştirerek erişir
    • github.com/org/repo/pull/number
    • diffshub.com/org/repo/pull/number

Milyonlarca satırlık diff'ler ve kısıtlar

  • DiffsHub, milyonlarca satır ölçeğindeki karşılaştırmaları işleyebilir
  • Örnek olarak Linux v6.0...v7.0 karşılaştırması görülebilir
  • Bu tür büyük karşılaştırmalar mobil tarayıcılarda zaman zaman çökebilir
  • GitHub, 100k satırı aşan diff'leri gecikmiş ilk bayt yanıtıyla ve kararsız biçimde sunabilir

1 yorum

 
GN⁺ 4 시간 전
Lobste.rs görüşleri
  • diff görünümü ile vibecoding etiketinin ne ilgisi olduğunu anlamaya çalıştım
    Sonra bağlamı ve yaşananları takip edip bunun neden böyle olduğunu anladım. Gürültü çıkardığım için @quad'dan özür dilerim; etiketin artık kaldırıldığını da gördüm

    • Lobsters biraz tuhaf bir döneme girdi; insanlar bir projenin “vibecoded gibi görünüp görünmediğine” kafalarına göre karar veriyor
      Örneğin düşük kod kalitesi, az commit sayısı, hatta depoda CLAUDE.md bulunması gibi nedenlerle vibecoding etiketi yapıştırılıyor ama bunun pek bir anlamı varmış gibi görünmüyor
    • Depoda CLAUDE.md vardı. Burada yanlış kaldırılmış; bu yazı için uygun bir etiketti diye düşünüyorum
    • Neyse ki o etiket artık kaldırılmış gibi görünüyor
  • Ek bağlam olarak şu yazı ilgili görünüyor: On Rendering Diffs
    Ana sayfada bağlantısı verilen Linux diff'ine göz atarken bile akıcılık oldukça etkileyiciydi. Kaydırma çubuğunu doğrudan sürükleyince bunu anlayabiliyorsunuz. Keşke Github ya da diğer tarayıcı tabanlı diff editörleri ve işte kullandığım Graphite da bu kadar akıcı olsaydı
    Öte yandan buna hayran kalıyor olmamız bile garip. Zaten standardın bu olması gerekmiyor mu?

    • Diff render işinin büyük kısmını yapan kişiyle ve o yazının yazarıyla tanışıyorum. Süreç boyunca mesajla canlı güncellemeler alıyordum; ne kadar çok araştırma ve emek verildiği gerçekten etkileyiciydi
      Kelimenin tam anlamıyla aylar süren tam zamanlı iş, diff'leri hızlı render etmek için harcandı
      Bu arada “vibecoding” etiketi takılmış olsa da ben hâlâ anlamıyorum; bu işin onunla uzaktan yakından ilgisi yoktu. Büyük kısmı zor araştırma, tarayıcı implementasyon kodunu okuma, deneme-yanılma ve problemi mühendislik usulü derinlemesine ele alma işiydi
      Çok dar kapsamlı ve ödülü net olan bazı keşif işlerinde agent loop kullanıldı, ama bildiğim kadarıyla insan içgörüsü ve incelemesi olmadan eklenen hiçbir şey yoktu. Blog yazısı da sanırım bu noktaya değiniyor ve bu, toplam çalışmanın gerçekten çok küçük bir kısmıydı. Sırf bu yüzden mühendislik emeğini küçümsemek anlamsız
      Blog yazısını okumanızı ya da koda bakmanızı şiddetle tavsiye ederim. Şaşırtıcı derecede iyi bir iş ve öğrenilecek çok şey var
    • Gerçekten de standardın bu olması lazım. Keşke Gitlab ve Forgejo da bunu benimsese
      Kendim test etmek için bir bookmarklet yaptım:
      javascript:(function(){window.open(window.location.href.replace('github.com','diffshub.com'),'_blank');})();
      
      Ne yazık ki birçok PR'da, özellikle de büyük PR'larda yorum özelliği gerekiyor. Pierre bunu ne zaman o alana da taşıyıp örneğin https://www.reviewable.io/ benzeri bir şey yapacak, görmek ilginç olacak
  • npmjs Apache 2 diyor ama depoda lisans yoktu ve package.json içinde "private":true bile vardı; nedenini anlamak zordu
    Cevap, her dizinin ayrı ayrı lisanslandığı bir yapı gibi görünüyor: https://github.com/pierrecomputer/pierre/…
    Ayrıca diffshub'ın kendisi açık kaynak kısma dahil değil gibi görünüyor: https://github.com/pierrecomputer/pierre/…
    Bu tür cerrahi lisanslama yaklaşımı, https://github.com/pierrecomputer/pierre/… gibi dizinleri belirsiz bırakıyor. Çünkü o dizinde Apache 2 LICENCE.md yok; gerçi package.json alanını yetkili kabul edersek durum değişebilir

  • Kontrast dışında UI, Github'dan daha iyi görünüyor. Erişilebilirlik konusunda emin değilim

  • Bu arada Github'daki tüm pull request'lerde sonuna .diff ekleyerek diff alabilirsiniz
    Örnek: https://github.com/oven-sh/bun/pull/30412.diff
    .patch eklerseniz git am'e verebileceğiniz biçimi de alabilirsiniz: https://github.com/oven-sh/bun/pull/30412.patch

    • error: too big or took too long to generate
      Bu PR'ı özellikle o yüzden mi seçtin? :D
  • Belki de araçlar konusundaki beklentim başka insanlara göre daha düşüktür ama bunu Github'ın kendi özelliğiyle kıyasladığımda pratik farkın ne olduğunu pek göremiyorum
    Herkes Github'ın ne kadar kötü olduğundan yakınıyor ama ben aynı deneyimi yaşamadım. Neden Github yerine bunu kullanmam gerektiğini anlamıyorum

    • Bunun benim için neden önemli olduğunu gösteren bir video kaydettim. Video X'te olduğu için kusura bakmayın ama oraya yükledim
      Tarihsel olarak genel deneyimim buydu; hızın neden önemli olduğunu da anlatıyorum. Bir iş yeterince uzun süre yavaş kalırsa zihnim başka yerlere kayıyor ve bu da akış durumunu ciddi biçimde bozuyor
      Video, bir PR açıp belirli bir dosyaya gitmenin ne kadar sürdüğünü yan yana karşılaştırıyor. Benim için oldukça yaygın bir günlük iş
      https://x.com/mitchellh/status/2057229385963618787
  • pulldash (coder.com yapımı) ya da difit (localhost sayfası açan bir CLI) ile oldukça benzer görünüyor
    İkisini de pek sevmiyorum. pulldash biraz takılıyordu, difit ise ek uğraş istiyordu. Self-review için şu anda git tree compare adlı VSCode eklentisini kullanıyorum
    Bu hızlı ve genel görsel tasarımını da beğeniyorum. Kendi PR'larımdan biriyle denedim; yeterince iyi göründü, PC'de yer imlerine de eklenebilir