2010-04-02 6 views
5

Ich benutze Subversion, um eine Datei unter OSX einzuchecken. Ich habe meine EDITOR Variable konfiguriert MacVimSubversion mit MacVim als Editor konfiguriert

Mein .profile umfasst:

export EDITOR=/Applications/MacVim/mvim 

Als ich mit dem -m Option (svn ci somefile) checkin, MacVim gestartet wird, aber dann Subversion zeigt sofort:

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

Dies wird angezeigt, bevor ich die Möglichkeit habe, meine Log-Nachricht in MacVim zu speichern.

Gibt es eine Möglichkeit, SVN MacVim als Protokollnachrichteneditor zu verwenden?

Antwort

11

Sie müssen mvim mit dem -f Flag ausführen, damit es im Vordergrund bleibt. Standardmäßig gibt es Forks aus und gibt die Kontrolle an das Terminal zurück, wodurch Subversion denkt, dass es erledigt ist.

0

Siehe open --help:

-W, --wait-apps Blöcke, bis die verwendeten Anwendungen geschlossen sind (auch wenn sie bereits ausgeführt wird).

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

Wenn die oben nicht funktioniert, müssen Sie möglicherweise es in Shell-Skript setzen und $ EDITOR machen das Skript zu verweisen. [EDIT: funktioniert nicht, siehe den Kommentar unten.]

+1

offen warten ist, würde für das 'MacVim.app' Anwendungspaket arbeiten. 'mvim' ist das Befehlszeilenwerkzeug, das das oben beschriebene Flag '-f' erfordern würde. –

4

Apple-Terminal:

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

oder für iTerm oder iTerm2:

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

Von "Faq - macvim - GitHub: Wie kann ich MacVim verwenden bearbeiten Git Nachrichten begehen?". Ich habe bestätigt, dass es auch mit Subversion funktioniert.

0

Ich benutze Textmate als meine Svn-Editor und ich hatte das gleiche Problem, das Sie hatten. Aber meine Lösung besteht darin, Textmate zu warten, bis die Datei geschlossen wird.

Ich habe dies in meinem Bash_profile

export SVN_EDITOR="mate -w" 

-w für