Сконфигурируйте P4merge как мой SVN diff инструмент для OSX

Я хочу использовать P4merge в качестве моего внешнего инструмента сравнения для файлов в SVN при сравнении локальных и неизменных. Я просто потратил несколько часов на это, когда мне следовало кодировать.

Что мне нужно сделать на платформе OSX?

2 ответа

Это немного странно и заменяет только инструмент сравнения, но не инструмент слияния, а вот так:

Создайте скрипт на Python с именем p4merge-diff-cmd:

#!/usr/bin/env python

import sys
import os.path

P4MERGE = '/Applications/p4merge.app/Contents/Resources/launchp4merge'

p4merge_args= [P4MERGE]
for arg in sys.argv[1:]:
  if os.path.exists(arg):
    p4merge_args.append(os.path.abspath(arg))

os.execv(P4MERGE, p4merge_args)

и сделать его исполняемым

chmod a+x p4merge-diff-cmd

Тогда в вашем ~/.subversion/config файл изменить строку

# diff-cmd = diff_program (diff, gdiff, etc.)

в

diff-cmd = /full/path/to/p4merge-diff-cmd

Сейчас svn diff <file> должен запустить p4merge,

Взяв ответ Стефана, вы можете проверить, какие параметры проходят через svn, а затем написать сценарий, чтобы выбрать правильные. Я на bash, поэтому:

      #! /bin/sh
left=$6
right=$7
/Applications/p4merge.app/Contents/MacOS/p4merge $left $right

# Uncomment this to see what svn passes as parameters
# for i in $(seq 1 11)
#   do echo $i : ${!i}
# done

Другие вопросы по тегам