Justin Meltzer
Justin Meltzer

Reputation: 13548

Commit failed error when committing new version to svn repository

I'm trying to commit a new version to my SVN repository but am met with this error:

svn: Commit failed (details follow):
svn: Could not use external editor to fetch log message; consider setting the $SVN_EDITOR environment variable or using the --message (-m) or --file (-F) options
svn: None of the environment variables SVN_EDITOR, VISUAL or EDITOR are set, and no 'editor-cmd' run-time configuration option was found new-computers-computer:trunk newcomputer$

What's wrong?

Upvotes: 28

Views: 33760

Answers (5)

Neha
Neha

Reputation: 1

I had the same problem while doing:

svn copy $svn_source_path $svn_destination_path

I was missing adding the -m "log msg" i.e.

svn copy $svn_source_path $svn_destination_path -m -m "Test tag creation"

Upvotes: 0

Andrew
Andrew

Reputation: 68

I also had the same issue, however it was on Windows. I was able to resolve the issue by using -m (--message) and providing the commit message.

I also tried using cygwin with a commit message and that worked.

Upvotes: 2

Israelm
Israelm

Reputation: 1675

I had a similar problem while trying to import a not versioned code into a new repository, based on the answers posted on this question i was able to solve my problem (thank you guys).

I am sharing the command i used to import a local project to SVN on using apache/http:

Where TestCodeDir is the project and hasn't been versioned yet.

svn import /var/svn/TestCodeDir http://localhost/svn/TestCodeDir -m "Initial Commit"

Note: You must to have your apache server well configured and it must to be running.

I hope this could help someone.

Upvotes: 0

Blackcoat
Blackcoat

Reputation: 3310

Justin,

Every time you commit with Subversion, you need to write a summary of what is being committed (i.e. the commit message). The error is because Subversion is trying to launch a text editor so that you can write a commit message, but the editor is never being launched. Setting the SVN_EDITOR in your .bash_profile will do the trick. Here are some detailed step-by-step instructions on how to set vim as the default editor used by svn: Original link dead, replaced with archive.is mirror

Alternatively, as suggested in error message, you can load a commit message from an existing file with -f, or pass in a message with -m.

Examples:

svn commit -m "Fixed a regression that prevented pigs from flying (resolves issue #123, but causes strange behavior elsewhere)"
svn commit -f /path/to/a/file/with/a/long/commit/message.txt

Upvotes: 37

Kersh
Kersh

Reputation: 310

If you want to set default editor that will be used every time you run

svn commit

Try the following command in the shell:

export SVN_EDITOR=nano

This will set nano as the text editor for commit messages. From now on, when you call svn commit without the -m flag, nano will open. Upon closing nano, SVN will continue to commit.

Upvotes: 18

Related Questions