Skip to content

Improve update-skia merge conflict guidance - #3662

Merged
mattleibow merged 3 commits into
mainfrom
dev/improve-merge-conflict-guidance
Apr 14, 2026
Merged

Improve update-skia merge conflict guidance#3662
mattleibow merged 3 commits into
mainfrom
dev/improve-merge-conflict-guidance

Conversation

@mattleibow

Copy link
Copy Markdown
Contributor

Summary

Adds a mandatory git log skiasharp -- <file> step before resolving merge conflicts during Skia milestone updates.

Motivation

During the m133 update, src/gpu/ganesh/gl/iOS/GrGLMakeNativeInterface_iOS.cpp was resolved with git checkout --theirs, silently overwriting an intentional iOS fork patch (commit ef484fb377) that replaced upstream's macOS-only dlopen path with dlsym(RTLD_DEFAULT). The skill's conflict resolution table had no guidance for non-C-API upstream source files.

Changes

SKILL.md (Phase 4)

  • Added mandatory step: check git log --oneline skiasharp -- <file> before resolving any conflict
  • Added table row for non-C-API upstream source: "Check history first"

known-gotchas.md

  • Added gotcha Improved Build #15: documents the failure mode, the real m133 example, the mandatory process, and signal words to look for in fork patch commit messages

@github-actions

github-actions Bot commented Apr 10, 2026

Copy link
Copy Markdown
Contributor

📦 Try the packages from this PR

Warning

Do not run these scripts without first reviewing the code in this PR.

Step 1 — Download the packages

bash / macOS / Linux:

curl -fsSL https://raw.githubusercontent.com/mono/SkiaSharp/main/scripts/get-skiasharp-pr.sh | bash -s -- 3662

PowerShell / Windows:

iex "& { $(irm https://raw.githubusercontent.com/mono/SkiaSharp/main/scripts/get-skiasharp-pr.ps1) } 3662"

Step 2 — Add the local NuGet source

dotnet nuget add source ~/.skiasharp/hives/pr-3662/packages --name skiasharp-pr-3662
More options
Option Description
--successful-only / -SuccessfulOnly Only use successful builds
--force / -Force Overwrite previously downloaded packages
--list / -List List available artifacts without downloading
--build-id ID / -BuildId ID Download from a specific build

Or download manually from Azure Pipelines — look for the nuget artifact on the build for this PR.

Remove the source when you're done:

dotnet nuget remove source skiasharp-pr-3662

Add mandatory 'git log skiasharp -- <file>' step before resolving any
merge conflict. This prevents silently overwriting intentional fork
patches with upstream code.

Adds gotcha #15 documenting the m133 iOS GL file incident where
--theirs replaced a deliberate dlsym(RTLD_DEFAULT) patch with an
upstream macOS-only OpenGL.framework path.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@mattleibow
mattleibow force-pushed the dev/improve-merge-conflict-guidance branch from 858b227 to afc8cf2 Compare April 10, 2026 21:27
github-actions Bot pushed a commit that referenced this pull request Apr 10, 2026
@github-actions

github-actions Bot commented Apr 10, 2026

Copy link
Copy Markdown
Contributor

📖 Documentation Preview

The documentation for this PR has been deployed and is available at:

🔗 View Staging Site
🔗 View Staging Docs
🔗 View Staging Gallery

This preview will be updated automatically when you push new commits to this PR.


This comment is automatically updated by the documentation staging workflow.

@mattleibow
mattleibow merged commit 7970ef2 into main Apr 14, 2026
3 checks passed
@mattleibow
mattleibow deleted the dev/improve-merge-conflict-guidance branch April 14, 2026 22:22
github-actions Bot pushed a commit that referenced this pull request Apr 14, 2026
github-actions Bot pushed a commit that referenced this pull request Apr 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant