On 01.01.24 12:30, Stefan Haller wrote: > But it does sound like --no-write-fetch-head will solve our problem, > thanks! Actually we saw another problem recently that I suspect might also be caused by the concurrency between fetch and pull, but I'm not sure. I'll explain it here in case anybody has any idea. What happened was that a user tried to pull a branch that was behind its upstream (not diverged). They got the error message from show_advice_pull_non_ff ("Need to specify how to reconcile divergent branches"); the log then showed that the background fetch was ongoing for the remote of the current branch while they initiated the pull. Trying to pull again after the background fetch had moved on to the next remote then worked. I read the code in pull.c a bit, but I can't see how it can become so confused about being diverged in this scenario. Any ideas? -Stefan