A CLI-first git forge.

cli forge git self-hosted

https://gitbay.org

mrs: closing keywords work in the description too !105

merged cmc wants to merge krz/gitbay:mr-body-closes into main

cmc

Closes #N in a merge request body did nothing: only commit messages were scanned. The keyword had to be written in a commit to take effect, which is easy to get wrong and silent when you do — it bit me twice this week, leaving krz/gitbay#50 and krz/gitbay-ios#6 open after their merges.

ProcessMRDescription scans the merged MR's title and body with the same pattern, and runs after ProcessCommitMessages sharing its (issue, sha) dedup key. An issue named in both a commit and the description is closed once and attributed to the commit; the description only acts on issues still open.

Bare #N in a description stays display-only. It already autolinks, and a reference comment for every issue mentioned in passing would be noise.

closingRefs is now the one scanner both paths use. Its tests pin the keyword set, repeats collapsing, cross-repo staying display-only, and the word boundary — I had that last case backwards and the test corrected me.