GitHub Radar — Jujutsu
Git uyumlu, birinci sınıf çakışma kaydı ve işlem günlüğü üzerine kurulu operasyonel geri alma kabiliyetli versiyon kontrol sistemi.
Jujutsu (kısa adıyla jj), modern yazılım mühendisliği ekipleri için Git protokolü ve depolarıyla geriye dönük tam uyumluluk sağlayan, ancak Git’in yirmi yıllık hantal iç mimarisini radikal biçimde yeniden tasarlayan dağıtık bir versiyon kontrol sistemidir (DVCS) 1. Geleneksel Git iş akışlarında indeks (staging area) karmaşası, rebase sırasında patlayan çakışmalar nedeniyle tüm akışın donması ve kayıp commit korkusu gibi zihinsel yüklerin tamamını ortadan kaldıran Jujutsu; çalışma kopyasını doğrudan bir commit olarak ele alan ve her operasyonu bir işlem günlüğüyle (operation log) güvenceye alan modern bir mühendislik motorudur 2.
Açık kaynak dünyasında 31 bin yıldız ve son commit 1 gün önce düzeyinde güçlü bir benimsenmeye sahip olan repo, yoğun geliştirici trafiğini belgeleyen 809 açık issue ve disiplinli dağıtım takvimini kanıtlayan son sürüm v0.45.1 (Ağustos 2026) metrikleriyle canlılığını korumaktadır.
Mimari Deep-Dive: Jujutsu
Jujutsu’nun mimarisi, Git’in veri modelindeki yapısal kusurları işletim sistemi ve veri yapıları seviyesinde çözmek üzere sıfırdan kurgulanmıştır. Proje bütünüyle Rust diliyle geliştirilmiştir 1. Bellek güvenliği (memory safety), veri yarışından arındırılmış (data-race free) eşzamanlılık ve güçlü tip sistemi; Jujutsu’nun karmaşık yönlendirilmiş çevrimsiz çizge (DAG) mutasyonlarını, revset fonksiyonel sorgu dilini ve dosya sistemi senkronizasyonunu sıfır ek yükle yürütmesi için sağlam bir temel oluşturur.
İlk radikal karar, Git’in ara bellek katmanı olan indeksin (git add / staging area) tamamen lağvedilmesidir. Jujutsu’da çalışma dizini her an geçerli, anonim bir commit’tir (@). Dosya sistemindeki herhangi bir değişiklik anında bu commit’in durumuna yansır; böylece commit oluşturmak için dosyaları tek tek hazırlama ritüeli ortadan kalkar. İkinci ve çok daha devrimci mimari kopuş ise birinci sınıf çakışmalar (first-class conflicts) yaklaşımıdır 3. Git’te bir dal birleştirme (merge) veya taban değiştirme (rebase) sırasında çakışma çıktığında işletim sistemi seviyesinde süreç kilitlenir, çalışma alanı çakışma işaretçileriyle kirletilir ve mühendis çakışmayı çözmeden başka hiçbir komut çalıştıramaz. Jujutsu’da ise çakışma, ağaç nesnesinin kendi içinde temsil edilen geçerli bir veri yapısıdır. Çok yönlü çakışmalar doğrudan commit içine kaydedilir. Geliştirici çakışmayı o an çözmek zorunda kalmadan dilediği gibi dal değiştirebilir, rebase işlemine devam edebilir veya çakışmalı bir commit’i üretime giden başka bir commit dizisinin altına taşıyabilir.
Üçüncü temel mimari sütun İşlem Günlüğüdür (Operation Log) 2. Git’in yerel ve kırılgan reflog mekanizmasının aksine Jujutsu, depoda yürütülen her bir işlemi (commit, rebase, squash, split) yönlendirilmiş çevrimsiz bir çizge (DAG) olarak kaydeder. jj op undo veya jj op restore komutları, deponun geçmişteki herhangi bir anındaki tüm referans ve ağaç durumunu eksiksiz biçimde geri yükler. Bu durum, yanlışlıkla çalıştırılan yıkıcı komutların veriyi silmesini imkansız kılar. Ayrıca Git nesne modelini (.git) doğrudan bir depolama arka yüzü olarak kullanabildiği için mevcut Git altyapılarıyla ve GitHub/GitLab uzak sunucularıyla kusursuz bir birliktelik (colocated repository) sağlar.
Kod ve Topluluk Sağlığı
Jujutsu, Google mühendisi Martin von Zweigbergk tarafından başlatılmış ve bugün geniş bir kıdemli sistem programcısı topluluğu ile bağımsız jj-vcs organizasyonu tarafından sürdürülen yüksek mühendislik olgunluğuna sahip bir projedir 1. Proje, Google içindeki devasa monorepo ihtiyaçlarından ve Mercurial deneyimlerinden süzülen pratik mimari dersler üzerine inşa edilmiştir.
Kod tabanı jj-lib, jj-cli ve jj-core gibi modüler sandıklara (crates) bölünmüştür; böylece çekirdek versiyon kontrol mantığı arayüzden tamamen izole edilmiştir. Çekirdek depoya gönderilen PR’lar son derece sıkı mimari incelemelerden geçer. Gix ve libgit2 arka yüz uyumlulukları, SHA-256 imzalı commit entegrasyonları ve platformlar arası dosya sistemi davranışları sürekli entegrasyon (CI) testleriyle denetlenir 4. Maintainer kadrosu açık issue bildirimlerini düzenli olarak sınıflandırmakta, hata raporlarına birkaç gün içinde yanıt vermekte ve teknik borçları halının altına süpürmeden adreslemektedir. Sürüm notları her güncellemede API ve CLI değişikliklerini şeffaf biçimde belgeler. health_score bu bölümden türer: issue kapanma hızı, sürüm düzeni, bakımcı ekibi. Ajanın tahminidir; künyede öyle yazılır. Projenin tutarlı sürümleme takvimi, derin teknik inceleme kültürü ve kurumsal mühendislik desteği dikkate alınarak mimari güvenilirlik puanı health_score: 8.6 olarak takdir edilmiştir.
Production Riski: Gerçekten Kullanılır mı?
Jujutsu’yu bireysel iş akışlarına veya kurumsal geliştirme ortamlarına entegre etmeyi düşünen mimarlar için lisans tarafında hiçbir risk yoktur; proje tamamen açık kaynaklı ve temiz bir Apache 2.0 lisansıyla dağıtılmaktadır 5. Herhangi bir ticari kısıtlama veya CLA zorunluluğu bulunmamaktadır.
Jujutsu’nun üretim ortamlarında hayat kurtardığı senaryo, karmaşık özellik dalları (stacked diffs / trunk-based development) geliştiren, günde onlarca kez rebase ve cherry-pick yapmak zorunda kalan ve Git çakışmalarını çözerken çalışma kaybeden mühendislik ekipleridir. Mevcut Git depolarıyla aynı dizinde ortaklaşa (colocated) çalışabilmesi, GitHub veya GitLab gibi merkezi kod sunucularını değiştirmeden yerel istemci seviyesinde devrimsel bir hız ve güvenlik artışı sağlar.
Buna karşın, operasyonel adaptasyon riskleri göz ardı edilmemelidir. Jujutsu henüz v0.45.x sürüm aşamasındadır; bu durum zaman zaman CLI komut sözdiziminde veya yapılandırma şemasında küçük kırılmalar yaşanabileceğini gösterir. İkinci temel kısıt, kurumsal IDE ve grafik arayüz (GUI) ekosisteminin olgunlaşmamış olmasıdır. VS Code, JetBrains veya popüler Git eklentileri doğrudan Git nesne modeline baktığından, Jujutsu’nun çakışmalı durumlarını veya geçici commit ağaçlarını görselleştirmede yetersiz kalabilir. Ekibiniz uçbirim (terminal) odaklı çalışmıyorsa ve Git temellerine hakim değilse, yeni kavram setini öğrenmek başlangıçta sürtünme yaratabilir. Ancak deneyimli sistem mühendisleri için sunduğu verimlilik kazanımı bu geçiş maliyetini fazlasıyla karşılar.