Fix moving issues API failing when text includes commit URLs
When a issue is moved from one project to another, all associated
Markdown text is rewritten in the context of the new project. If the
note contained a link to a commit URL, CommitRewriter#rewrite
would
fail because Commit#link_reference_pattern
would match nil
commit
values in the HTML generated from the Markdown. These nil
values were
passed along to Project#commits_by
because Commit#reference_valid?
was always returning true
.
To prevent this issue from happening, we tighten up the check for
Commit#reference_valid?
to look for valid SHA values.
Edited by Stan Hu