Trên hộp Windows của tôi, tôi đã cố gắng tạo bản vá Subversion bằng cách sử dụng lệnh svn diff > my_patch.diff
. Tệp kết quả được mã hóa bằng UTF-16, thay vì UTF-8 hoặc ASCII, vì vậy khi tôi cố gắng sử dụng patch
(từ GnuWin32) để áp dụng bản vá, nó không hoạt động.Cách ngăn chặn "svn diff" từ Tạo đầu ra Unicode trên Windows
Tôi đã có thể chuyển đổi tệp bản vá thành UTF8 bằng cách mở tệp đó trong Notepad và lưu dưới dạng định dạng mong muốn, và patch
xử lý sau đó. Nhưng, có cách nào để có được svn diff
để tạo UTF8 trên Windows không?
Cập nhật: Như câu trả lời của tôi cho thấy, nó chỉ ra rằng vấn đề là thực sự không liên quan đến Subversion, diff
, hoặc patch
. Đó là PowerShell đã chuyển đổi đầu ra thành Unicode một cách hữu ích. Tôi để lại câu hỏi như vậy là để ai đó có vấn đề tương tự có thể vấp ngã.
Trong hương vị Linux, có thể cung cấp '--diff-cmd', đó cũng là trường hợp của biến thể dòng lệnh của cửa sổ? – Wrikken
'--diff-cmd' được hỗ trợ. Tôi nên sử dụng cái gì làm đối số? –
Lưu ý phụ: Subversion không thích UTF-16 hoặc UTF-32. Nó sẽ luôn coi chúng là các tệp nhị phân và do đó 'svn diff' thậm chí không hoạt động trên chúng (braindead nhưng vẫn không sửa). Vì vậy, có (hiện tại) không thể là một cách mà 'svn di' Unicode trong bất cứ điều gì khác hơn là UTF-8. – Joey