panther7

#54741: build: skip patch targets that are not checked out

Merged
Created: Oct 8, 2026, 12:00:12 AM
Merged: Oct 8, 2026, 6:24:29 PM
7 comments
Target: main

Description of Change

script/apply_all_patches.py only checked os.path.exists(repo) before running git am. A DEPS entry that gclient does not fetch (for example src/third_party/fontconfig/src, which has condition: 'checkout_linux' and is therefore skipped on Windows and macOS) still exists as an empty directory, because Chromium tracks it as a gitlink. The check passed, and git -C <empty dir> resolved to the parent Chromium repo.

Patches meant for the unfetched repo were then applied to src at the same time as the Chromium patches, and git am failed with previous rebase directory .git/rebase-apply still exists but mbox given. update-ref also moved refs/patches/upstream-head in src to the wrong commit.

The check now requires <repo>/.git, so targets that were not checked out are skipped with the existing repo not found warning.

Checklist

Release Notes

Notes: none

Backports

42-x-y
Merged
PR Number
#54786
Merged At
Oct 8, 2026, 7:18:54 PM
Released In
Not yet
Release Date
Not yet
43-x-y
Merged
PR Number
#54784
Merged At
Oct 8, 2026, 7:25:49 PM
Released In
Not yet
Release Date
Not yet
44-x-y
Merged
PR Number
#54785
Merged At
Oct 8, 2026, 7:40:09 PM
Released In
Not yet
Release Date
Not yet
45-x-y
Merged
PR Number
#54787
Merged At
Oct 8, 2026, 7:23:38 PM
Released In
Not yet
Release Date
Not yet

Semver Impact

Major
Breaking changes
Minor
New features
Patch
Bug fixes
None
Docs, tests, etc.

Semantic Versioning helps users understand the impact of updates:

  • Major (X.y.z): Breaking changes that may require code modifications
  • Minor (x.Y.z): New features that maintain backward compatibility
  • Patch (x.y.Z): Bug fixes that don't change the API
  • None: Changes that don't affect using facing parts of Electron