chatwit-upstream-sync
Chatwit Upstream Sync v2
Safely merge upstream Chatwoot repository updates into the Chatwit fork, preserving all custom integrations and branding.
Context
Chatwit is a fork of Chatwoot with custom integrations (SocialWise, JusMonitorIA, rich messages, branding). When Chatwoot releases updates, we need to merge them without losing our customizations. This is a delicate operation because both codebases modify some of the same files.
Critical Lessons Learned
2026-03-10 Incident: A previous sync was done via cherry-picks instead of
git merge, which created duplicate commits with different SHAs. The merge-base stayed at v4.10.1 even though content was at v4.11.2. This caused git to report 163 upstream commits "ahead" when only 7 were truly missing. Future merges would have been catastrophic — git would try to re-apply 150+ commits already present, generating massive phantom conflicts.
The root cause: Cherry-picks do NOT update the merge-base. Git uses the merge-base to determine divergence, so cherry-picked history creates invisible drift that compounds over time.