2012-06-14 25 views
8

Tôi đang cố gắng sử dụng gvimdiff như một công cụ cho git trên Windows. Trước đây tôi đã sử dụng vimdiff trong chế độ console, nhưng biết cảm giác như tôi không hài lòng với việc hạn chế kích thước giao diện điều khiển Windows, vì vậy tôi đang cố chuyển sang gvimdiff có cách tiếp cận linh hoạt hơn để thiết lập kích thước cửa sổ.gvimdiff mergetool cho msysgit

Nhưng cố gắng để gọi git mergetool bây giờ tôi đang nhận lỗi mà không phải là rõ ràng đối với tôi:

The merge tool gvimdiff is not available as 'gvim'

Làm thế nào điều này có thể được giải quyết?

gvim cho Windows được cài đặt và truy cập được qua dòng lệnh. Điều này cũng đúng cho lệnh gvimdiff.

Tôi đang cố gắng tìm ra nơi xảy ra lỗi này trong các tập lệnh git, nhưng hiện tại không có may mắn.

+0

Một mặt lưu ý: bạn có thể thay đổi siz mặc định của 'cmd' e bằng cách nhấp chuột phải vào thanh trên cùng -> thuộc tính và một cái gì đó ở đó. Trong khi bạn đang ở đó, bạn cũng có thể yêu cầu nó khởi tạo mọi cửa sổ ở cùng vị trí bắt đầu. Sau đó, một khi bạn nhấp vào ok, nó sẽ hỏi bạn có muốn đặt nó làm mặc định hay chỉ cho cửa sổ này. – Shahbaz

+0

Nó không giúp ích cho tôi trong trường hợp cụ thể này ... mã mà tôi đang cố gắng hợp nhất có độ sâu lớn và độ dài của các dòng, vì vậy tôi lập kế hoạch có được nhiều pixel hơn (g) bằng cách đặt phông chữ nhỏ nhưng có thể đọc được trong gvimdiff. .. – shytikov

+1

Lỗi được nêu trong hàm 'get_merge_tool_path' bên trong' $ (git --exec-path) \ git-mergetool - lib'. Khi bạn cấu hình 'gvimdiff' làm công cụ hợp nhất của bạn, git chuyển nội bộ sang lệnh' gvim' (xem '$ (git --exec-path) \ mergetools \ vim'. Từ trình bao mà bạn khởi chạy' git mergetool', bạn phải có khả năng chạy 'gvim'. Nếu nó hoạt động, thì' git mergetool' cũng như vậy. –

Trả lời

8

Nếu bạn khởi động bàn điều khiển Git, bạn có chắc chắn các lệnh có thể truy cập được không? Tôi nghi ngờ rằng nó không nằm trên PATH của bảng điều khiển Git của bạn, chỉ có Windows PATH (không được bao gồm hoàn toàn).

+1

Anh ta đang mở một cửa sổ GVim, không phải bàn điều khiển Mặc dù git console không lấy PATH gây phiền nhiễu như địa ngục – Shahbaz

+0

@Shahbaz: Thực ra' git' đang thử mở 'gvim', không phải người dùng.Để kiểm tra xem PATH có được thiết lập đúng hay không, người dùng phải kiểm tra xem liệu anh ta có thể thực hiện' gvim' từ cùng một shell mà anh ta đang chạy 'git mergetool'. –

+0

@TimHenigan, bạn nói đúng, xấu của tôi. – Shahbaz

2

Kết hợp câu trả lời của bạn, đây là những thiết lập của tôi

.gitconfig

[alias] 
    d = difftool 
[diff] 
    renames = copy 
    tool = gvimdiff 
[difftool "gvimdiff"] 
    cmd = "gvim -d" "$LOCAL" "$REMOTE" 
[difftool] 
    prompt = false 

Và thêm vào tập tin gvim truy cập trong %PATH% với nội dung:

"C:\Program Files (x86)\Vim\vim73\gvim.exe" "[email protected]" 

Git difftool in Windows to see list of all changed files in addition to file diffs (a la Kaleidoscope)?

Các vấn đề liên quan