Prima un avvertimento! È molto facile finire per perdere le tue modifiche locali se ti sbagli! Test test test!
Ho paura che lo script dal collegamento di pmod non funzioni con svn 1.6 (corrente in Ubuntu 11.04). Mettere insieme il codice da pmod's link e here e consulenza here, ho fatto questo script che sembra funzionare bene:
#!/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)
Salva questo da qualche parte sensibile (ad es /usr/local/bin/svn-merge-meld.py
) e renderlo eseguibile:
sudo chmod +x /usr/local/bin/svn-merge-meld.py
Poi modificare ~/.subversion/config
e decommentare la riga merge-tool-cmd =
e impostare il percorso del comando.
Si noti che quando si verifica un conflitto, verrà chiesto cosa fare con esso. È necessario digitare una singola 'l' e per svn per eseguire questo script. Una volta completata l'unione, è necessario digitare una "r" per risolvere il conflitto e copiare la versione unita nella copia di lavoro.
Grazie per l'aggiornamento. – Profpatsch
Rimuovi le importazioni os e shutil: non vengono più utilizzate. – bcelary
Sembra che la chiamata cmd per la combinazione sia cambiata - io uso 'cmd = [combina, mia, base, loro, '-o', unita]' (fusione 1.8.4). ' – Ayrat