2010-04-02 12 views
5

Sto utilizzando Subversion per il checkin di un file su OSX. Ho la mia variabile EDITOR configurato per MacVimSubversion con MacVim configurato come editor

mio .profile include:

export EDITOR=/Applications/MacVim/mvim 

Quando ho checkin con l'opzione -m (svn ci somefile), MacVim viene lanciato, ma poi Subversion visualizza immediatamente:

Log message unchanged or not specified 
(a)bort, (c)ontinue, (e)dit: 

Lo mostra prima che abbia la possibilità di salvare il mio messaggio di registro in MacVim.

C'è un modo per ottenere SVN per utilizzare MacVim come l'editor messaggio di log?

risposta

11

È necessario eseguire mvim con il flag -f in modo che rimanga in primo piano. Di default, forchetta e restituisce il controllo al terminale, il che fa pensare che la sovversione sia eseguita.

0

Vedi open --help:

-W, --wait-apps blocchi fino a quando le applicazioni utilizzate sono chiusi (anche se sono stati già in esecuzione).

export EDITOR="open --wait -a /Applications/MacVim/mvim" 

Se quanto sopra non funziona, potrebbe essere necessario metterlo in script di shell e fare $ EDITOR al punto che lo script. [EDIT: non funziona, vedere il commento qui sotto.]

+1

aperta avrebbe lavorato per il bundle dell'applicazione 'MacVim.app'. 'mvim' è lo strumento della riga di comando, che richiede il flag' -f' descritto sopra. –

4

di Apple Terminal:

export EDITOR='mvim -f -c "au VimLeave * !open -a Terminal"' 

o per DbTel o iTerm2:

export EDITOR='mvim -f -c "au VimLeave * !open -a iTerm"' 

Da "Faq - macvim - GitHub: Come posso utilizzare MacVim per modificare git commit messaggi?". Ho confermato che funziona anche con Subversion.

0

sto usando TextMate come il mio editor di svn e ho avuto lo stesso problema che aveva. Ma la mia soluzione è impostare il compagno di testo in attesa che il file venga chiuso.

ho aggiunto questo nel mio .bash_profile

export SVN_EDITOR="mate -w" 

w è per aspettare