I agree with your statement that if 9 out of 10 commits are being rejected something is seriously wrong and that is definitely not a productive use of time for either of you. What is his reasoning for rejecting your code?
Is it nitpicking over variable names or spacing? Performance issues? Structure?