I have a medium size Java file. Everytime I make a change to one of my files, BuildTable.java, Git reports it as a massive change, even if is only a line or two. BuildTable.java is about 200 lines and the change in this commit only changed a single line.
git-diff ouputs this:
--- a/src/BuildTable.java +++ b/src/BuildTable.java @@ -1 +1 @@ -import java.io.FileNotFoundException;^Mimport java.io.FileReader;^Mimport java.io.InputStreamReader;^Mimport java.io.PushbackReader;^Mimport java.util.ArrayList;^Mimport \ No newline at end of file +import java.io.FileNotFoundException;^Mimport java.io.FileReader;^Mimport java.io.InputStreamReader;^Mimport java.io.PushbackReader;^Mimport java.util.ArrayList;^Mimport \ No newline at end of file
After doing a git-commit -a
Created commit fe43985: better error notifications 3 files changed, 54 insertions(+), 50 deletions(-) rewrite src/BuildTable.java (78%)
Is Git seeing this file as binary or something? Is this a problem? If it is, how do I fix this?
To fix this, I didn’t need to change any of the core git settings, as the default line endings being generated were fine, it was just that this particular file was mangled. To fix it I opened vim and executed the following command
Note that to type the ‘^M’ you have to type ctrl-V and then ctrl-M.