2009-07-17 2 views
24

Qual è il miglior visualizzatore di Visual SVN Diff per Linux.Visual SVN diff e strumenti di confronto per Linux

BeyondCompare e VisualSVN 1.5 funzionano bene su Windows. Quali sono gli strumenti equivalenti per Linux? (Specificamente Ubuntu).

So che la differenza di riga di comando funziona; Ma vorrei evidenziare sintassi di colonne multiple e differenze.

Migliore se lo strumento ha anche un supporto per Git e Hg.

+2

Non specifico per il controllo delle versioni, ma questa pagina elenca molti strumenti diff (assicuratevi di controllare i commenti): http://www.amjith.blogspot.com/2007/07/visual-diff-tools-in- linux.html – Stephan202

risposta

42

Ho utilizzato meld per questo scopo, in Ubuntu basta si può fare:

apt-get install meld 

Penso che solo fa due vie confrontare, ma di solito questo è solo quello che serve, e solo ciò che il diff ti mostra comunque.

Quando si verifica un conflitto utilizzando SVN e si deve eseguire un'unione, di solito si ottengono 4 file AFAIR.

  • file.mine - Il file con le modifiche locali come prima svn aggiornamento.
  • file.r <n> - La revisione in cui sono state create le modifiche locali.
  • file.r < n + m > - La revisione aggiornata da svn, in genere HEAD.
  • file - Le subversioni tentano di unire le modifiche nel file aggiornato.

Quindi, per usare fusione per unire le modifiche in, si dovrebbe fare:

meld file.mine file.<n+m> 

e unire sia le modifiche nella revisione aggiornata da svn, o viceversa. Solitamente è più semplice unire il file con il minor numero di modifiche al file con la maggior parte delle modifiche.

e ultimo si sarebbe sovrascrivere file con il file risultante dalla fusione e fare un:

svn resolved file 
+6

Credo che meld abbia ora il supporto per la fusione a 3 vie. –

1

ho SlickEdit usato molto su Linux. Ha un bel visualizzatore/editor di differenze integrato. Funziona con SVN, CVS e un paio di altri repository di controllo della versione.

1

Che dire di kdiff (in particolare se si utilizza KDE) Oppure, se si dispone di un IDE (come Eclipse/netbeans), non fornisce funzionalità SVN-relatednalities?

(I personnaly utilizzare Eclipse PDT per PHP, ed è plug Subversive per SVN)

2

KDiff3 è molto buono (Io uso anche su Windows). Funziona sia per il confronto che per l'unione.

8

Diffuse supporta Subversion, Mercurial, Git e diversi altri sistemi di controllo versione. Funziona anche su Windows. Per Ubuntu, basta installare il pacchetto .deb con "$ sudo dpkg -i diffuse - *. Deb" e quindi eseguire "diffuse -m" per visualizzare le modifiche o risolvere i conflitti di unione.

+0

La pagina repo di Sourceforge dice "0" download –

+0

"0 download" è un hiccup del server delle statistiche di SourceForge. –

7

Beyond Compare supporta anche Linux. Se ti piace già BC per Windows, direi di andare con un vincitore.

+0

È stato presentato a Beyond Compare attraverso il lavoro di recente, e devo dire che è un chiaro vincitore. Strumento davvero utile –

0

C'è anche ECMerge, che ha il supporto integrato per HG, Git, la navigazione Bazaar (a patto che il loro strumento a riga di comando respeticve c'è), insieme all'evidenziazione della sintassi e così via: http://www.elliecomputing.com/ funziona in modo identico su Linux, MacOS X, Solaris e Windows.

1

Si consiglia di provare xd http://github.com/jiqingtang/xd, che è wrapper GUI per GIT/SVN diff. NON è uno strumento diff vero. Esegui "xd" quando vuoi eseguire "git diff" o "svn diff" e ti mostrerà un elenco di file, una finestra di anteprima e potrai lanciare qualsiasi strumento di diffusione che ti piace, tra cui tkdiff, xxdiff, gvimdiff, emacs (ediff), xemacs (ediff), fusione, diffuse, kompare e kdiff3. Puoi anche eseguire qualsiasi strumento personalizzato.

+1

Ciao, se hai intenzione di pubblicizzare il tuo software ti preghiamo di renderlo esplicito nel testo della tua risposta – Jeff

0

Da pochi mesi ho utilizzato l'immersione dal pacchetto "subcommander". L'ho descritto here.