On a newly installed workstation or server, you might encountered the following subversion error when you commit a change:
svn: None of the environment variables SVN_EDITOR, VISUAL or EDITOR is set, and no ‘editor-cmd’ run-time configuration option was found.
So you haven't set the default SVN_EDITOR environment variable, yet. The error message continues:
svn: E205007: Commit failed (details follow):
svn: E205007: 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: E205007: None of the environment variables SVN_EDITOR, VISUAL or EDITOR are set, and no 'editor-cmd' run-time configuration option was found
You can fix this error by setting a SVN_EDITOR environment variable in Windows. To set SVN_EDITOR temporarily, issue the following command on your cmd.exe
command line;
set SVN_EDITOR=notepad.exe
You can use SETX
to set a permanent environment variable in Windows:
setx SVN_EDITOR C:\Windows\System32\notepad.exe
Or to set %PATH% environment variable in Windows Server Core:
SETX PATH "C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\PowerShell\7\;C:\Program Files (x86)\dotnet\;C:\Program Files\dotnet\;C:\Windows\system32\inetsrv"
In PowerShell, see the [Environment]::SetEnvironmentVariable command.
Of course you can also set an editor-cmd configuration in your subversion config
file. Then you wouldn't have to set an environment variable. Locate the svn config file in your %USERPROFILE%
($env:APPDATA\subversion\config
):
And add/change the editor-cmd
line
[helpers]
editor-cmd = C:\Windows\System32\notepad.exe
Set SVN_Editor environment variable in Bash (Linux)
export SVN_EDITOR=vim
To permanently set this environment variable, put the below line in your ~/.bash_profile
file:
vim ~/.bash_profile
export SVN_EDITOR=vim
# save file
And finally execute source ~/.bashrc
to apply the changes immediately.