You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit d9df533
Browse filesBrowse the repository at this point in the historyBrowse files
Guard against stale PBGitRevList parses overlapping (#563)
A burst of git-directory FSEvents (e.g. from `git switch -c <branch>`
touching both a ref file and HEAD) can trigger overlapping
loadRevisionsWithCompletionBlock: calls on the same PBGitRevList
instance. The previous parse operation's trailing commit-batch flush
is fire-and-forget and can still land after a newer parse has already
reset/appended its own commits, since NSOperation.isCancelled is only
checked cooperatively and can lose that race. The result is duplicate
commits appended into the history list.
Track a per-instance load generation and reject any updateCommits:
flush whose generation no longer matches the current one, closing the
race regardless of operation-queue/FSEvents timing.
0 commit comments