Tôi đã thành công trong việc lấy git để khởi động Beyond Compare 3 như một công cụ khác biệt, tuy nhiên, khi tôi thực hiện khác biệt, tệp tôi đang so sánh với không được tải. Chỉ có phiên bản mới nhất của tệp được tải và không có gì khác, vì vậy không có gì trong ngăn bên phải của Beyond Compare.
Tôi đang chạy git 1.6.3.1 với Cygwin với Beyond Compare 3. Tôi đã thiết lập ngoài so sánh như họ đề xuất trong phần hỗ trợ của trang web của họ với một tập lệnh như vậy:
#!/bin/sh
# diff is called by git with 7 parameters:
# path old-file old-hex old-mode new-file new-hex new-mode
"path_to_bc3_executable" "$2" "$5" | cat
Có ai khác gặp phải vấn đề này và biết một giải pháp cho điều này?
Chỉnh sửa:
Tôi đã làm theo các đề xuất của VonC nhưng tôi vẫn gặp sự cố chính xác như trước đây. Tôi là người mới sử dụng Git nên có lẽ tôi đang sử dụng sai khác một cách chính xác.
Ví dụ: tôi đang cố gắng xem sự khác biệt trên một tệp bằng một lệnh như sau:
git diff main.css
Beyond Compare sau đó sẽ mở ra và chỉ hiển thị main.css hiện tại của tôi trong khung bên trái, không có gì trong khung bên phải. Tôi muốn xem main.css hiện tại của mình trong khung bên trái so với HEAD, về cơ bản những gì tôi đã cam kết lần cuối.
Git-diff-wrapper.sh của tôi trông giống như sau:
#!/bin/sh
# diff is called by git with 7 parameters:
# path old-file old-hex old-mode new-file new-hex new-mode
"c:/Program Files/Beyond Compare 3/BCompare.exe" "$2" "$5" | cat
Cấu hình git của tôi trông giống như thế này cho Diff:
[diff]
external = c:/cygwin/bin/git-diff-wrapper.sh
/c/program files
thay vìc:/program files
. Ngoài ra tôi đã loại bỏ"$(cygpath -w $LOCAL)"
và chỉ sử dụng"$LOCAL"
. Đó dường như là một mẹo nhỏ.