bir yamaya yeni bir dosya nasıl eklenir


9

Burada tanıtıldığı gibi bir yama yapmaya çalışıyorum .
Diyelim ki iki dizinim var pp1(modified version)ve şu komutla pp0(clean version)bir yama dosyası pp0.patcholuşturuyorum diff:

 diff -crB pp0 pp1 > pp0.patch

Sorun sadece pp1'de bir dosya varsa, yamaya dahil edilmeyecektir. Nasıl çalışılır?

GÜNCELLEME :
Öncelikle pp0 dizinine geçiyorum ve yamanın başarılı olup olmadığını test ediyorum

  patch --dry-run -p1 -i /path-to-pp0.patch

Ben ekledik olsa --new-fileiçin diffkomuta, bu sadece pp1sonucu listelenmeyen

GÜNCELLEME :
Yanlışlıkla yanlış dosyayı yamaladım

  diff -crb --new-file pp1 pp0 > pp0.patch

veya

  diff -crNb pp1 pp0 > pp0.patch

yapacağım

Yanıtlar:


9

Bunu --new-fileanahtarı kullanarak yapabilmeniz gerekir . Alındığı fark adam sayfası :

 --new-file
          In directory comparison, if a file is found in only  one  direc-
          tory, treat it as present but empty in the other directory.

Bunu dene:

diff -crB --new-file pp0 pp1 > pp0.patch

Doğru yamalı olup olmadığını bilmiyorum ama yeni dosya dahil değil
manuzhang

özür
dilerim

3

Hemen cevap: pootzko tarafından açıklandığıdiff -N gibi . Orada birçok yamanın oluşturulduğunu göreceksiniz .diff -urN

Hayatınızı ne daha iyi hale getirebilir: Bir sürüm kontrol aracı kullanmaya başlayın. Hiç bilmiyorsanız, üç ana dağıtılmış revizyon kontrol sisteminden biriyle başlayın: Bazaar , Git veya Mercurial . Temiz sürümü kontrol edin, çalışın, çalışmanızı istediğiniz kadar kontrol edin ve sürüm kontrol sisteminizden temiz sürüm ile işiniz arasında bir fark olup olmadığını sorun.


thx, gerçek hayatta bir tane olabilir ve bir hata yaparken geçmişe döndü diliyorum :)
manuzhang
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.