有人可以给我指明正确的方向,让我使用 shell 脚本或 Python 编写一个脚本来简化将 bzr 分支推送到启动板的过程吗?
脚本过程很简单:
cd /directory/to/code
- 请求提交评论
bzr commit - m $comment
bzr push lp:~path/to/code
答案1
您可以将其按原样放入脚本中......
#!/bin/sh -e
cd /directory/to/code
bzr commit
bzr push
我故意省略了-m
for。Bazaarbzr commit
将启动已配置的文本编辑器,您可以在其中输入,无需“请求”。
我也lp:~path/to/code
故意省略了。手动执行bzr push lp:~path/to/code
一次后,Bazaar 会记住该位置,下次只需执行 即可bzr push
。
需要帮助请叫我。
答案2
Shell 脚本非常容易上手。第一行必须是#!/bin/sh
(a舍邦— 只需复制粘贴即可。然后每行输入一个命令。
如果您希望脚本在命令失败时停止,请将该行添加set -e
为第二行。
如果您正在调试脚本并想要在执行命令之前显示它们,请添加set -x
第二行。
#!/bin/sh
set -e
cd /directory/to/code
bzr commit
bzr push lp:~path/to/code
“请求提交评论” 的最佳方式是打开编辑器供您输入。这就是它的作用bzr commit
。
将此文件保存在目录中~/bin
(如果不存在则创建它)并赋予其执行权限(chmod +x ~/bin/push-my-code
在命令行上)。
如果您从命令行调用此脚本,则通常您已经位于正确的目录中,因此您不需要cd
先执行命令。在这种情况下,您可以向 中添加一个函数,而不是脚本.bashrc
:
commit-and-push () {
bzr commit &&
bzr push lp:~path/to/code
}
然后输入commit-and-push
将运行两个命令bzr commit
和bzr push
。&&
第一个命令末尾的符号表示如果第一个命令失败,则不会执行下一个命令(因此,如果您注意到在输入变更日志条目时犯了错误并取消提交,则不会推送任何内容)。如果您总是推送到同一个地方,请省略推送命令的参数 — 这样就bzr commit
足够bzr push
了。