From: Junio C Hamano Date: Fri, 21 Mar 2008 06:26:49 GMT Subject: Re: [PATCH] Permit refspec source side to parse as a sha1 Message-ID: <7v3aqksic6.fsf@gitster.siamese.dyndns.org> In-Reply-To: Daniel Barkalow writes: > On Thu, 20 Mar 2008, Junio C Hamano wrote: > ... >> In any case, don't you agree that the patch you responded to is much >> easier to understand what we are (and we are not) checking than the >> original code? > > No, I think it's much more complicated. It mixes the semantics of what an > empty side means for a particular use of refspecs into the parsing of the > string. At the very least, the checks should be outside of _internal() in > the functions for particular uses. The thing is, the syntax is the same between fetch and push only to a degree. They are both ':' . What is allowed on LHS and RHS are quite different even at the syntactic level. I already know our criteria when judging if a particular code is clean or complex are _vastly_ different, from the experience working with you in other parts of the system (namely, read-tree 3-way rules and unpack_trees() rewrite that happened quite a long time ago). While I would note that you thought my version is more complex to read, I would not argue about this issue with you anymore, except saying that I strongly disagree.