mercurial - 我可以 "break"hg 工作副本,以便在提交之前必须将其恢复吗?

标签 mercurial

我有一个实用程序脚本,它将配置本地开发人员实例以模仿特定的生产实例 - 复制正确的连接字符串、客户端文件等 - 从而使调查某些问题变得容易。

因为这一切都是在本地完成的,所以会更改工作目录中的文件。因此,脚本做的第一件事就是打印出一个大警告,警告开发人员不要在完成后提交和恢复更改。然而,随着我的构建系统的滚动,可能会忘记或错过这个警告,我想知道是否可以进一步。

是否可以对 hg 存储库进行一些操作,以便提交被拒绝,并且开发人员必须首先恢复?

我意识到这个问题在恢复什么提交什么方面存在一些变数,但鉴于我什至不确定这是否可能,我愿意接受仔细的警告以获得答案。

最佳答案

这正是hooks是给。您需要在每个存储库或可能的 pretxnchangegroup 上设置一个 precommit Hook 。

通过创建一个检查特定文件或特定更改的预提交 Hook (脚本),您可以使提交失败并打印出您需要的任何警告。脚本的返回值向mercurial指示交易是否有效。

使用以下generic sample在接受或拒绝变更集之前检查是否存在将提交的某些文件。

关于mercurial - 我可以 "break"hg 工作副本,以便在提交之前必须将其恢复吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23228229/

相关文章:

mercurial - 如何将 Smartgit 链接到 BitBucket

Mercurial:查看上次提交的更改的简单方法

git - 对于 SUN Teamware -> 现代 SCM 迁移,可以向客户/老板提出什么论据?

mercurial - 如何解决 Mercurial (v1.0.2) 中的 merge 冲突?

merge - mercurial中 merge 子存储库的多个分支的 merge 历史

mercurial - 复制带有未提交更改的 Mercurial 存储库

git - 哪个是更好的提交工具,qct 或 hgct/gct?

mercurial - 我需要在 Mercurial 存储库中创建主干/分支/标签吗?

mercurial - 如何解开/撤消对应用的 MQ 补丁的 merge ?

visual-studio - Mercurial 的 VisualStudio 插件有哪些区别?