Подтвердить что ты не робот

Ошибка Commit с ошибкой при передаче новой версии в svn-репозиторий

Я пытаюсь перенести новую версию в свой SVN-репозиторий, но я встретил эту ошибку:

svn: Commit failed (подробности следуют):
svn: Не удалось использовать внешний редактор для извлечения сообщения журнала; рассмотрите возможность установки переменной среды SVN_EDITOR или с помощью параметров -message (-m) или -file (-F)
svn: ни одна из переменных окружения SVN_EDITOR, VISUAL или EDITOR не установлена, и не была выбрана опция конфигурации "run-time-cmd" new-computers-computer: trunk newcomputer $

Что не так?

4b9b3361

Ответ 1

Джастин

Каждый раз, когда вы совершаете транзакцию с помощью Subversion, вам необходимо написать сводку того, что происходит (т.е. сообщение фиксации). Ошибка заключается в том, что Subversion пытается запустить текстовый редактор, чтобы вы могли написать сообщение фиксации, но редактор никогда не запускается. Установка SVN_EDITOR в ваш .bash_profile сделает трюк. Вот несколько подробных пошаговых инструкций о том, как установить vim в качестве редактора по умолчанию, используемого svn: Исходная ссылка мертва, заменена на archive.is mirror

В качестве альтернативы, как указано в сообщении об ошибке, вы можете загрузить сообщение фиксации из существующего файла с помощью -f или передать сообщение с -m.

Примеры:

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

Ответ 2

Если вы хотите установить редактор по умолчанию, который будет использоваться каждый раз при запуске

svn commit

Попробуйте выполнить следующую команду в оболочке:

export SVN_EDITOR=nano

Это установит nano в качестве текстового редактора для сообщений фиксации. С этого момента, когда вы вызываете svn commit без флага -m, откроется nano. После закрытия nano SVN продолжит фиксацию.

Ответ 3

У меня также была такая же проблема, однако она была в Windows. Я смог решить проблему, используя -m (--message) и предоставив сообщение о фиксации.

Я также попытался использовать cygwin с сообщением фиксации, и это сработало.

Ответ 4

У меня была аналогичная проблема при попытке импортировать код без версии в новый репозиторий, на основе ответов, опубликованных по этому вопросу, я смог решить мою проблему (спасибо вам, ребята).

Я использую команду, которую я использовал для импорта локального проекта в SVN при использовании apache/http:

Где TestCodeDir является проектом и еще не был версией.

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

Примечание. Необходимо, чтобы ваш сервер Apache был настроен правильно, и он должен быть запущен.

Надеюсь, это может помочь кому-то.

Ответ 5

У меня была такая же проблема при выполнении:

svn copy $svn_source_path $svn_destination_path

Мне не хватало добавления -m "log msg", т.е.

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