Affects Version/s: None
Fix Version/s: None
One way to solve the manual issue relocation problem is to look for groups of similar enough lines between the previous (origin) source and current (destination) source.
A first naive approach:
- Compute line checksums in both previous and current source
- For each manual issue:
- Look in the current source for lines with the same checksum
- If exactly one found, use it as destination line and update issue accordingly
- If multiple occurrences found, leave the issue as is
- If none found:
- If line number is out of current source, mark the issue as CLOSED/REMOVED
- Else, leave issue as is
This algorithm should be quite efficient on source code with low duplication - e.g where meaningful lines are discriminant enough.