TortoiseGitMerge have one killer feature that I never seen in other instruments -- it shows which lines was moved:
As I think, it uses the simple algorithm:
- collect all lines from each side in
map<line content, count>
- go through all lines in a side
- if line exists in map of other side, draw move indicator and remove that line from the map (decrease counter if there several identical lines)
- do the same for other side
It would be great if SourceGit implement the same feature. It is very useful during reviews of refactoring commits, especially, when large amount of lines moved around. You may briefly check that nothing except move was done just by checking that all inserted and deleted lines have that indicator.
Note, that line content depends on the "Ignore whitespace" setting -- it contains line with stripped spaces for purposes of identity. That allows you to use this feature even when lines moved with indent changing.
TortoiseGitMerge have one killer feature that I never seen in other instruments -- it shows which lines was moved:
As I think, it uses the simple algorithm:
map<line content, count>It would be great if SourceGit implement the same feature. It is very useful during reviews of refactoring commits, especially, when large amount of lines moved around. You may briefly check that nothing except move was done just by checking that all inserted and deleted lines have that indicator.
Note, that
line contentdepends on the "Ignore whitespace" setting -- it contains line with stripped spaces for purposes of identity. That allows you to use this feature even when lines moved with indent changing.