Notes for mentions of tickets from issues aren't created if commits are pushed before tickets are created
Problem to solve
Allow tickets to be imported into a project after the first push to its default branch without loss of information.
Target audience
Users migrating tickets from other issue trackers.
Further details
In the Haskell import (#55039 (moved)) we doing a phased migration:
- Phase 1: Migrate code review and repository hosting
- Phase 2: Import and migration tickets from an existing Trac instance
We are currently preparing to begin Phase 2 of the effort and have realized that GitLab's treatment of system notes isn't ideal for this case. In particular, mentions of tickets from commit messages are not created if the mentioned ticket didn't exist when the commit was pushed. This is because tickets are processed for cross-references only when they are initially pushed.
Proposal
Since we are self-hosting I have been able to work around the issue with an awful hack. However, ideally there would be another way to accomplish this. I suspect most users who are migrating like us are also probably self-hosting in which case perhaps a rake
task would be sufficient. For users migrating to gitlab.com I suppose a knob would need to be introduced in the web interface.
What does success look like, and how can we measure that?
Someone could migrate tickets into an existing project and have cross-references created.