unisonweb/unison

externally updated `_head` isn't detected in `ucm`

Open

#886 创建于 2019年10月23日

在 GitHub 查看
 (0 评论) (0 反应) (0 负责人)Haskell (6,624 star) (304 fork)batch import
bugcodebase-manager / ucmhelp wanted

描述

This can cause weirdness if there are two instances of ucm running backed by the same codebase.

I think the code to do anything about it is commented out (which we should fix) but there is code to display a warning, which also isn't firing.

If the external change leaves multiple heads, ucm should first:

  • issue a message to the console, including the short hashes of the previous loopstate root hash, and of the newly detected heads (see reflog implementation for example of printing short hashes).
  • merge the multiple heads (Branch.merge?)

Then (multiple heads or single head), ucm should:

  • write the external change to the reflog
  • update LoopState

贡献者指南