git: use whitelist while compare characters

It looks like that matching '\n' fails sometimes, because there's a lot
mis-truncate on H3C config.
xpinyin: prefer Xin for 莘
dm: more debug on empty file

Dam, it happens a lot, but while I read under shell, it's normal...
dm: force sync filesystem after uploaded

async r/w caused wrong size of following operation.