Man của mấy thằng này dài quá, nhìn là thấy ớn, không muốn đọc rồi , đành đi xem người ta xài sao rồi đọc cái tham số đó.
Diff
Ra là thằng này chơi được cả với thư mục luôn, tiện hỉ. Ở đây, người ta xài luôn 1 tràng:
diff -Naur olddir newdir > new-patch
- or -
diff -Naur oldfile newfile >new-patch
Mấy cái tham số:
-N Coi tệp thiếu như một tệp trống, cái này hình như chơi để mần cái tệp mới.
-a Coi thằng mô cũng như tệp văn bản.
-r Chui vô ngõ ngách để mần.
---
Path
Thằng này cũng khá dễ dùng. Nó lấy nguồn từ stdin hoặc dùng tham số -i để chỉ ra tệp để patch. Mặc định nó sẽ xuất ra cái file được chỉ trong tệp patch, hoặc dùng -o để chỉ ra tệp xuất ra sau khi thực hiện.
Một số tham số khác:
-b Xài để dự phòng cái tệp mình sửa.
-d Chỉ ra thư mục để xài.
-R Đảo ngược 2 tệp khai báo trong đầu đề (header) của tệp patch.
Còn một tham số nữa là -p
Ví dụ, trong đó chỉ ra cái đường dẫn là /duong/dan/den/mo/day:
-p0 Cho lại nguyên.
-p0 duong/dan/den/mo/day
-p1 dan/den/mo/day
...
Còn lại mấy cái tham số, hoặc thấy không cần, hoặc đọc không hiểu :P.
---
Nguồn:
-How to create and use a patch in Linux
-Commands Reference, Volume 4
-patch (Unix)
---
Còn merge đọc chưa hiểu nó viết quái vì, có lẽ cần gặm nhấm thêm.
3 bình loạn:
patch chỉ cần biết (ít ra là tui chỉ biết) hai tham số: -pN và --dry-run. Chạy --dry-run trước coi có ổn không trước khi patch thiệt.
Hờ, --dry-run cũng gần tương tự -o :D.
Mà người ta mần cho rồi cũng phải thử lại sao anh?
Nếu chắc chắn code để patch y chang như đoạn code được dùng để tạo patch thì khỏi. Nhưng thường thì nên --dry-run trước cho chắc (dùng để thử -pN cũng được, tui lười suy nghĩ nên cứ thử từ từ, từ -p0 tới -p3 :P). Chuyện không patch được cũng ko phải hiếm gặp.