2009-07-17 37 views
24

Trình hiển thị Diff Visual SVN tốt nhất cho Linux.Các công cụ so sánh và so sánh Visual SVN cho Linux

BeyondCompare và VisualSVN 1.5 hoạt động tốt trên Windows. Các công cụ tương đương cho Linux là gì? (Cụ thể là Ubuntu).

Tôi biết hoạt động của dòng lệnh hoạt động; Nhưng tôi muốn nhiều cú pháp cột được tô sáng và khác biệt.

Tốt hơn nếu công cụ cũng có hỗ trợ cho Git và Hg.

+2

Không dành riêng cho phiên bản, nhưng trang này liệt kê rất nhiều công cụ khác biệt (hãy nhớ kiểm tra các nhận xét): http://www.amjith.blogspot.com/2007/07/visual-diff-tools-in- linux.html – Stephan202

Trả lời

6

Lưu ý: Nếu công cụ tìm khác biệt của bạn có CLI (giao diện dòng lệnh), nó có thể được tích hợp với Git khá dễ dàng, cả hai đều khác và hợp nhất (nếu nó hỗ trợ 3-way merges).
Vì Git1.6.3, các tùy chọn difftool - mergetool cho phép bạn tích hợp chương trình khác biệt đó (xem "How do I view 'git diff' output with visual diff program?").Ví dụ:

KDiff3 là một ứng cử viên tốt cho điều đó, vì nó thậm chí là auto-detected by Git.

42

tôi đã được sử dụng meld cho mục đích này, trong Ubuntu bạn chỉ có thể làm:

apt-get install meld 

Tôi nghĩ rằng nó chỉ làm hai chiều so sánh, nhưng thường chỉ là những gì bạn cần, và chỉ những gì khác cho bạn thấy anyway.

Khi bạn gặp xung đột khi sử dụng SVN và phải thực hiện hợp nhất, bạn thường nhận được 4 tệp AFAIR.

  • tệp.mine - Tệp có thay đổi cục bộ của bạn như trước khi cập nhật svn.
  • tệp.r <n> - Bản sửa đổi mà bạn đã tạo các thay đổi cục bộ của mình.
  • tệp.r < n + m > - Bản sửa đổi bạn đã cập nhật từ svn, thường là HEAD.
  • tệp - Các thay đổi cố gắng hợp nhất các thay đổi của bạn vào tệp được cập nhật.

Vì vậy, để sử dụng meld để nhập các thay đổi của bạn, bạn sẽ làm gì:

meld file.mine file.<n+m> 

Và sáp nhập hoặc thay đổi của bạn vào phiên bản cập nhật từ svn, hoặc cách khác xung quanh. Nó thường là dễ dàng hơn để kết hợp các tập tin với những thay đổi ít nhất cho tập tin với hầu hết các thay đổi.

Và cuối cùng bạn sẽ ghi đè lên tập tin với các tập tin sáp nhập và thực hiện:

svn resolved file 
+6

Tôi tin rằng meld đã hỗ trợ hợp nhất 3 chiều ngay bây giờ. –

1

Tôi đã sử dụng SclickEdit rất nhiều trên Linux. Nó có trình soạn thảo/trình chỉnh sửa khác được tích hợp khá đẹp mắt. Nó hoạt động với SVN, CVS và một vài kho kiểm soát phiên bản khác.

1

Điều gì về kdiff (đặc biệt nếu bạn sử dụng KDE) Hoặc, nếu bạn có IDE (như Eclipse/netbeans), nó có cung cấp chức năng liên quan đến SVN không?

(Tôi personnaly sử dụng Eclipse PDT cho PHP; và đó là Plugin lật đổ cho SVN)

2

KDiff3 là rất tốt (Tôi cũng sử dụng nó trên cửa sổ). Nó hoạt động cho cả hai so sánh và hợp nhất.

8

Diffuse hỗ trợ Subversion, Mercurial, Git và một số hệ thống kiểm soát phiên bản khác. Nó cũng hoạt động trên Windows. Đối với Ubuntu, chỉ cần cài đặt gói .deb với "$ sudo dpkg -i diffuse - *. Deb" và sau đó chạy "diffuse -m" để xem các thay đổi của bạn hoặc sửa các xung đột hợp nhất.

+0

Trang Sourceforge repo cho biết tải xuống "0" –

+0

"0 lượt tải xuống" là một sự cố máy chủ thống kê SourceForge. –

7

Beyond Compare cũng hỗ trợ Linux. Nếu bạn đã thích BC cho Windows, tôi muốn nói với người chiến thắng.

+0

Được giới thiệu với Beyond Compare thông qua công việc gần đây, và tôi phải nói đó là một người chiến thắng rõ ràng. Công cụ thực sự hữu ích. –

1

Tôi sử dụng Vim's diff mode cho việc này. Với vcscommand plugin, bạn có thể chỉ cần nhập :VCSDiff để nhập chế độ khác trên tệp hiện tại so với lịch sử của nó.

1

Vâng .. có ai thử DiffMerge chưa? Nếu không thì tôi khuyên tất cả nên làm như vậy. Nếu bạn đã sử dụng WinMerge cho các cửa sổ, thì bạn sẽ thấy đây là một lựa chọn tuyệt vời cho WinMerge cho Ubuntu/Linux.

Hãy thử các web sau đây để biết chi tiết: http://www.webtechquery.com/index.php/2010/05/free-diff-tools-ubuntu-linux-windows/

Cảm ơn

+0

+1 trên DiffMerge. Nó làm cho tôi hạnh phúc cho sự hợp nhất 3 chiều. –

0

Ngoài ra còn có ECMerge, nó đã được xây dựng trong hỗ trợ cho HG, Git, Bazaar duyệt (miễn là công cụ dòng lệnh respeticve của họ ở đó), cùng với đánh dấu cú pháp và như vậy: http://www.elliecomputing.com/ nó hoạt động giống nhau trên Linux, MacOS X, Solaris và Windows.

1

Bạn có thể muốn thử xd http://github.com/jiqingtang/xd, là trình bao bọc GUI cho GIT/SVN diff. Nó KHÔNG phải là một công cụ khác. Bạn chạy "xd" khi bạn muốn chạy "git diff" hoặc "svn diff" và nó sẽ hiển thị cho bạn danh sách tệp, cửa sổ xem trước và bạn có thể khởi chạy bất kỳ công cụ tìm kiếm nào khác, bao gồm tkdiff, xxdiff, gvimdiff, emacs (ediff), xemacs (ediff), meld, khuếch tán, kompare và kdiff3. Bạn cũng có thể chạy bất kỳ công cụ tùy chỉnh nào.

+1

Xin chào, nếu bạn định quảng cáo phần mềm của riêng mình, hãy làm rõ điều đó trong nội dung câu trả lời của bạn – Jeff

0

Từ vài tháng, tôi đã sử dụng nhấn chìm từ gói "subcommander". Tôi đã mô tả nó here.