web-dev-qa-db-fra.com

Visual SVN diff et outils de comparaison pour Linux

Quel est le meilleur afficheur Visual SVN Diff pour Linux?.

BeyondCompare et VisualSVN 1.5 fonctionnent bien sous Windows. Quels sont les outils équivalents pour Linux? (Plus précisément Ubuntu). 

Je sais que les commandes en ligne de commande fonctionnent; Mais je voudrais mettre en évidence la syntaxe de plusieurs colonnes et les différences.

Mieux si l’outil prend également en charge Git et Hg.

24
Lakshman Prasad

Remarque: Si votre outil de différenciation a une interface de ligne de commande (CLI), il peut être facilement intégré à Git, aussi bien pour diff que pour fusion (s'il prend en charge Fusion à 3 voies ).
Depuis Git1.6.3, les options difftool - mergetool vous permettent d’intégrer ce programme diff (voir "Comment afficher la sortie 'git diff' avec visual programme?") . 

KDiff3 par exemple est un bon candidat pour cela, car il est même auto-détecté par Git .

6
VonC

J'utilisais meld pour cela, dans Ubuntu, vous pouvez simplement faire:

apt-get install meld

Je pense que cela ne fait que des comparaisons dans les deux sens, mais en général c'est seulement ce dont vous avez besoin, et seulement ce que le diff vous montre de toute façon.

Lorsque vous obtenez un conflit avec SVN et que vous devez effectuer une fusion, vous obtenez généralement 4 fichiers AFAIR.

  • file.mine - Le fichier avec vos modifications locales comme avant svn update.
  • file.r <n> - La révision sur laquelle vous avez créé vos modifications locales.
  • file.r <n + m> - La révision que vous avez mise à jour depuis svn, généralement HEAD.
  • file - Subversions tente de fusionner vos modifications dans le fichier mis à jour.

Donc, pour utiliser meld afin de fusionner vos modifications, vous feriez:

meld file.mine file.<n+m>

Et fusionnez soit vos modifications dans la révision mise à jour à partir de svn, ou inversement. Il est généralement plus facile de fusionner le fichier contenant le moins de modifications.

Et enfin, vous remplaceriez le fichier par le fichier fusionné et feriez:

svn resolved file
42

Diffuse prend en charge Subversion, Mercurial, Git et plusieurs autres systèmes de contrôle de version. Cela fonctionne aussi sous Windows. Pour Ubuntu, installez simplement le paquet .deb avec "$ Sudo dpkg -i diffuse - *. Deb" puis exécutez "diffuse -m" pour afficher vos modifications ou résoudre les conflits de fusion.

8
user140192

Beyond Compare prend également en charge Linux. Si vous aimez déjà BC pour Windows, je vous conseille de partir avec un gagnant.

KDiff3 est très bon (je l’utilise aussi sous windows). Cela fonctionne à la fois pour comparer et fusionner.

2
jeroenh

Eh bien .. est-ce que quelqu'un a déjà essayé DiffMerge? Sinon, je recommande à tous de le faire. Si vous avez utilisé WinMerge pour Windows, vous le trouverez comme une excellente alternative à WinMerge pour Ubuntu/Linux.

Essayez le site Web suivant pour plus de détails: http://www.webtechquery.com/index.php/2010/05/free-diff-tools-ubuntu-linux-windows/

Merci

1
Zeeshan Khan

Vous voudrez peut-être essayer xd http://github.com/jiqingtang/xd , qui est une interface graphique pour les différences GIT/SVN. Ce n'est pas un outil de diff en soi. Vous exécutez "xd" lorsque vous souhaitez exécuter "git diff" ou "svn diff" et il vous montrera une liste de fichiers, une fenêtre d'aperçu et vous pourrez lancer n'importe quel outil de diff, y compris tkdiff, xxdiff, gvimdiff, emacs (ediff), xemacs (ediff), meld, diffus, kompare et kdiff3. Vous pouvez également exécuter n'importe quel outil personnalisé.

1
Jiqing Tang

J'utilise le mode diff de Vim pour cela. Avec le plugin vcscommand , vous pouvez simplement taper :VCSDiff pour entrer en mode Diff sur le fichier en cours par rapport à son historique.

1
ephemient

J'ai beaucoup utilisé SlickEdit sous Linux. Il possède un joli visualiseur/éditeur de diff intégré. Il fonctionne avec SVN, CVS et quelques autres référentiels de contrôle de version.

1
Eric

Qu'en est-il de kdiff (surtout si vous utilisez KDE) Ou si vous avez un IDE (comme Eclipse/netbeans), ne fournit-il pas de fonctionnalités liées à SVN?

(J'utilise personnellement Eclipse PDT pour PHP; et son plug-in Subversive pour SVN)

1
Pascal MARTIN

Depuis quelques mois, j'utilise submerge du paquet "subcommander". Je l'ai décrit ici .

0
Łukasz Frankowski

Il y a aussi ECMerge, il a un support intégré pour la navigation HG, Git, Bazaar (tant que leur outil de ligne de commande respeticve est là), avec la coloration syntaxique, etc.: http: // www.elliecomputing.com/ il fonctionne de manière identique sous Linux, MacOS X, Solaris et Windows.

0
Armel