与Mercurial合并并提交一步

时间:2014-05-15 14:59:03

标签: bash merge mercurial

On Mercurial如果我想合并分支,我总是必须分两步执行:

hg merge my_branch
hg ci -m "I just merged my branch"

有没有一种方法可以在一个命令中执行相同的操作(如果发现冲突,它会中止)?

hg merge my_branch -ci "I merged my branch" 

2 个答案:

答案 0 :(得分:2)

hg merge my_branch && hg ci -m "I just merged my branch" 是可接受的还是只需要拨打hg一次?

仅当第一个命令成功返回时,

&&才会执行以下命令。

编辑:

如果您需要将命令作为带参数的别名,这会变得有点复杂,因为别名不接受参数。您可以使用函数并将其别名:

branch_and_commit() { hg merge $1 && hg ci -m $2; } ; alias bac=branch_and_commit

然后你可以这样称呼它:

bac my_branch_id "this is the comment"

答案 1 :(得分:1)

我不建议在同一操作中执行这两个操作。主要原因是,在合并冲突期间,您需要在提交之前解决它。因此,当第一个操作失败时,您将被置于一个需要另一个提交的状态。

如果您需要这样做,为了简化理想的案例工作流,至少创建一个脚本来处理冲突案例并恢复到起始修订版,以便用户可以正常合并和提交。但是,使用简单的别名最终会比帮助你更麻烦。