From: Junio C Hamano Date: Wed, 19 Jan 2011 00:12:27 GMT Subject: Re: [RFC] Per-branch receive.* settings Message-ID: <7vbp3dkaz8.fsf@alter.siamese.dyndns.org> In-Reply-To: Ævar Arnfjörð Bjarmason 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.