Tạo và áp dụng các bản vá

Đối với các dự án mã nguồn mở như thế này tất cả mọi người đều có truy cập đọc vào kho lưu trữ, và bất cứ ai cũng có thể đóng góp cho dự án. Vì vậy, làm thế nào quản lý những đóng góp đó? Nếu bất kỳ ai cũng có thể cam kết thay đổi, dự án sẽ được vĩnh viễn không ổn định và có lẽ vĩnh viễn bị phá vỡ. Trong trường hợp này thay đổi được quản lý bằng cách nộp một tập tin bản vá để nhóm phát triển, những người có quyền truy cập ghi. Họ có thể xem lại các bản vá trước, và sau đó, hoặc gửi vào kho hoặc từ chối nó trở lại cho tác giả.

Các file vá chỉ đơn giản là các tập tin khác biệt-thống nhất hiển thị các khác biệt giữa bản sao làm việc của bạn và bản sửa đổi cơ sở.

Tạo một tập tin v

Trước tiên, bạn cần phải thực hiện và thử nghiệm các thay đổi của bạn. Sau đó thay vì sử dụng TortoiseSVN Cam kết ... trên thư mục mẹ, bạn chọn TortoiseSVN Tạo Bản Vá ...

Hình 4.58. Hộp thoại Tạo Bản Vá

Hộp thoại Tạo Bản Vá

bây giờ bạn có thể chọn các tập tin bạn muốn đưa vào bản vá, cũng giống như bạn làm với một cam kết đầy đủ. Việc này sẽ tạo ra một tập tin duy nhất có chứa một bản tóm tắt của tất cả các thay đổi bạn đã thực hiện trong các tập tin được chọn kể từ khi lần cập nhật cuối từ ​​kho.

Các cột trong hộp thoại này có thể được tùy chỉnh trong cùng một cách như các cột trong hộp thoại Kiểm tra để sửa đổi . Đọc phần “Trạng thái địa phương và từ xa” để biết thêm chi tiết.

Bằng cách nhấp vào nút Tùy chọn , bạn có thể xác định bản vá lỗi được tạo ra như thế nào. Ví dụ, bạn có thể xác định rằng những thay đổi trong các kết thúc dòng hay khoảng trắng không được bao gồm trong các tập tin vá lỗi cuối cùng.

Bạn có thể tạo ra các bản vá lỗi riêng biệt có chứa các thay đổi đối với các tập hợp tập tin khác nhau. Tất nhiên, nếu bạn tạo ra một tập tin bản vá, thực hiện thêm vài thay đổi đến cùng các tập tin và sau đó tạo ra một bản vá khác, tập tin vá lỗi thứ hai sẽ bao gồm cả hai tập h thay đổi.

Chỉ cần lưu tập tin bằng cách sử dụng một tên tập tin do bạn lựa chọn. Các tập tin vá lỗi có thể có bất kỳ phần mở rộng mà bạn thích, nhưng theo quy ước, họ nên sử dụng phần mở rộng .patch hoặc .diff . Bây giờ bạn đã sẵn sàng để n tập tin bản vá của bạn.

Mẹo

Do not save the patch file with a .txt extension if you intend to send it via email to someone else. Plain text files are often mangled with by the email software and it often happens that whitespaces and newline chars are automatically converted and compressed. If that happens, the patch won't apply smoothly. So use .patch or .diff as the extension when you save the patch file.

Bạn cũng có thể lưu các bản vá vào clipboard thay vì vào một tập tin. Bạn có thể muốn làm điều này để bạn có thể dán nó vào một thư điện tử để xem xét bởi những người khác. Hoặc nếu bạn có hai bản sao làm việc trên một máy và bạn muốn chuyển giao thay đổi từ một bản đến bản khác, một bản vá lỗi trong clipboard là một cách thuận tiện để làm điều này.

Nếu bạn thích, bạn có thể tạo một tập tin bản vá từ bên trong hộp thoại Cam kết hoặc Kiểm tra cho sửa đổi . Chỉ cần chọn các tập tin và sử dụng các mục trình đơn ngữ cảnh để tạo ra một bản vá từ những tập tin. Nếu bạn muốn xem hộp thoại Tùy chọn , bạn phải giữ shift khi bạn nhấp chuột phải .

Áp dụng một tập tin v

Các tập tin vá lỗi được áp dụng vào bản sao làm việc của bạn. Điều này nên được thực hiện từ cấp độ thư mục tương tự như đã được sử dụng để tạo ra các bản vá. Nếu bạn không chắc chắn việc này là gì, chỉ cần nhìn vào dòng đầu tiên của các tập tin vá lỗi. Ví dụ, nếu tập tin đầu tiên đang được làm việc là doc/source/english/chapter1.xml và dòng đầu tiên trong các tập tin vá lỗi là Index: english/chapter1.xml thì bạn cần phải áp dụng các bản vá vào thư mục doc/source/ . Tuy nhiên, giả sử là bạn đang ở trong bản sao làm việc đúng, nếu bạn chọn cấp độ thư mục sai, TortoiseSVN sẽ thông báo và đề nghị mức độ chính xác.

Để áp dụng một tập tin bản vá vào bản sao làm việc của bạn, bạn cần phải có ít nhất là truy cập đọc vào kho lưu trữ. Lý do cho điều này là chương trình hợp nhất phải tham khảo các thay đổi trở lại bản sửa đổi mà đã được thực hiện bởi nhà phát triển từ xa.

Từ trình đơn ngữ cảnh cho thư mục đó, nhấp chuột vào TortoiseSVN Áp dụng bản vá... Việc này sẽ mang đến một hộp thoại mở tập tin cho phép bạn chọn tập tin vá lỗi để áp dụng. Mặc định, chỉ có tập tin .patch hoặc .diff được hiển thị, nhưng bạn có thể lựa chọn Tất cả các tập tin . Nếu bạn trước đó đã lưu một bản vá vào clipboard, bạn có thể sử dụng Mở từ clipboard ... trong hộp thoại mở tập tin. Lưu ý rằng tùy chọn này chỉ xuất hiện nếu bạn đã lưu các bản vá vào clipboard bằng cách sử dụng TortoiseSVN Tạo bản vá... . Sao chép một bản vá vào clipboard từ ứng dụng khác sẽ không làm cho nút bấm này xuất hiện.

Cách khác, nếu các tập tin vá lỗi có phần mở rộng .patch hoặc .diff , bạn có thể nhấp chuột phải vào nó trực tiếp và chọn TortoiseSVN Áp dụng bản vá ... . Trong trường hợp này, bạn sẽ được nhắc nhở để nhập vào vị trí một bản sao làm việc.

Hai phương pháp này chỉ cung cấp các cách khác nhau để làm làm cùng một chuyện. Với phương pháp đầu tiên, bạn chọn WC và duyệt đến tập tin vá lỗi. Với cách thứ hai bạn chọn tập tin vá lỗi và duyệt đến WC.

Một khi bạn đã lựa chọn các tập tin vá lỗi và vị trí bản sao làm việc, TortoiseMerge sẽ chạy để hợp nhất các thay đổi từ tập tin vá lỗi với bản sao làm việc của bạn. Một cửa sổ nhỏ liệt kê các tập tin đã được thay đổi. Lần lượt kích đúp vào mỗi tập tin, xem xét những thay đổi và lưu các tập tin đã được hợp nhất.

Bản vá của các nhà phát triển từ xa đã được áp dụng vào bản sao làm việc của bạn, vì vậy bạn cần phải cam kết để cho phép tất cả mọi người khác được truy cập vào thay đổi từ kho lưu trữ.