Cách vá trên Windows?


16

Với tệp vá lỗi (nguồn), cách dễ nhất để áp dụng bản vá này trên các tệp nguồn trong Windows là gì?

Công cụ GUI nơi tôi có thể so sánh trực quan các dòng nguồn không thay đổi sẽ là tuyệt vời.

4

Patch for Windows là những gì bạn đang tìm kiếm.

+7

Lưu ý rằng bản vá này không phù hợp với UAC của Vista.Hãy thử patch.exe của Git-for-windows thay vào đó, đi kèm với tệp kê khai giải quyết vấn đề. 08 mar. 092009-03-08 21:37:26

+1

@Macke đúng! Xem câu trả lời của tôi về cách thực hiện với GIT! 11 jul. 152015-07-11 14:39:01


-2

WinMerge thật tuyệt vời.

http://winmerge.org/

+2

Winmerge là tuyệt vời trong việc tạo ra các bản vá lỗi, nhưng không phải lúc áp dụng chúng. OP hỏi về cách áp dụng nó. Nó sẽ là một tính năng mới tuyệt vời nếu WinMerge có thể áp dụng một bản vá và sau đó hiển thị những thay đổi đã được thực hiện. 28 oct. 112011-10-28 20:05:51

+1

** Tìm thấy trong Trợ giúp WinMerge ** không thể áp dụng các bản vá lỗi bằng WinMerge. Tuy nhiên, bạn có thể áp dụng các bản vá lỗi bằng cách sử dụng công cụ vá từ dự án GnuWin32, vì WinMerge tạo ra các tệp bản vá tương thích với GNU/diffutils. Ngoài ra, hãy xem câu hỏi trước. 07 nov. 112011-11-07 19:41:36


14

Nhờ Macke, một cách tốt để áp dụng một tập tin vá lỗi dưới hệ điều hành Windows đang sử dụng Git. Như tôi đã hiểu, Git là một giải pháp kiểm soát phiên bản như SVN.

Đây là một hướng dẫn áp dụng một bản vá:

  • Trước hết, tải về phiên bản mới nhất của Windows Git bản ở đây: GIT
  • Với cmd nhanh chóng, thay đổi thư mục đến vá tệp và tệp để vá
  • Bây giờ bạn có thể sử dụng dòng lệnh sau:
git apply --ignore-space-change --ignore-whitespace --whitespace=nowarn file.patch 

Đơn giản phải không?

Cảm ơn bạn Macke


1

Không phải là kể từ Git 2.3.3 (tháng 3 năm 2015), bạn có thể sử dụng git apply --unsafe-paths sử dụng git áp dụng bên ngoài một repo git.

Xem commit 5244a31 bởi Junio C Hamano (gitster)

"git apply" không phải rất cẩn thận về đọc từ, loại bỏ, cập nhật và tạo đường dẫn bên ngoài cây làm việc (dưới --index/--cached) hoặc thư mục hiện hành (khi sử dụng như một sự thay thế cho Bản vá GNU).

Các tài liệu hiện nay bao gồm:

--unsafe-paths: 

Theo mặc định, một bản vá có ảnh hưởng đến bên ngoài khu vực làm việc (hoặc một cây làm việc Git kiểm soát, hoặc thư mục làm việc hiện tại khi "git apply" được sử dụng như một thay thế bản vá GNU) bị từ chối như một sai lầm (hoặc một nghịch ngợm).

Khi git apply được sử dụng làm "bản vá GNU tốt hơn", người dùng có thể chuyển tùy chọn --unsafe-paths để ghi đè kiểm tra an toàn này.
Tùy chọn này không có hiệu lực khi --index hoặc --cached đang được sử dụng.

Vì vậy, nếu bạn có có thể trợ giúp, ngay cả bên ngoài bất kỳ repo git nào.