<Trước | Nội dung | Tiếp theo>
bản vá
bản vá chương trình được sử dụng để áp dụng các thay đổi cho tệp văn bản. Nó chấp nhận đầu ra từ khác và thường được sử dụng để chuyển đổi phiên bản tệp cũ hơn thành phiên bản mới hơn. Hãy xem xét một ví dụ nổi tiếng. Nhân Linux được phát triển bởi một nhóm lớn, được tổ chức lỏng lẻo gồm
những người đóng góp gửi một loạt các thay đổi nhỏ liên tục cho mã nguồn. Nhân Linux bao gồm vài triệu dòng mã, trong khi những thay đổi được thực hiện bởi một người đóng góp cùng một lúc là khá nhỏ. Không có ý nghĩa gì nếu một người đóng góp gửi cho mỗi nhà phát triển toàn bộ cây nguồn hạt nhân mỗi khi thực hiện một thay đổi nhỏ. Thay vào đó, một tệp khác được gửi. Tệp khác biệt chứa sự thay đổi từ phiên bản trước của hạt nhân sang phiên bản mới với những thay đổi của người đóng góp. Người nhận sau đó sử dụng bản vá chương trình áp dụng thay đổi cho cây nguồn của riêng mình. Sử dụng khác/bản vá cung cấp hai lợi thế đáng kể:
1. Tệp khác biệt rất nhỏ, so với kích thước đầy đủ của cây nguồn.
2. Tệp khác biệt hiển thị một cách chính xác thay đổi đang được thực hiện, cho phép những người xem xét bản vá nhanh chóng đánh giá nó.
Tất nhiên, khác/bản vá sẽ hoạt động trên bất kỳ tệp văn bản nào, không chỉ mã nguồn. Nó sẽ được áp dụng như nhau cho các tệp cấu hình hoặc bất kỳ văn bản nào khác.
Để chuẩn bị một tệp khác để sử dụng với bản vá, tài liệu GNU (xem phần Đọc thêm bên dưới) đề xuất sử dụng khác như sau:
khác -Naur tệp_cũ_tệp_mới > tập tin khác biệt
Ở đâu tập tin cũ và tập tin mới là các tệp đơn lẻ hoặc thư mục chứa tệp. Các r
tùy chọn hỗ trợ đệ quy cây thư mục.
Khi tệp khác biệt đã được tạo, chúng tôi có thể áp dụng nó để vá tệp cũ thành tệp mới:
vá tập tin khác biệt
Chúng tôi sẽ chứng minh bằng tệp thử nghiệm của mình:
[tôi @ linuxbox ~] $ diff -Naur file1.txt file2.txt> patchfile.txt
[tôi @ linuxbox ~] $ bản vá <patchfile.txt
vá tệp tin file1.txt [me @ linuxbox ~] $ tệp mèo1.txt b
cde
[tôi @ linuxbox ~] $ diff -Naur file1.txt file2.txt> patchfile.txt
[tôi @ linuxbox ~] $ bản vá <patchfile.txt
vá tệp tin file1.txt [me @ linuxbox ~] $ tệp mèo1.txt b
cde
Trong ví dụ này, chúng tôi đã tạo một tệp khác biệt có tên patchfile.txt và sau đó sử dụng bản vá chương trình để áp dụng các bản vá. Lưu ý rằng chúng tôi không phải chỉ định tệp đích để bản vá, vì tệp khác biệt (ở định dạng thống nhất) đã chứa tên tệp trong tiêu đề. Sau khi bản vá được áp dụng, chúng ta có thể thấy rằng tệp1.txt bây giờ phù hợp tệp2.txt.
bản vá có một số lượng lớn các tùy chọn và có các chương trình tiện ích bổ sung có thể được sử dụng để phân tích và chỉnh sửa các bản vá.
<Trước | Nội dung | Tiếp theo>