Check file size before checking content

This might also mitigate the "file in use" problem but might require more memory
@ch3cooli 
Your question is in my mind for one day.
I guess I know what you think about.

If @csware care about memory usage 
and git repository is also used in 32bit OS,
and no single file is large than 4G(32bit) in git repository,
using 32bit is enough.
am I right?

@csware 
using size_t is compatible with libgit2.

@me
memory usage might be not a problem.