Инструменты сравнения и сравнения Visual SVN для Linux

Что является лучшим средством отображения Visual SVN Diff для Linux.

BeyondCompare и VisualSVN 1.5 хорошо работают в Windows. Каковы эквивалентные инструменты для Linux? (В частности, Ubuntu).

Я знаю, что diff в командной строке работает; Но я бы хотел выделить синтаксис нескольких столбцов и различия.

Лучше, если в инструменте есть поддержка Git и Hg.


person lprsd    schedule 17.07.2009    source источник
comment
Не относится к управлению версиями, но на этой странице перечислено множество инструментов сравнения (обязательно проверьте комментарии): amjith.blogspot.com/2007/07/visual-diff-tools-in-linux.html   -  person Stephan202    schedule 17.07.2009


Ответы (12)


Примечание. Если ваш инструмент сравнения имеет интерфейс командной строки (CLI), его можно легко интегрировать с Git как для сравнения, так и для слияния (если он поддерживает 3-стороннее слияние).
Начиная с Git1.6.3, параметры difftool - mergetool позволяют интегрировать эту программу сравнения (см." Как просмотреть вывод 'git diff' с программой визуального сравнения? ").

Например, KDiff3 является хорошим кандидатом для этого, поскольку он даже auto-detected Git.

person VonC    schedule 17.07.2009

Я использовал для этой цели meld, в Ubuntu вы можете просто сделать:

apt-get install meld

Я думаю, что это только двухстороннее сравнение, но обычно это только то, что вам нужно, и только то, что вам покажет разница.

Когда вы получаете конфликт при использовании SVN и вам нужно выполнить слияние, вы обычно получаете 4 файла AFAIR.

  • file.mine - файл с вашими локальными изменениями, как до обновления svn.
  • file.r ‹n› - Ревизия, в которой вы создали свои локальные изменения.
  • file.r ‹n + m› - Версия, на которую вы обновили svn, обычно HEAD.
  • file - Subversions пытаются объединить ваши изменения в обновленный файл.

Итак, чтобы использовать meld для слияния ваших изменений, вы должны сделать:

meld file.mine file.<n+m>

И слейте свои изменения с ревизией, обновленной из svn, или наоборот. Обычно проще объединить файл с наименьшим количеством изменений в файл с наибольшим количеством изменений.

И, наконец, вы должны заменить файл объединенным файлом и выполнить:

svn resolved file
person Bjarke Freund-Hansen    schedule 17.07.2009
comment
Я считаю, что meld теперь поддерживает трехстороннее слияние. - person Eugene M; 09.11.2010

Diffuse поддерживает Subversion, Mercurial, Git и несколько других систем контроля версий. Он работает и в Windows. Для Ubuntu просто установите пакет .deb с помощью «$ sudo dpkg -i diffuse - *. Deb», а затем запустите «diffuse -m», чтобы просмотреть свои изменения или исправить конфликты слияния.

person Community    schedule 17.07.2009
comment
На странице репо Sourceforge указано 0 загрузок - person lprsd; 17.07.2009
comment
0 загрузок - это сбой на сервере статистики SourceForge. - person ; 17.07.2009

Beyond Compare также поддерживает Linux. Если вам уже нравится BC для Windows, я бы сказал, выбери победителя.

person Lasse V. Karlsen    schedule 17.07.2009
comment
Недавно был представлен в Beyond Compare в ходе работы, и я должен сказать, что это явный победитель. Действительно полезный инструмент. - person Bjarke Freund-Hansen; 21.01.2011

KDiff3 очень хорош (я также использую его на окнах). Он работает как для сравнения, так и для слияния.

person jeroenh    schedule 17.07.2009

Я много использовал SlickEdit в Linux. Он имеет довольно приятный интегрированный просмотрщик / редактор различий. Он работает с SVN, CVS и парой других репозиториев контроля версий.

person Eric    schedule 17.07.2009

А как насчет kdiff (особенно если вы используете KDE) Или, если у вас есть IDE (например, Eclipse / netbeans) , разве он не предоставляет функций, связанных с SVN?

(Я лично использую Eclipse PDT для PHP; и это плагин Subversive для SVN)

person Pascal MARTIN    schedule 17.07.2009

Для этого я использую diff режим Vim. С помощью vcscommand plugin вы можете просто ввести :VCSDiff, чтобы ввести diff- режим текущего файла по сравнению с его историей.

person ephemient    schedule 17.07.2009

Ну .. кто-нибудь еще пробовал DiffMerge? Если нет, то я рекомендую всем это сделать. Если вы использовали WinMerge для Windows, то вы найдете это как отличную альтернативу WinMerge для Ubuntu / Linux.

Для получения дополнительных сведений посетите следующий веб-сайт: http://www.webtechquery.com/index.php/2010/05/free-diff-tools-ubuntu-linux-windows/

Спасибо

person Zeeshan Khan    schedule 06.05.2010

Вы можете попробовать xd http://github.com/jiqingtang/xd, который является оболочкой графического интерфейса пользователя. для GIT / SVN diff. Это НЕ инструмент сравнения. Вы запускаете «xd», когда хотите запустить «git diff» или «svn diff», и он покажет вам список файлов, окно предварительного просмотра, и вы можете запустить любой инструмент сравнения, который вам нравится, включая tkdiff, xxdiff, gvimdiff, emacs. (ediff), xemacs (ediff), meld, diffuse, kompare и kdiff3. Вы также можете запустить любой настраиваемый инструмент.

person Jiqing Tang    schedule 01.10.2010
comment
Привет, если вы собираетесь рекламировать собственное программное обеспечение, укажите это в тексте ответа. - person Jeff; 11.12.2012

Также есть ECMerge, он имеет встроенную поддержку просмотра HG, Git, Bazaar (при наличии соответствующего инструмента командной строки), а также подсветку синтаксиса и так далее: http://www.elliecomputing.com/ он одинаково работает в Linux, MacOS X, Solaris и Windows.

person Armel    schedule 18.07.2010

С нескольких месяцев использую погружение из пакета "субкомандир". Я описал это здесь.

person Lukasz Frankowski    schedule 18.12.2011