receive.denyNonNonFastForwards not denying force update
- From
- John Arthorne <arthorne.eclipse@gmail.com>
- Date
- Aug 20, 2012, 13:33 UTC
- Message-ID
- <CAHgXSooFj2PJtcOWqsVNHUzMBQnH0cYzPjfs1CkzVuufwRVrog@mail.gmail.com>
- In-Reply-To
- <CAHgXSop42qWcAEGn6=og8Pistv_Jrwhgcnv3B_ORVtSMi1fCHA@mail.gmail.com>
At eclipse.org we wanted all git repositories to disallow non-fastforward commits by default. So, we set receive.denyNonFastForwards=true as a system configuration setting. However, this does not prevent a non-fastforward force push. If we set the same configuration setting in the local repository configuration then it does prevent non-fastforward pushes.
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
This is on git version 1.7.4.1.
The Git book recommends setting this property at the system level:
http://git-scm.com/book/ch7-1.html (near the bottom)
Can someone confirm if this is intended behaviour or not. We ended up using a script to set a local config property in each repository, but with several hundred git repositories it would be much easier if the system setting was honoured.
Thanks, John Arthorne