Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: f824f17ebf1dd60a79614693ec98f1ee7ca2c55c
      
https://github.com/WebKit/WebKit/commit/f824f17ebf1dd60a79614693ec98f1ee7ca2c55c
  Author: Issac Roy <[email protected]>
  Date:   2026-08-24 (Mon, 24 Aug 2026)

  Changed paths:
    M Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py
    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/command.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/command_unittest.py

  Log Message:
  -----------
  [git-webkit] Uploading a pull request repeatedly duplicates the branch's bug 
and title in .git/config
https://bugs.webkit.org/show_bug.cgi?id=321562
rdar://184673539

Reviewed by Sam Sneddon.

`write_branch_variables` wrote every value with `git config --add`, which
appends rather than replaces, so each run left another copy of
`branch.<name>.bug` and `branch.<name>.title` behind.

- Write a key's first value with `--replace-all` and the rest with `--add`,
  making the write idempotent and collapsing duplicates that earlier
  runs left behind
- Pass bug URLs as a list rather than joining them with a newline:
  `git config -l` would unescape the newline but the value was truncated
  at the first URL and the remainder became a bogus key in `Git.config()`
- Modeled `--add` as appending in `mocks.local.Git`, taught it the `--list`
  spelling of `-l`, and made both report every value of a repeated key
  rather than flattening them through a dict, without which no test can
  observe the duplication
- `RE_ELEMENT` was mis-parsing config values that contain '='

* Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py:
* Tools/Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py:
(Git):
* Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/branch.py:
(Branch.main):
* Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/command.py:
(Command.write_branch_variables):
* Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/pull_request.py:
(PullRequest.pull_request_branch_point):
* Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/branch_unittest.py:
* Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/command_unittest.py:
(TestFilteredCommandRevision.test_revision_in_body_not_transformed):
(TestWriteBranchVariables):
(TestWriteBranchVariables.setUp):
(TestWriteBranchVariables.values_for):
(TestWriteBranchVariables.test_single_value_is_not_duplicated):
(TestWriteBranchVariables.test_value_is_replaced):
(TestWriteBranchVariables.test_multiple_values_are_kept):

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to