2009-07-17 14 views
24

Welches ist das beste Visual SVN Diff Display für Linux.Visual SVN Vergleichs- und Vergleichswerkzeuge für Linux

BeyondCompare und VisualSVN 1.5 funktionieren gut unter Windows. Was sind die entsprechenden Tools für Linux? (Speziell Ubuntu).

Ich weiß Command Line Diff funktioniert; Aber ich möchte, dass mehrere Spaltensyntax hervorgehoben und Unterschiede angezeigt werden.

Besser, wenn das Werkzeug auch eine Unterstützung für Git und Hg hat.

+2

Nicht spezifisch für Versionierung, aber diese Seite listet viele Diff-Tools auf (überprüfen Sie die Kommentare): http://www.amjith.blogspot.com/2007/07/visual-diff-tools-in- linux.html – Stephan202

Antwort

42

Ich habe meld für diesen Zweck verwendet wird, in Ubuntu können Sie einfach tun:

apt-get install meld 

Ich denke, es ist nur, dass Zwei-Wege vergleichen, aber in der Regel, dass nur das, was Sie brauchen, und nur das, was die Diff zeigt dir trotzdem.

Wenn Sie einen Konflikt mit SVN erhalten und eine Zusammenführung durchführen müssen, erhalten Sie normalerweise 4 Dateien AFAIR.

  • file.mine - Die Datei mit Ihren lokalen Änderungen wie zuvor svn update.
  • file.r <n> - Die Revision, für die Sie Ihre lokalen Änderungen erstellt haben.
  • file.r < n + m > - Die Revision, die Sie von svn aktualisiert haben, normalerweise HEAD.
  • Datei - Unterversionen versuchen, Ihre Änderungen in die aktualisierte Datei zusammenzuführen.

So meld zu benutzen, um Ihre Änderungen in fusionieren, würden Sie tun:

meld file.mine file.<n+m> 

Und entweder die Änderungen in die Revision aus dem SVN, oder umgekehrt aktualisiert fusionieren. Es ist normalerweise einfacher, die Datei mit den wenigsten Änderungen an der Datei mit den meisten Änderungen zusammenzuführen.

Und dauern Sie Datei mit der fusionierten Datei außer Kraft setzen würden und ein tun:

svn resolved file 
+6

Ich glaube, dass meld Unterstützung für 3-Wege-Fusion jetzt hat. –

1

Ich habe gebrauchten SlickEdit viel auf Linux. Es hat einen ziemlich schönen integrierten Diff-Viewer/Editor. Es funktioniert mit SVN, CVS und einigen anderen Versionskontroll-Repositories.

1

Was ist mit kdiff (besonders wenn Sie KDE verwenden) Oder, wenn Sie eine IDE haben (wie Eclipse/Netbeans), stellt es nicht SVN-relatednationalities zur Verfügung?

(ich benutze personnaly Eclipse PDT für PHP, und es ist Subversive Plugin für SVN)

2

KDiff3 ist sehr gut (ich es auch auf Windows verwenden). Es funktioniert sowohl zum Vergleichen als auch zum Zusammenführen.

8

Diffuse unterstützt Subversion, Mercurial, Git und mehrere andere Versionskontrollsysteme. Es funktioniert auch unter Windows. Für Ubuntu installieren Sie einfach das .deb-Paket mit "$ sudo dpkg -i diffuse - *. Deb" und führen Sie dann "diffuse -m" aus, um Ihre Änderungen anzuzeigen oder Zusammenführungskonflikte zu beheben.

+0

Sourceforge Repo-Seite sagt "0" Downloads –

+0

"0 Downloads" ist ein SourceForge-Statistik-Server-Schluckauf. –

7

Beyond Compare unterstützt auch Linux. Wenn Sie BC für Windows bereits mögen, würde ich sagen, gehen Sie mit einem Gewinner.

+0

Wurde in Beyond Compared durch Arbeit vor kurzem eingeführt, und ich muss sagen, dass ist ein klarer Gewinner. Wirklich nützliches Werkzeug. –

1

Nun ... hat jemand DiffMerge schon probiert? Wenn nicht, dann empfehle ich das alles. Wenn Sie WinMerge für Windows verwendet haben, dann finden Sie dies als eine gute Alternative zu WinMerge für Ubuntu/Linux.

Versuchen Sie auf der folgenden Website für Details aus: http://www.webtechquery.com/index.php/2010/05/free-diff-tools-ubuntu-linux-windows/

Dank

+0

+1 auf DiffMerge. Es macht mich glücklich für 3-Wege-Zusammenführungen. –

0

Es gibt auch ECMerge, hat es eine eingebaute Unterstützung für HG, Git, Bazaar-Browsing (solange ihre respeticve Kommandozeilen-Tool ist da), zusammen mit Syntaxhervorhebung und so weiter: http://www.elliecomputing.com/ funktioniert es identisch auf Linux, MacOS X, Solaris und Windows.

1

Sie können versuchen, xd http://github.com/jiqingtang/xd, die GUI Wrapper für GIT/SVN diff ist. Es ist kein Diff-Tool selbst. Sie führen "xd" aus, wenn Sie "git diff" oder "svn diff" ausführen wollen. Es zeigt Ihnen eine Liste von Dateien, ein Vorschaufenster und Sie können jedes beliebige Diff-Tool starten, einschließlich tkdiff, xxdiff, gvimdiff, emacs (ediff), xemacs (ediff), meld, diffuse, kompare und kdiff3. Sie können auch ein beliebiges benutzerdefiniertes Tool ausführen.

+1

Hallo, wenn Sie Ihre eigene Software bewerben, machen Sie das bitte im Text Ihrer Antwort explizit – Jeff

0

Seit einigen Monaten benutze ich das Subcommander-Paket. Ich habe es here beschrieben.

Verwandte Themen