杀死Mercurial进程可能会造成哪些损害?工作目录可能会处于未定义状态吗? .hg / -admin区域可能会以某种方式损坏吗?
文件是由Mercurial以某种“原子”操作编写的吗? (工作树文件,.hg / -internal文件,配置文件等......)
答案 0 :(得分:5)
很安全。完成所有写入操作,使磁盘上的文件始终一致。事务完全写出或在下次找到时自动回滚。不仅在关闭时保持一致,而且总是一致 - 无论是通过SIGKILL还是电源故障停止。
你可以在这里找出完成的方法:https://www.mercurial-scm.org/wiki/FileFormats。这可能部分是因为所有文件写入仅附加。在编写任何内容之前,请注意文件长度,如果发现事物处于不一致状态,它们会自动将文件截断回检查点,已知的良好长度。
使用dropbox(以任何顺序同步文件)之类的东西可以将其抛出窗口,这就是为什么最好让hg成为写入存储库的唯一进程。