microsoft / microsoft/go

Automatic upstream sync may overwrite manually applied changes applied during sync

Open
#1,345 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Go
Stars
431
Forks
44
Avg merge
21h 18m
Merged PRs (30d)
30

Description

There's a known race condition in the PR:

There's a ~1 minute window (observed in a recent run) where if a dev pushes a commit to the sync PR, it may still be overwritten by the bot.

For now, it seems like the value is very low:

  • The window is small.
  • If it does happen, the dev can simply push again (they are likely still set up to trivially run a force push).
  • Not much CI-running time is lost.
    • Losing CI results has been the larger sting for an overwrite. The commit itself was always recoverable.

The amount of investigation needed to implement a fix is probably not all that high, but the value is very low, so I'm filing this just to keep track of the known issue and potentially consider fixing it later.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Review PR #175 and the upstream-sync flow described there, along with the context in Go issue #68. Determine where the bot can overwrite a developer commit during the sync window, then verify that manual changes and their CI results are preserved after the fix.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
ci-cd
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.