unisonweb/unison

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

Open

#886 aperta il 23 ott 2019

Vedi su GitHub
 (0 commenti) (0 reazioni) (0 assegnatari)Haskell (304 fork)batch import
bugcodebase-manager / ucmhelp wanted

Metriche repository

Star
 (6624 star)
Metriche merge PR
 (Merge medio 10g 2h) (5 PR mergiate in 30 g)

Descrizione

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

Guida contributor