The cache writes one pm_links row for each commit that carries a blocks, blocked-by or related field, with the hash of that commit as the source. An edit commit carries the full header again, so each edit of an issue adds one more row with the edit hash as the source, not the canonical hash. The target then lists the same issue one more time for each edit: the Related list of #commit:53991b82d95f@gitmsg/pm had 10 entries for 2 issues after 4 rounds of edits, and the entries from edits had no title, since an edit is not an issue. Expected: a link row has the canonical issue as its source, and an edit replaces the links of that issue.