Первое предупреждение!Это очень легко потерять ваши локальные изменения, если вы ошиблись!Тестовый тестовый тест!
Боюсь, скрипт из ссылки pmod не работает с svn 1.6 (текущий в Ubuntu 11.04).Собрав код из ссылки pmod и здесь и совета здесь , я сделал этот скрипт, который, кажется, работает нормально:
#!/usr/bin/env python
# svn merge-tool python wrapper for meld
import sys
import subprocess
try:
# path to meld
meld = "/usr/bin/meld"
# file paths
base = sys.argv[1]
theirs = sys.argv[2]
mine = sys.argv[3]
merged = sys.argv[4]
# the call to meld
# For older meld versions:
# cmd = [meld, mine, base, theirs, merged]
# New meld versions: >= 1.8.4
cmd = [meld, mine, base, theirs, '-o', merged]
# Call meld, making sure it exits correctly
subprocess.check_call(cmd)
except:
print "Oh noes, an error!"
sys.exit(-1)
Сохранитьэто где-то разумно (например, /usr/local/bin/svn-merge-meld.py
) и сделать его исполняемым:
sudo chmod +x /usr/local/bin/svn-merge-meld.py
Затем отредактируйте ~/.subversion/config
, раскомментируйте строку merge-tool-cmd =
и укажите путь к вашей команде.
Обратите внимание, что при возникновении конфликта вам будет предложено, что с ним делать.Вам нужно набрать один 'l' и svn запустить этот скрипт.Когда вы закончите слияние, вам нужно набрать 'r' для разрешения конфликта и скопировать слитую версию в рабочую копию.