在Ruby脚本,怎么问混帐打开其邮件编辑器(In a ruby script, how to ask

2019-10-18 22:36发布

我目前正在对自动在讨论的“底垫+无FF合并”的工作流程命令行红宝石宝石https://gist.github.com/jbenet/ee6c9ac48068889b0912 。 你可以找到这种宝石在WIP代码https://github.com/gsmendoza/git_pretty_accept/tree/git_pretty_accept 。 宝石会做这样的事情:

git co master
git pull
git co pull_request
git rebase master
git co master
git merge --edit --no-ff pull_request
git push
git branch -d pull_request
git push origin:pull_request

当我尝试通过Ruby来运行这些Git命令, git merge --edit --no-ff pull_request不开的git提交信息编辑器,比如我希望它会。 相反,我认为混帐刚刚收到来自编辑空白合并消息和红宝石继续与脚本的其余部分。

有任何想法吗?

Answer 1:

刚才看了你的代码 。

`git merge --no-ff --message "#{merge_message}" #{branch}`

在Ruby中,该反引号语法重定向STDIN和STDOUT。

简单地尝试这个:

system("git merge --edit --no-ff #{branch}")

system功能只是派生一个进程,等待子结束,而不触及标准输入/输出。 我测试和它的作品。



文章来源: In a ruby script, how to ask git to open its message editor
标签: ruby git shell