(Отказ от ответственности: Я отправил аналогичный вопрос ранее: In a ruby script, how to ask git to open its message editor. Я решил опубликовать это как отдельный вопрос, потому что я думаю, что этот вопрос более общий и, следовательно, возможно более применим к другим программистам, Я сохранил вопрос, связанный с git, потому что я не уверен, что там тоже может быть ответ. Если есть какие-то правила против этого, дайте мне знать)Открытый текстовый редактор в рубиновом скрипте
В настоящее время я работаю над рубиновой жемчужиной командной строки, автоматизирует рабочий процесс «rebase + no-ff merging», обсуждаемый в https://gist.github.com/jbenet/ee6c9ac48068889b0912. Код WIP для этого драгоценного камня можно найти по номеру https://github.com/gsmendoza/git_pretty_accept/tree/git_pretty_accept. Драгоценный камень будет делать что-то вроде этого:
`vi some_temp_file.txt`
`git co master`
`git pull`
`git co pull_request`
`git rebase master`
`git co master`
merge_message = File.read('some_temp_file.txt')
`git merge --message "#{merge_message}" --no-ff pull_request`
`git push`
`git branch -d pull_request`
`git push origin:pull_request`
Когда я пытаюсь запустить эти команды GIT через рубин, vi some_temp_file.txt
не открывает текстовый редактор, как я надеюсь, что это будет. Вместо этого я вижу предупреждение «Vim: Warning: Output is not to terminal», а сценарий просто зависает.
Любые идеи?
Спасибо! Так вот в чем разница между backticks и 'system' :) – gsmendoza