diff

diff iki metin dosyasını unified diff olarak karşılaştırır; birlikte gelen patch komutu değişikliği yalnız kaynak bağlamı hâlâ eşleşiyorsa uygular. Yama kaydetmek ve asıl dosyayı değiştirmek açık seçimlerdir.

GeliştirmeSürüm 1.1.3KararlıTakma adlar: patch
lil-terminal

Genel bakış

diff ve patch tek bir inceleme döngüsü gibi kullanılabilir: değişikliği görün, gerekirse kaydedin, ayrı bir hedefe uygulayın ve ancak bundan sonra kaynağın değiştirilip değiştirilmeyeceğine karar verin.

Değişikliği uygulamadan önce incelemek

Pratik akış: diff old.php new.php -o change.patch, ardından patch old.php change.patch. Varsayılan olarak ayrı bir .patched dosyası oluşur; kaynağı yalnız -r değiştirir.

Sözdizimi

lil-terminal
diff <old> <new> [options]

Başvuru

diff <old> <new>

üç bağlam satırlı unified diff göstermek

diff <old> <new> -c <lines>

0 ile 20 arasında bağlam satırı seçmek

diff <old> <new> -q

yalnız dosyaların farklı olup olmadığını bildirmek

diff <old> <new> -o <patch>

diff çıktısını yama dosyasına kaydetmek

patch <file> <patch>

yamayı <file>.patched içine uygulamak

patch <file> <patch> -o <dst>

sonucu başka dosyaya yazmak

patch <file> <patch> -r

kaynak dosyayı atomik değiştirmek

patch <file> <patch> -f

-r kullanmadan mevcut çıktı dosyasını değiştirmeye izin vermek

İncelemek ve uygulamak

diff old.php new.php -o change.patch iki kaynağı değiştirmeden incelenen farkı kaydeder. patch old.php change.patch varsayılan olarak ayrı .patched üretir; -o <dst> başka hedef, -r asıl dosya içindir.

Sınırlar ve güvenlik

Her metin dosyası 4 MiB ve 20000 satırla sınırlıdır; ikili veri reddedilir. Patch yazmadan önce her bağlam satırını doğrular, bu yüzden farklı kaynak sürümüne ait yama değişiklik yapmadan başarısız olur.

Etkileşimli sandbox önizlemesi

Hazırlanmış örnekleri doğrudan sayfada çalıştırın. Sonuçlar önceden hazırlanır ve tarayıcıda gösterilir; sunucuda hiçbir terminal komutu yürütülmez.

Üç bağlam satırlı unified diff göstermek

Kur ve yönet

Güncel uyumlu sürümü kurun. Tüm özellikler için Base, azaltılmış paket için Minimum seçin; zaten kurulu bir modülü güncellemek için upgrade kullanın.

Base ve Minimum aynı geçerli modül sürümünün iki paketidir.

Base paketi

Yerel başvuru ve yayımlanan tüm kiplerle tam paketi kurar.

install diff
Minimum paketi

Azaltılmış paketi kurun. Yerel başvuru dahil değildir; help <cmd> -i güncel sunucu başvurusunu açar.

install diff -m
Tam yayımlanmış sürüm

Tam olarak bu yayımlanmış sürümü kurun.

install diff -v 1.1.3
Kontrol et veya güncelle

upgrade uyumluluğu denetler ve bloğu yalnız gerektiğinde değiştirir.

upgrade diff
Modülü kaldır

Çekirdeğe ve diğer modüllere dokunmadan eklenti bloğunu kaldırır.

install diff -u

Örnekler

Örnekler kopyalanabilir; site bunları çalıştırmaz. Yolları, izinleri ve yıkıcı seçenekleri denetleyin.

Üç bağlam satırlı unified diff göstermek
cd \sandbox | diff workspace/original.txt workspace/updated.txt
--- workspace/original.txt
+++ workspace/updated.txt
@@ -1,2 +1,2 @@
-alpha
+alpha reviewed
0 ile 20 arasında bağlam satırı seçmek
diff workspace/original.txt workspace/updated.txt -c 1
--- workspace/original.txt
+++ workspace/updated.txt
@@ -1,2 +1,2 @@
-alpha
+alpha reviewed
Yalnız dosyaların farklı olup olmadığını bildirmek
diff workspace/original.txt workspace/updated.txt -q
Different  yes
Old        workspace/original.txt
New        workspace/updated.txt
Diff çıktısını yama dosyasına kaydetmek
diff workspace/original.txt workspace/updated.txt -o tmp/workspace.patch
Saved  tmp/workspace.patch
Size   148 B
Yamayı <file>.patched içine uygulamak
patch workspace/original.txt tmp/workspace.patch
Source   workspace/original.txt
Patched  workspace/original.txt.patched

patch, diff modülü tarafından sağlanır ve sistemde patch programı gerektirmeden unified diff dosyalarını kontrollü biçimde uygular.

Sonucu başka dosyaya yazmak
patch workspace/original.txt tmp/workspace.patch -o tmp/patched.txt
Source   workspace/original.txt
Patched  tmp/patched.txt

patch, diff modülü tarafından sağlanır ve sistemde patch programı gerektirmeden unified diff dosyalarını kontrollü biçimde uygular.

-r kullanmadan mevcut çıktı dosyasını değiştirmeye izin vermek
patch workspace/original.txt tmp/workspace.patch -o tmp/current.txt -f
Source   workspace/original.txt
Patched  tmp/current.txt
Replace  explicit

patch, diff modülü tarafından sağlanır ve sistemde patch programı gerektirmeden unified diff dosyalarını kontrollü biçimde uygular.

Kaynak dosyayı atomik değiştirmek
patch workspace/original.txt tmp/workspace.patch -r
Source   workspace/original.txt
Patched  workspace/original.txt

patch, diff modülü tarafından sağlanır ve sistemde patch programı gerektirmeden unified diff dosyalarını kontrollü biçimde uygular.

Eksik karşılaştırma dosyasını ele almak
diff missing.txt workspace/updated.txt
Dosya bulunamadı: missing.txt

Bu örnekte kullanılan dosya: sandbox/workspace/original.txt

Örnek, korumalı /sandbox/ dokümantasyon alanındaki bir dosya veya dizini kullanır.

alpha
beta
gamma

İlgili belgeler

Güncel herkese açık sürüm

v1.1.32026-08-08

İlk kararlı sürüm

diff için güncel kararlı sürüm. diff iki metin dosyasını unified diff olarak karşılaştırır; birlikte gelen patch komutu değişikliği yalnız kaynak bağlamı hâlâ eşleşiyorsa uygular.