Подтвердить что ты не робот

Сравнение графических файлов с несколькими файлами в Mac OS 10.7

Можно ли просматривать вывод "svn diff" графически в Mac OS?

Большинство графических программ сравнения позволяют просматривать только один файл за раз. Что очень неудобно, когда вы используете SVN и изменились, как 10 файлов.

Для Linux я нашел решение в программе " kompare ". Я делаю:

svn diff > diffOut; kompare diffOut

В результате я работаю с графической программой и проверяю сразу все файлы, как показано на рисунке.

Есть ли то же самое для Mac OS?

PS "meld" программа, кажется, делает то же самое (или нет?), И я уже пытался установить его, но получил ошибку. Поэтому я полагаю, что не могу установить его под OSx 10.7.

4b9b3361

Ответ 1

  • Есть компьютер для Mac OS. Он входит в KDE SDK, и его можно получить с помощью MacPorts:

    sudo port install kdesdk4
    launchctl load -w /Library/LaunchAgents/org.freedesktop.dbus-session.plist
    export PATH="/Applications/MacPorts/KDE4/kompare.app/Contents/MacOS:"$PATH
    

    и он работает!

  • Svn поддерживает так называемую внешнюю разницу.

Чтобы использовать его, нужно создать svn-wrapper script, который будет принимать параметры, возвращаемые командой "svn diff", а вызов отличается требуемыми параметрами.

вот пример параметров: "svn diff" возвращает:

-u -L code/Class1.h (revision 16518) -L code/Class1.h (working copy) code/.svn/text-base/Class1.h.svn-base code/Class1.h

opendiff нуждается в последних двух. Поэтому следующий bash script будет уместен:

#!/bin/sh

if [ $# -lt 2 ]; then
    echo "usage: $0 [ignored args...] file1 file2" >&2
    exit 1
fi

# The last two arguments passed to this script are the paths to the files
# to diff.
while [ $# -gt 2 ]; do
    shift
done

exec opendiff $*

поместите этот script в файл svnwrapper.sh. Исполненный исполняемый файл:

chmod +x svnwrapper.sh

и поместите его в некоторый общий путь, который добавляется к переменной $PATH. Теперь вы можете вызвать svn, используя

svn diff --diff-cmd=svnwrapper.sh

или просто добавьте в раздел [помощники] файл ~/.subversion/config:

diff-cmd = svnwrapper.sh

Ответ 2

Вы можете использовать инструмент Apple FileMerge или Kaleidoscope. Оба они имеют вызовы командной строки:

  • чтобы открыть FileMerge, установите средства разработки командной строки изнутри Xcode и используйте opendiff
  • чтобы открыть Калейдоскоп, установите его инструменты командной строки изнутри Калейдоскопа и используйте ksdiff

Ответ 3

KDiff - это программа для разметки визуальных текстов с открытым исходным кодом. Вы можете использовать его в windows, unix, linux и Mac OSX. Попробуй. В окнах он автоматически добавляет себя для svn diff. Я не использую Mac OSX, поэтому не могу сказать, что эта функция также доступна там.

сравнивает или объединяет два или три текстовых входных файла или каталоги,

После URL изображения с сайта kdiff3 показывает, что он сравнивает каталоги.

Ответ 4

DiffMerge является бесплатным и отличным. Также имеет 3-стороннее сравнение и слияние.

Ответ 5

Kaleidoscope - действительно хороший выбор, если вы хотите быстро переключиться на сравнение структур каталогов и файлов в каталогах. Также возможно сравнить более 2 копий. У меня также сложилось впечатление, что алгоритм сравнения файлов (блоки соответствия и изменения цветового кода) действительно хорош. В конце, 15-дневная пробная версия доступна, чем вам нужно заплатить.

Ответ 6

Я не совсем уверен, правильно понял ли я, но я использую Eclipse с плагином subclipse на mac.

http://www.eclipse.org/downloads/?osType=macosx

Убедитесь, что вы прочитали страницу, чтобы получить правильную версию, а также учтите версию svn для вашего использования.

http://subclipse.tigris.org/servlets/ProjectProcess;jsessionid=1BCECCE84434FF08FDE32136D13FF061?pageID=p4wYuA

При установке вы можете выбрать перспективу синхронизации, просмотреть все конфликтуемые файлы и потребовать изменения.

Я не уверен, однако, если это позволит вашему слову сказать случайные файлы, которые, я думаю, ваш вопрос. Однако вы можете попробовать.

Ответ 8

Bruno De Fraine написал несколько сценариев, запускающих OSX FileMerge для каждого файла: http://www.defraine.net/~brunod/fmdiff/

Установить

> svn co http://soft.vub.ac.be/svn-gen/bdefrain/fmscripts/ fmscripts
> cd fmscripts
> make
> sudo make install

Diff (запуск FileMerge для каждого файла)

> svn diff --diff-cmd fmdiff

Ответ 9

Beyond Compare не является бесплатным, но я использовал его и понравился.

Ответ 10

Здесь вы можете найти последнюю версию установщика Meld для OSX .dmg.

Ответ 11

Beyond Compare - это еще один, который вы можете добавить в список. Он бесплатный и кросс-платформенный (Windows, Mac, Linux).