Командная строка SVN: heredoc как сообщение

Есть ли способ использовать heredoc в качестве сообщения с помощью команды svn?

Я попробовал это:

$ echo <<TEXT | svn commit -m - 
  > line one input
  > line two input
  >TEXT

В моем репозитории он просто записывает черту как сообщение.

Я попытался искать и не нашел способа сделать многострочный ввод, кроме записи в \n символов, но было бы замечательно, если бы я мог просто обычный многострочный текст, который я уже напечатал в качестве ввода.

Возможно ли использовать другой метод или это просто желаемое за действительное?

Спасибо!

2 ответа

Решение

Вы можете установить переменную окружения, которая позволит svn открыть желаемый текстовый редактор для ввода вашего сообщения о коммите.

SVN_EDITOR

Смотрите здесь для получения дополнительной информации

Если вы действительно хотите использовать здесь документ, вам нужно использовать -F вариант. Но ваша другая проблема заключается в том, что вы используете echo который не принимает никакого ввода на stdin. Ты хочешь cat,

Так что будет работать следующее:

cat <<TEXT | svn commit -F -

Если вы делаете это в интерактивном режиме, я думаю, вы предпочтете ответ Jon Taylor.

Другие вопросы по тегам