I’m trying to understand how SM handles renames.
Jon said that renames will be detected unless a “large percentage” of the file changed.
I have a file that I renamed, and when I use git show
in the command line, it says
diff --git a/a.txt b/b.txt
similarity index 62%
rename from a.txt
rename to b.txt
And SM does not detect this as a rename, but splits it into delete/add.
My understanding from https://git-scm.com/docs/git-diff#Documentation/git-diff.txt--Mltngt is that the default threshold is 50%, but SM seems to use a larger threshold, and possibly other criteria.
In another example, SM failed to detect a rename with a similarity index of 85%, when two out of 8 lines were changed. Yet it did detect the rename with a lower similarity index of 82% when only one line was changed.
So how does rename detection work in SM? Is there a way to configure it?