mirror of
https://github.com/penpot/penpot.git
synced 2026-10-29 05:50:35 +00:00
The merge engine never compared the file's tokens source, so a branch that switched its tokens to a library, or back to its own, lost that change on merge, and main's change was lost on an update from main. The source is now a mergeable kind, :tokens-source, compared raw (nil means the file itself, and a value naming the file reads as nil). A change on one side applies as a :set-tokens-source change, and a change on both sides is a conflict resolved like the base font size. remap-refs now also rewrites the document's own :id and its :tokens-source through the id map, and remap-changes rewrites the :library-id of a :set-tokens-source change, so a branch document moved into main's id space names main as itself. The compare panel labels the new kind. AI-assisted-by: claude-opus-5-5