[webkit-changes] [WebKit/WebKit] 295115: [git-webkit] Speed up Branch.branch_point

Jonathan Bedard noreply at github.com
Thu May 25 13:46:00 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 295115e98b2ed780c75595560254ee048755717a
      https://github.com/WebKit/WebKit/commit/295115e98b2ed780c75595560254ee048755717a
  Author: Jonathan Bedard <jbedard at apple.com>
  Date:   2023-05-25 (Thu, 25 May 2023)

  Changed paths:
    M Tools/Scripts/libraries/webkitscmpy/setup.py
    M Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py
    M Tools/Scripts/libraries/webkitscmpy/webkitscmpy/mocks/git-repo.json
    M Tools/Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py
    M Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/branch.py
    M Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/pull_request.py
    M Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/branch_unittest.py
    M Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/land_unittest.py
    M Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/pull_request_unittest.py
    M Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/revert_unittest.py
    M Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/squash_unittest.py
    M Tools/Scripts/webkitpy/common/checkout/scm/git.py

  Log Message:
  -----------
  [git-webkit] Speed up Branch.branch_point
https://bugs.webkit.org/show_bug.cgi?id=256855
rdar://109419012

Reviewed by Elliott Williams.

Calculating the merge-base of a commit and all production branches is actually faster than checking
which branches that commit is a member of. Re-implement branch-point using this techinque.

* Tools/Scripts/libraries/webkitscmpy/setup.py: Bump version.
* Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto.
* Tools/Scripts/libraries/webkitscmpy/webkitscmpy/mocks/git-repo.json: Add identifiers to all commits.
* Tools/Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py:
(Git.__init__): Pass all arguments to merge-base
(Git.merge_base): Support multiple branch arguments.
* Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/branch.py:
(Branch.branch_point): Calculate the merge-base between the current commit and all potential production branches.
* Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/pull_request.py:
(PullRequest.pull_request_branch_point): Early-exit function if branch-point is undefined.
* Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/branch_unittest.py:
(TestBranch.test_branch_point):
(TestBranch.test_branch_point_main):
* Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/land_unittest.py:
* Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/pull_request_unittest.py:
* Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/revert_unittest.py:
* Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/squash_unittest.py:

Canonical link: https://commits.webkit.org/264536@main




More information about the webkit-changes mailing list