From: Junio C Hamano Date: Tue, 21 Aug 2012 01:22:26 GMT Subject: Re: receive.denyNonNonFastForwards not denying force update Message-ID: <7v628dght9.fsf@alter.siamese.dyndns.org> In-Reply-To: Sitaram Chamarty writes: > On Mon, Aug 20, 2012 at 10:35 PM, Junio C Hamano wrote: >> John Arthorne writes: >> >>> For all the details see this bugzilla, particularly comment #59 where we >>> finally narrowed this down: >>> >>> https://bugs.eclipse.org/bugs/show_bug.cgi?id=343150 >> >> What does "at the system level" in your "does *not* work at the >> system level." exactly mean? > > "git config --system receive.denynonfastforwards true" is not honored. > At all. (And I checked there was nothing overriding it). > > "--global" does work (is honored). > > Tested on 1.7.11 Thanks, and interesting. Does anybody recall if this is something we did on purpose? After eyeballing the callchain starting from cmd_receive_pack() down to receive_pack_config(), nothing obvious jumps at me. Could this be caused by a chrooted environment not having /etc/gitconfig (now I am just speculating)? A quick "strace -f -o /tmp/tr git push ../neigh" seems to indicate that at least access() is called on "/etc/gitconfig" as I expect, which makes me think that near the beginning of git_config_early(), we would read from /etc/gitconfig if the file existed (I do not install any distro "git", so there is no /etc/gitconfig on my box). Puzzled.