Merged Is Not Shipped: Why a Year-Old Fix Never Reached You
Описание и применение
Слияние исправления не приводит к его доставке, если зависимость зафиксирована на старом коммите. Нужно проверять, пересекает ли исправление все фиксы, и вручную обновлять указатели.
Задача
A bug fix was merged upstream but never reached end‑users because dependency pins (git submodules, lockfiles, etc.) were not advanced.
Результат
The fix was never shipped to iOS users because the submodule pointer was not advanced; the issue persisted for a year.
Рабочий процесс
- 1. Identify the bug in user reports. 2. Search upstream repository for a fix commit. 3. Compare the fix commit SHA with the pinned commit in the client. 4. Count commits behind to assess gap. 5. If the fix is present, cherry‑pick or bump the submodule pointer. 6. Rebuild and test the client. 7. Publish updated build or create a pull request for the pointer update.
- 8. Monitor for future fixes and automate pin updates.
Доказательства
The iOS client's pointer was two dozen commits behind the fix.
The fix landed in the library. Then look at where the three clients had their submodule pinned:
- Дата записи: 2026-09-06T06:37:30.641Z