Classify C++ core patches by purpose and upstream-ability #254
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Audit the 36 cherry-picked C++ commits (documented in UPSTREAM.md) and classify each into one of three categories. This informs which patches we maintain long-term vs. which we push upstream or eliminate.
Categories
1. Platform extension points (KEEP)
C++ that provides APIs for Python addons. These are the reason Create is a fork and not just an addon pack.
EditingContext.cpp/.h)BreadcrumbToolBar.cpp/.h)appendToolbar()visibility forwarding2. Branding and theming (KEEP, minimize)
Unavoidable in a fork but should be as small as possible.
3. Bug fixes and polish (UPSTREAM)
Should be contributed to FreeCAD upstream to reduce our patch burden.
reportExceptionfixDeliverables
Categorycolumn in the cherry-pick tableAcceptance criteria
Dependencies
None (documentation task, can proceed any time)
Notes
The goal is to shrink the C++ patch surface over time. Every patch we get merged upstream is one less conflict during rebases. Category 1 patches are our core differentiator and will always exist, but they should be clean, well-isolated, and documented.