2011-11-29 27 views
6

Come posso ottenere uno strumento di unione basato sulla GUI per lavorare con la riga di comando SVN in linux? Capisco che ci sono molte opzioni come meld, svn Diff, ecc. Tutti richiedono uno script di supporto per consentire a svn di richiamare il programma esterno durante la risoluzione dei conflitti. Ho seguito le istruzioni date here e il simpatico svn manual con la combinazione.Come ottenere strumenti di unione esterni per lavorare con svn su linux?

Ma in tutti i casi, quando arrivo al conflitto di unione e digitare 'l' per richiamare lo strumento esterno, ottengo un errore: lo strumento di fusione esterna terminato con codice di uscita 255

Sono abbastanza certo Mi manca qualche cosa chiave qui. È troppo coincidente per il fallimento di così tante soluzioni diverse. Gradirei qualsiasi soluzione o puntatori al problema.

Grazie!

+0

Sono consapevole che esiste una domanda molto simile [chiesta in precedenza] (http://stackoverflow.com/questions/7252011/ how-to-set-up-svn-conflict-resolution-with-meld) su SO. Ma il codice di errore è diverso e le soluzioni suggerite non funzionano. È ancora sufficientemente generico da aiutare gli altri che potrebbero voler creare un simile ambiente. –

risposta

3

Potresti non disporre delle autorizzazioni corrette per lo script del wrapper. Provare qualcosa di simile:

sudo chmod +x /usr/local/bin/mergewrap.py 

ho trovato diversi script wrapper per vimdiff o fondere che sembrano passare il numero errato di argomenti. A meno che non abbia frainteso la documentazione piuttosto concisa sui parametri della riga di comando, prendono solo 2 o 3 nomi di file. Ciò potrebbe anche causare errori nello script con un errore.

4

Assicurarsi inoltre che il percorso nella configurazione sia assoluto. Dovrebbe essere lo stesso percorso che si vede quando si esegue un comando pwd da quella directory. Nessun alias o percorso relativo. Così, se il nome utente è foo si sostituirebbe questa linea:

Aggiungere questo sotto di essa: strumenti di fusione-cmd = ~/bin/svn-merge-fondere

Con

Aggiungere questo sotto di essa : merge-tool-cmd =/Users/foo/bin/svn-merge-meld