Getting error trying to commit using Subversion on

2019-02-23 01:32发布

问题:

Using Subversion I try to commit with:

 svn ci dir/filename

And I get this:

svn: system('emacs svn-commit.tmp') returned 256

What does this mean? How can I to fix it?

回答1:

When you try to commit something to Subversion, it needs a commit comment. Unless you pass a commit comment on the command line (using -m message), Subversion will automatically launch your preferred editor. It appears that your editor is emacs, but there is a problem launching it.

Either fix emacs, or set your EDITOR or SVN_EDITOR environment variables to a different editor that actually works.



回答2:

Possibly related: I'm seeing similar errors on vim when setting SVN_EDITOR without the qualifying the path. From your error output, I see you have done the same with emacs. Try export SVN_EDITOR=/usr/bin/emacs. Doing the same with /usr/bin/vim eliminated the 256 status codes.

I can't explain why. Seems like a bug to me.

See this 2009 discussion about vim on OSX 10.5.



回答3:

Looks like svn is not able to launch emacs for editing the comments for the commit.

If you just hava a few words of comments for your commit you could use:

svn ci dir/filename -m "Made some small changes"

another option might be to use the --editor-cmd option of svn. see svn help ci for details.



回答4:

googling svn: system('emacs svn-commit.tmp') returned 256 shows the following link as the first result.

http://jjinux.blogspot.com/2008/03/vim-weird-os-x-105-problem.html



回答5:

It sounds like SVN tried to invoke emacs to allow you to edit the commit log message, and something failed.

Workaround: use the -m flag to specify a commit message on the command line:

svn ci dir/filename -m "log message here"


标签: svn commit