brave-core icon indicating copy to clipboard operation
brave-core copied to clipboard

Improve npm run sync logic to support v8 patching.

Open goodov opened this issue 2 years ago • 3 comments

Changes:

  • Move npm run sync-related functions from util.js into sync.js
  • Add support for running gclient sync in brave to sync brave DEPS only
  • Disable global gclient sync call when chromium sync is not needed
  • Add git exclude for brave dir via src/.git/info/exclude file to support gclient sync -D

Resolves https://github.com/brave/brave-browser/issues/24518

Submitter Checklist:

  • [x] I confirm that no security/privacy review is needed, or that I have requested one
  • [x] There is a ticket for my issue
  • [x] Used Github auto-closing keywords in the PR description above
  • [x] Wrote a good PR/commit description
  • [ ] Squashed any review feedback or "fixup" commits before merge, so that history is a record of what happened in the repo, not your PR
  • [x] Added appropriate labels (QA/Yes or QA/No; release-notes/include or release-notes/exclude; OS/...) to the associated issue
  • [ ] Checked the PR locally: npm run test -- brave_browser_tests, npm run test -- brave_unit_tests, npm run lint, npm run gn_check, npm run tslint
  • [ ] Ran git rebase master (if needed)

Reviewer Checklist:

  • [ ] A security review is not needed, or a link to one is included in the PR description
  • [ ] New files have MPL-2.0 license header
  • [ ] Adequate test coverage exists to prevent regressions
  • [ ] Major classes, functions and non-trivial code blocks are well-commented
  • [ ] Changes in component dependencies are properly reflected in gn
  • [ ] Code follows the style guide
  • [ ] Test plan is specified in PR before merging

After-merge Checklist:

  • [ ] The associated issue milestone is set to the smallest version that the changes has landed on
  • [ ] All relevant documentation has been updated, for instance:
    • [ ] https://github.com/brave/brave-browser/wiki/Deviations-from-Chromium-(features-we-disable-or-remove)
    • [ ] https://github.com/brave/brave-browser/wiki/Proxy-redirected-URLs
    • [ ] https://github.com/brave/brave-browser/wiki/Fingerprinting-Protections
    • [ ] https://github.com/brave/brave-browser/wiki/Brave%E2%80%99s-Use-of-Referral-Codes
    • [ ] https://github.com/brave/brave-browser/wiki/Custom-Headers
    • [ ] https://github.com/brave/brave-browser/wiki/Web-Compatibility-Exceptions-in-Brave
    • [ ] https://github.com/brave/brave-browser/wiki/QA-Guide
    • [ ] https://github.com/brave/brave-browser/wiki/P3A

Test Plan:

goodov avatar Aug 08 '22 15:08 goodov

@bridiver @mkarolin @petemill PTAL

goodov avatar Aug 11 '22 07:08 goodov

Since there's a lot going on in this PR (it fixes a few things), could you briefly describe which one fixes the v8 sync issue?

the v8 issue is the general inability to do a simple gclient sync (without force/reset) if any uncommitted change exists in a gclient-controlled directory. See the description in the issue: https://github.com/brave/brave-browser/issues/24518

goodov avatar Aug 12 '22 12:08 goodov

@bridiver @petemill ptal.

goodov avatar Aug 16 '22 06:08 goodov