Mercurial プロセスを強制終了すると、どのような損害が発生する可能性がありますか? 作業ディレクトリが未定義の状態のままになっている可能性はありますか? 何らかの方法で .hg/-admin 領域が破損する可能性はありますか?
ファイルは、Mercurial によるある種の「アトミック」操作で書き込まれますか? (作業ツリー ファイル、.hg/-internal ファイル、構成ファイルなど...)
1454 次
1 に答える
5
安全。すべての書き込みは、ディスク上のファイルの一貫性が常に保たれるように行われます。トランザクションが完全に書き出すか、次に見つかったときに自動的にロールバックします。閉じたときに一貫性があるだけでなく、SIGKILL や電源障害によって停止するかどうかに関係なく、常に一貫しています。
ここでそれがどのように達成されるかをある程度理解できます: https://www.mercurial-scm.org/wiki/FileFormats。これが可能なのは、すべてのファイル書き込みが追加のみであるためです。何かが書き込まれる前にファイルの長さが記録され、一貫性のない状態にあることが判明した場合、チェックポイントが設定された既知の適切な長さにファイルが自動的に切り捨てられます。
ドロップボックス (好きな順序でファイルを同期する) のようなものを使用すると、これが窓の外に放り出される可能性があります。
于 2012-05-07T18:50:12.180 に答える