【问题标题】:Is is safe to kill a Mercurial (hg) process?杀死 Mercurial (hg) 进程是否安全?
【发布时间】:2017-06-16 23:20:57
【问题描述】:
  • 杀死 Mercurial 进程会造成哪些损害?工作目录可能处于未定义状态吗? .hg/-admin 区域是否会以某种方式损坏?

  • 文件是由 Mercurial 以某种“原子”操作编写的吗? (工作树文件、.hg/-internal 文件、配置文件等等……)

【问题讨论】:

    标签: mercurial process


    【解决方案1】:

    这是安全的。完成所有写入,以使磁盘上的文件始终一致。事务要么完全写出,要么在下次找到时自动回滚。不仅关闭时一致,而且始终一致——无论是通过 SIGKILL 还是电源故障停止。

    您可以在此处了解这是如何完成的:https://www.mercurial-scm.org/wiki/FileFormats。这部分是可能的,因为所有文件写入都只是追加。在写入任何内容之前,会记录文件长度,如果发现内容处于不一致状态,它们会自动将文件截断回检查点的已知良好长度。

    使用像 dropbox 之类的东西(它以它喜欢的任何顺序同步文件)可以把它抛到窗外,这就是为什么最好让 hg 成为写入存储库的唯一进程。

    【讨论】:

    • 即使在使用例如SIGKILL?
    • 感谢您的澄清!
    猜你喜欢
    • 1970-01-01
    • 2014-03-08
    • 2013-01-12
    • 2023-03-08
    • 1970-01-01
    • 1970-01-01
    • 2017-04-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多