unisonweb/unison

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

Open

#886 opened on 2019年10月23日

GitHub で見る
 (0 comments) (0 reactions) (0 assignees)Haskell (304 forks)batch import
bugcodebase-manager / ucmhelp wanted

Repository metrics

Stars
 (6,624 stars)
PR merge metrics
 (平均マージ 10d 2h) (30d で 5 merged PRs)

説明

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

コントリビューターガイド