unisonweb/unison

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

Open

#886 geöffnet am 23. Okt. 2019

Auf GitHub ansehen
 (0 Kommentare) (0 Reaktionen) (0 zugewiesene Personen)Haskell (304 Forks)batch import
bugcodebase-manager / ucmhelp wanted

Repository-Metriken

Stars
 (6.624 Stars)
PR-Merge-Metriken
 (Durchschn. Merge 10T 2h) (5 gemergte PRs in 30 T)

Beschreibung

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

Contributor Guide