(免責事項: 以前に同様の質問を投稿しました: In a ruby script, how to ask git to open its message editor . この質問はより一般的であり、他のプログラマーにも当てはまる可能性があるため、別の質問として投稿することにしました。 .ただし、ここでの回答が適用されるかどうかわからないため、git 関連の質問は保留しました.これに対するルールがある場合は、お知らせください)
私は現在、https: //gist.github.com/jbenet/ee6c9ac48068889b0912 で説明されている「リベース + no-ff マージ」ワークフローを自動化するコマンドライン ruby gem に取り組んでいます。この gem の WIP コードはhttps://github.com/gsmendoza/git_pretty_accept/tree/git_pretty_acceptにあります。gem は次のようになります。
`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 コマンドを ruby 経由で実行しようとすると、vi some_temp_file.txt
期待どおりにテキスト エディターが開きません。代わりに、「Vim: 警告: 出力先が端末ではありません」という警告が表示され、スクリプトがハングします。
何か案は?