A merge commit with two parents, and a third branch feeding one extra line into the resolved file

A Merge Has Exactly Two Parents. The Line From a Third Branch Took Down Every API Route.

For 17 hours and 55 minutes, every route under /api/* on staging answered with a fatal error. The merge that caused it landed at 17:18 one evening; the fix that ended it landed at 11:13 the next morning. That duration is from the private repository and the server log, so you cannot verify it; read it as my account. The merge itself was ordinary: a feature branch into staging, one conflict, in the file that registers HTTP middleware. The conflict was real, both sides had added a line at the same spot. What went wrong was not the conflict. It was how the conflict was “resolved”, and then how the result was checked and declared fine. ...

September 23, 2026 · 7 min · Hoang Nguyen Thai