<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>301470</bug_id>
          
          <creation_ts>2025-10-25 12:47:02 -0700</creation_ts>
          <short_desc>git-webkit log --hash seems very broken</short_desc>
          <delta_ts>2025-10-25 12:47:08 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=301469</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Sneddon [:gsnedders]">gsnedders</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>2154273</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Sneddon [:gsnedders]">gsnedders</who>
    <bug_when>2025-10-25 12:47:02 -0700</bug_when>
    <thetext>As of 224689d07870, 301906@main, almost any attempt I make at using `git-webkit log --hash` just seems very broken:

Example 1:

```
% ./Tools/Scripts/git-webkit log --hash -n1 224689d07870fdadc75b7b0fbbff9c935237daac
commit 224689d07870 (301906@main)
A  ()uthor: Jamie Murphy &lt;jmurphy@igalia.com&gt;
Da  ()te:   Tue Oct 21 14:37:00 2025 -0700

    [WPE] Fix build after 301229
    https://bugs.webkit.org/show_bug.cgi?id=300684
    
    Reviewed by Michael Catanzaro.
    
    WPE didn&apos;t have the WebExtensions code enabled. Enabling it
    reveals many bugs that assumed Gtk would always be present.
    We can move a lot of code to GTK specific files and leave non-GTK parts
    available for WPE.
    
    This also disables the action-parsing test on WPE, since that
    test creates a PNG image and WPE doesn&apos;t have any libraries that
    support doing that.
    
    * Source/WebCore/SourcesGTK.txt:
    * Source/WebCore/SourcesWPE.txt:
    * Source/WebCore/platform/graphics/Icon.cpp:
    * Source/WebCore/platform/graphics/Icon.h:
    * Source/WebCore/platform/graphics/glib/IconGLib.cpp: Renamed from Source/WebCore/platform/graphics/gtk/IconGtk.cpp.
    * Source/WebKit/PlatformWPE.cmake:
    * Source/WebKit/Shared/API/APIData.h:
    * Source/WebKit/Shared/Extensions/wpe/WebExtensionUtilitiesWPE.cpp:
    (WebKit::availableScreenScales):
    * Source/WebKit/SourcesGTK.txt:
    * Source/WebKit/SourcesWPE.txt:
    * Source/WebKit/UIProcess/Extensions/glib/WebExtensionGLib.cpp: Copied from Source/WebKit/UIProcess/Extensions/gtk/WebExtensionGtk.cpp.
    * Source/WebKit/UIProcess/Extensions/gtk/WebExtensionGTK.cpp: Added.
    (WebKit::WebExtension::iconForPath):
    * Source/WebKit/UIProcess/Extensions/wpe/WebExtensionWPE.cpp: Added.
    (WebKit::WebExtension::iconForPath):
    * Source/cmake/OptionsWPE.cmake:
    * Tools/TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebExtension.cpp:
    (beforeAll):
    * Tools/TestWebKitAPI/glib/CMakeLists.txt:
    * Tools/TestWebKitAPI/glib/PlatformGTK.cmake:
    * Tools/TestWebKitAPI/glib/WebKitGLib/gtk/WebExtensionUtilities.cpp: Renamed from Tools/TestWebKitAPI/glib/WebKitGLib/WebExtensionUtilities.cpp.
    
    Canonical link: https://commits.webkit.org/301906@main
```

Example 2:

```
% ./Tools/Scripts/git-webkit log --hash -n1 418f8517c0a8              
commit 418f8517c0a8 ()
A  ()uthor: Joshua Hoffman &lt;josh_hoffman@apple.com&gt;
Da  ()te:   Tue Jul 29 00:50:05 2025 -0700

    Cherry-pick aa91363e81fc. rdar://156925635
    
        AX: YouTube embed elements should create AX elements based on their node
        https://bugs.webkit.org/show_bug.cgi?id=296488
        rdar://156331833
    
        Reviewed by Tyler Wilcock.
    
        Accessibility elements are (in most cases) based off of the renderer. For
        YouTube embed elements, due to some special-casing, the Embed parent and
        the shadow dom child share the same renderer (see
        HTMLPlugInElement::createElementRenderer). This breaks accessibility
        assumptions. Instead, add a rare data field on render objects to indicate
        if it is a youtube embed replacement, and if so, default to using its
        renderer.
    
        * LayoutTests/accessibility/youtube-embed-accessibility-hierarchy-expected.txt: Added.
        * LayoutTests/accessibility/youtube-embed-accessibility-hierarchy.html: Added.
        * LayoutTests/platform/glib/TestExpectations:
        * LayoutTests/platform/mac-wk1/TestExpectations:
        * Source/WebCore/accessibility/AXObjectCache.cpp:
        (WebCore::AXObjectCache::get const):
        (WebCore::AXObjectCache::getOrCreate):
        * Source/WebCore/html/HTMLPlugInElement.cpp:
        (WebCore::HTMLPlugInElement::createElementRenderer):
        * Source/WebCore/rendering/RenderObject.cpp:
        (WebCore::RenderObject::markIsYouTubeReplacement):
        * Source/WebCore/rendering/RenderObject.h:
        (WebCore::RenderObject::isYouTubeReplacement const):
    

Traceback (most recent call last):
  File &quot;/Volumes/gsnedders/projects/WebKit/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/log.py&quot;, line 78, in &lt;module&gt;
    sys.exit(Log.main(
  File &quot;/Volumes/gsnedders/projects/WebKit/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/log.py&quot;, line 74, in main
    return cls.pager(args, repository, file=__file__, **kwargs)
  File &quot;/Volumes/gsnedders/projects/WebKit/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/command.py&quot;, line 161, in pager
    return FilteredCommand.main(args, repository, command=cls.name, **kwargs)
  File &quot;/Volumes/gsnedders/projects/WebKit/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/command.py&quot;, line 312, in main
    line = regexs[1].sub(
  File &quot;/Volumes/gsnedders/projects/WebKit/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/command.py&quot;, line 313, in &lt;lambda&gt;
    lambda match: replace_line(match, mode=cls.APPEND_MODE, **{repr: match.group(1)}),
  File &quot;/Volumes/gsnedders/projects/WebKit/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/command.py&quot;, line 254, in replace_line
    return match.group(0).replace(match.groups()[-1], reference)
TypeError: replace() argument 1 must be str, not None
```

Example 3:

```
% ./Tools/Scripts/git-webkit log --hash -n1 --pretty=%B 418f8517c0a8
C  ()herry-pick aa91363e81fc. rdar://156925635

    AX: YouTube embed elements should create AX elements based on their node
    https://bugs.webkit.org/show_bug.cgi?id=296488
    rdar://156331833

    Reviewed by Tyler Wilcock.

    Accessibility elements are (in most cases) based off of the renderer. For
    YouTube embed elements, due to some special-casing, the Embed parent and
    the shadow dom child share the same renderer (see
    HTMLPlugInElement::createElementRenderer). This breaks accessibility
    assumptions. Instead, add a rare data field on render objects to indicate
    if it is a youtube embed replacement, and if so, default to using its
    renderer.

    * LayoutTests/accessibility/youtube-embed-accessibility-hierarchy-expected.txt: Added.
    * LayoutTests/accessibility/youtube-embed-accessibility-hierarchy.html: Added.
    * LayoutTests/platform/glib/TestExpectations:
    * LayoutTests/platform/mac-wk1/TestExpectations:
    * Source/WebCore/accessibility/AXObjectCache.cpp:
    (WebCore::AXObjectCache::get const):
    (WebCore::AXObjectCache::getOrCreate):
    * Source/WebCore/html/HTMLPlugInElement.cpp:
    (WebCore::HTMLPlugInElement::createElementRenderer):
    * Source/WebCore/rendering/RenderObject.cpp:
    (WebCore::RenderObject::markIsYouTubeReplacement):
    * Source/WebCore/rendering/RenderObject.h:
    (WebCore::RenderObject::isYouTubeReplacement const):

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

Ca  ()nonical link: https://commits.webkit.org/297297.204@safari-7622-branch


```</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2154274</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2025-10-25 12:47:08 -0700</bug_when>
    <thetext>&lt;rdar://problem/163410883&gt;</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>