spare-checkout fixed to handle the file permission changes

As -G does not catch the file mode changes so for file permission changes we run git diff again without -G