Mỗi khi tôi thực hiện 'hg diff file.ext', tôi sẽ sử dụng ứng dụng khác của giao diện điều khiển. Có cách nào để thay đổi điều đó không? Tôi không thể tìm thấy tài liệu tham khảo trong tài liệu Mercurial (Tôi không nói về hợp nhất!). Tôi muốn sử dụng Kdiff3 hoặc WinMerge (Tôi đang sử dụng Windows).Có thể thay đổi công cụ khác biệt mặc định trong Mercurial không?
Trả lời
Tôi đã giải quyết điều này bằng cách sử dụng phần mở rộng tích hợp Mercurial ... Tôi chỉ cần thêm dòng sau vào Mercurial.ini (trên thư mục Mercurial):
[extensions]
hgext.extdiff=
[extdiff]
cmd.vdiff = kdiff3
Khi tôi muốn sử dụng KDiff3 thay vì diff tôi chỉ phải sử dụng:
hg vdiff file.ext
với cấu hình này
[extdiff]
cmd.kdiff3 =
tôi sử dụng lệnh này để xem diffs:
hg kdiff
Điều này hiển thị cây thư mục có tất cả các tệp đã thay đổi. Bạn bấm vào một tệp để xem các khác biệt chỉ cho tệp. Bạn có thể thêm tham số tệp vào lệnh để chỉ xem một tệp.
Thông tin thêm here.
Tôi vừa gặp sự cố này vài phút trước; Tôi chỉ cần cài đặt nó và thêm đường dẫn của nó (mặc định là tại c: \ program files \ kdiff3) vào hệ thống PATH e.v. Khởi động lại cửa sổ của tôi để chọn con đường mới và "hg kdiff3" vừa hoạt động. Khi nó quay ra sau đây là trong cơ sở của tôi "mercurial.ini" tập tin, điều này cho phép kdiff3 để làm việc cho tất cả các repos hg trên hệ thống.
[extensions]
hgext.extdiff =
[extdiff]
cmd.kdiff3 =
[merge-tools]
kdiff3.args = $base $local $other -o $output
Nếu bạn đang tìm kiếm cái gì đó như git difftool
, mà bạn không cần phải gõ tên tập tin và xem diff cho tất cả các tập tin thay đổi, bổ sung này để ~/.hgrc
của bạn, và chạy hg difftool
.
[extensions]
extdiff =
[extdiff]
cmd.vimdiff = vimdiff
[alias]
difftool = !for file in $(hg status -n); do hg vimdiff $file; done
Ngoài ra, bạn có thể chuyển tùy chọn cho công cụ difftool, ví dụ: '[extdiff] opts.vdiff = 2>/dev/null' – ACyclic
Câu trả lời này (và những người khác dưới đây cho đến nay) làm cho một công cụ khác có sẵn, nhưng không thay đổi" công cụ khác biệt mặc định ". Tức là, nó không thay đổi công cụ nào được sử dụng khi bạn gọi 'hg diff' - hoặc quan trọng hơn khi bạn sử dụng' hg log -p' để xem toàn bộ tập hợp các thay đổi. Tôi rất muốn tìm cách để thực sự thay đổi mặc định? (ví dụ: để có thể sử dụng sự khác biệt dựa trên từ đôi khi xem xét một chi nhánh.) –