Re: [RFC] Per-branch receive.* settings
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:50:26
Ævar Arnfjörð Bjarmason [off-list ref] writes:
Currently you can do in your server's git config:
[receive]
denyDeletes = true
denyNonFastForwards = true
But for most servers that's not what you want, you actually want to
deny those things to the master branch, but allow people to have their
private topic branches that they can reset. So how about allowing:
[receive]
denyDeletes = false
denyNonFastForwards = false
[branch "master"]
denyDeletes = true
denyNonFastForwards = true
While this would not be better than having no such feature, if you are
talking about allow(ing) "people", I doubt this would scale very well.
I wonder some globbing with site-specific naming convention would be more
scalable:
[receive]
denyDeletes = refs/heads/* && !refs/heads/*/*
denyNonFastForwards = refs/heads/* && !refs/heads/*/*
And in the meantime, of course you can use your update hook, mimicking
various examples, ranging from contrib/hooks/update-paranoid,
Documentation/howto/update-hook-example.txt, and hooks/update.sample.