Question

I'm using Subversion to checkin a file on OSX. I have my EDITOR variable configured to MacVim

My .profile includes:

export EDITOR=/Applications/MacVim/mvim

When I checkin with the -m option (svn ci somefile), MacVim gets launched but then Subversion immediately displays:

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

It displays this before I get a chance to save my log message in MacVim.

Is there a way to get SVN to use MacVim as the log message editor?

Was it helpful?

Solution

You need to run mvim with the -f flag so that it stays in the foreground. By default, it forks and returns control to the terminal which makes subversion think it is done.

OTHER TIPS

Apple Terminal:

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

or for iTerm or iTerm2:

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

From "Faq - macvim - GitHub: How can I use MacVim to edit Git commit messages?". I've confirmed that it works with Subversion, as well.

See open --help:

-W, --wait-apps Blocks until the used applications are closed (even if they were already running).

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

If the above doesn't work, you may need to put it into shell script and make $EDITOR to point that script. [EDIT: doesn't work, see the comment below.]

I'm using textmate as my svn editor and I had the same problem you had. But my solution is to set textmate to wait until the file is closed.

I added this in my .bash_profile

export SVN_EDITOR="mate -w"

-w is for wait

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top