对于那些使用带有 MQ 扩展的 Mercurial 的人:
这是我第二次不小心将更改提交到中央存储库( hg push
),而不是将补丁应用到我的工作目录( hg qpush
)。
我认为这是非常不幸的,因为这是一个非常简单的错误并且会产生非常严重的后果(至少必须为每个提交的更改执行 hg backout
和额外的 hg push
以生成一个新的提交“将 las 撤消”到中央存储库,但历史变得令人费解且令人不快。
我的目标是在我的环境中配置一些别名或其他东西以使 hg push
更难偶然发生。
你有什么建议吗?我在想类似的事情:
[alias]
push= <-- how to NOP the push command??
pushtoserver=push
由于这是一个完全主观的问题,因此这是社区 wiki。
谢谢!
最佳答案
一些模糊的想法:
这个钩子(Hook)(bash 命令行)在将更改推送到远程之前要求确认(使用 mercurial 1.4 测试):
[hooks]
preoutgoing.confirm = read -p 'Are you sure you want to push to remote? (y/n): '; echo $REPLY | grep -q 'y'
关于configuration - 如何避免意外 'hg push' 而不是 'hg qpush' ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2416017/