On Thu, Aug 10, 2017 at 11:18 AM, Harry Putnam <reader@xxxxxxxxxxx> wrote: > Stefan Beller <sbeller@xxxxxxxxxx> writes: > >> On Thu, Aug 10, 2017 at 10:03 AM, Harry Putnam <reader@xxxxxxxxxxx> wrote: > > [...] > > Harry wrote: >>> Here are two that are at least kind of similar but would never be seen >>> as the same: >>> >>> < 192.168.1.43 m2.local.lan m2 # 00-90-F5-A1-F9-E5 >>>> 192.168.1.43 m2.local.lan m2 # win 7 > > Stefan B replied: >> The diff machinery has a threshold for when it assumes >> a copy/move of a file. (e.g. "A file is assumed copied when >> at least 55% of lines are equal") >> >> https://git-scm.com/docs/git-diff >> >> See -C and -M option. >> >> git-status seems to use this machinery as well, but does >> not expose the options? > > Well, now I'm even more confused. What actually happens? Is either > file changed? Is only one file kept? > > On the surface it sounds like complete anathema to what git is all > about. > > However, I know a tool this sophisticated is not doing something just > outright stupid... so must be really missing the point here. > > I get the way you can make -M stricter or not... but I didn't call > git-diff to see that copy thing comeup. > > I called git commit. Ah. Sorry for confusing even more. By pointing out the options for git-diff, I just wanted to point out that such a mechanism ("rename/copy detection") exists. The output of git-status is similar to a dry run of git-commit, and apparently this detection is used there. > > There must be some way to set stricter guidlines to calling things > copies. Well from Gits perspective it is really hard to tell if it was a copy, or if it was similar incidentally (because the format/content of these files happen to follow some strict guidelines). The user could have moved/copied a file outside of Git (instead of git-mv, you'd use tools provided by your operating system to copy a file). Or the user could have written a file that is similar by chance. However that doesn't really matter, as Git tracks the content, and not how the file evolved. Consider the copy/move/rename detection as a heuristic, that wants to help the user, but may be mistaken. > > But then I must really not get it because it still seems almost silly > to consider one file a copy of another if only 55% is the same. > > What am I missing? > https://www.reddit.com/r/git/comments/3ogkk1/beginner_disable_rename_detection/ "Rename detection is just GUI sugar".