Tôi cố gắng thực hiện một bản vá như được giới thiệu ở đây .
Nói rằng tôi có hai thư mục pp1(modified version)
và pp0(clean version)
, tôi tạo một tệp vá pp0.patch
bằng diff
lệnh:
diff -crB pp0 pp1 > pp0.patch
Vấn đề là nếu chỉ có một tệp trong pp1, thì nó sẽ không được đưa vào bản vá. Làm thế nào để làm việc xung quanh nó?
CẬP NHẬT :
Trước tiên tôi thay đổi vào thư mục của pp0 và kiểm tra xem bản vá có thành công không
patch --dry-run -p1 -i /path-to-pp0.patch
Mặc dù tôi đã thêm --new-file
vào diff
lệnh, những chỉ ở pp1
không được liệt kê trong kết quả
CẬP NHẬT :
Tôi đã vô tình vá các tập tin sai
diff -crb --new-file pp1 pp0 > pp0.patch
hoặc là
diff -crNb pp1 pp0 > pp0.patch
sẽ làm