Bug 261789 - `git webkit pr --no-commit` spits out a bunch of errors when there are multiple commits on a branch
Summary: `git webkit pr --no-commit` spits out a bunch of errors when there are multi...
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: Tools / Tests (show other bugs)
Version: Safari 16
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2023-09-19 17:55 PDT by Simon Fraser (smfr)
Modified: 2023-11-17 06:48 PST (History)
6 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Simon Fraser (smfr) 2023-09-19 17:55:53 PDT
I'm on my own branch, which has a two commits on it relative to `main`. `git webkit pr` produces this output:

OpenSource % git webkit pr  --no-commit
ERROR: Unexpected diff format when parsing a chunk: 'From 7ba7f1664729c24f8bb6f7a24bda5a64b71b2deb Mon Sep 17 00:00:00 2001'
ERROR: Unexpected diff format when parsing a chunk: 'From: Simon Fraser <simon.fraser@apple.com>'
ERROR: Unexpected diff format when parsing a chunk: 'Date: Tue, 19 Sep 2023 17:45:18 -0700'
ERROR: Unexpected diff format when parsing a chunk: 'Subject: [PATCH 2/2] Add UnifiedPDF feature flag, PDFPluginBase.* and fix the'
ERROR: Unexpected diff format when parsing a chunk: 'Reviewed by NOBODY (OOPS!).'
ERROR: Unexpected diff format when parsing a chunk: 'Add a feature flag for UnifiedPDF, which is a PDF plugin shared between platforms.'
ERROR: Unexpected diff format when parsing a chunk: 'Add empty PDFPluginBase.h/mm files, and deal with the unified sources fallout.'
ERROR: Unexpected diff format when parsing a chunk: '* Source/WebKit/SourcesCocoa.txt:'
ERROR: Unexpected diff format when parsing a chunk: '* Source/WebKit/WebKit.xcodeproj/project.pbxproj:'
ERROR: Unexpected diff format when parsing a chunk: '* Source/WebKit/WebProcess/Plugins/PDF/PDFPluginBase.h: Copied from Source/WebKit/WebProcess/WebCoreSupport/WebBadgeClient.cpp.'
ERROR: Unexpected diff format when parsing a chunk: '* Source/WebKit/WebProcess/Plugins/PDF/PDFPluginBase.mm: Copied from Source/WebKit/WebProcess/WebCoreSupport/WebBadgeClient.cpp.'
ERROR: Unexpected diff format when parsing a chunk: '* Source/WebKit/WebProcess/WebCoreSupport/WebBadgeClient.cpp:'
ERROR: Unexpected diff format when parsing a chunk: '* Source/WebKit/WebProcess/WebCoreSupport/mac/WebContextMenuClientMac.mm:'
ERROR: Unexpected diff format when parsing a chunk: '* Source/WebKit/WebProcess/WebPage/Cocoa/WebPageCocoa.mm:'
ERROR: Unexpected diff format when parsing a chunk: '* Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollbarsController.h:'
ERROR: Unexpected diff format when parsing a chunk: '* Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteScrollbarsController.mm:'
ERROR: Unexpected diff format when parsing a chunk: '(WebKit::RemoteScrollbarsController::shouldRegisterScrollbars const):'
ERROR: Unexpected diff format when parsing a chunk: '* Source/WebKit/webpushd/MockPushServiceConnection.mm:'
ERROR: Unexpected diff format when parsing a chunk: '* Source/WebKit/webpushd/PushService.mm:'
ERROR: Unexpected diff format when parsing a chunk: '* Source/WebKit/webpushd/PushServiceConnection.mm:'
Total errors found: 0 in 13 files
Pushing to fork, which is classified as a public remote
Verifying commits in 'default' mode
Attempting to push 1 batch of commits to fork...
Verified 1 novel commit to fork are safe to push
Enumerating objects: 48, done.
Counting objects: 100% (48/48), done.
Delta compression using up to 20 threads
Compressing objects: 100% (26/26), done.
Writing objects: 100% (26/26), 3.37 KiB | 691.00 KiB/s, done.
Total 26 (delta 24), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (24/24), completed with 21 local objects.
To https://github.com/smfr/WebKit.git
 + a0fdec417346...7ba7f1664729 unified-pdf -> unified-pdf (forced update)
Updated 'PR 17948 | Add UnifiedPDF'!
https://github.com/WebKit/WebKit/pull/17948

I want to make a PR just for the most recent commit.
Comment 1 Radar WebKit Bug Importer 2023-09-26 17:56:11 PDT
<rdar://problem/116093313>
Comment 2 Sam Sneddon [:gsnedders] 2023-11-17 06:43:05 PST
I think there's multiple things here —

 * We expect the branch to be what's being pushed, and what the PR is being created from,

 * That check-webkit-style fails with multiple commits on a branch.

The latter is what I assumed the bug was about from the title, but it sounds from the body like what you're actually trying to achieve is creating a PR with a single commit?

To actually do that implies we'd do something like:

1. Create a new branch (B') based on the merge-base of the current branch (B),
2. Cherry-pick the top of B onto B',
3. Then run the "normal" git-webkit pr flow on B'.

Does that seem right?
Comment 3 Sam Sneddon [:gsnedders] 2023-11-17 06:43:57 PST
(In reply to Sam Sneddon [:gsnedders] from comment #2)
> I think there's multiple things here —
> 
>  * We expect the branch to be what's being pushed, and what the PR is being
> created from,
> 
>  * That check-webkit-style fails with multiple commits on a branch.
> 
> The latter is what I assumed the bug was about from the title, but it sounds
> from the body like what you're actually trying to achieve is creating a PR
> with a single commit?
> 
> To actually do that implies we'd do something like:
> 
> 1. Create a new branch (B') based on the merge-base of the current branch
> (B),
> 2. Cherry-pick the top of B onto B',
> 3. Then run the "normal" git-webkit pr flow on B'.
> 
> Does that seem right?

And if you were doing that, you wouldn't run into the check-webkit-style bug because at that point you'd be running it against a branch with a single commit.