Re: Removing options from build
- From
Jakub Narebski <jnareb@gmail.com>
- Date
- Jan 13, 2009, 22:05 UTC
- Message-ID
- <m3d4eqzwuc.fsf@localhost.localdomain>
- In-Reply-To
- <1231883002.14181.27.camel@starfruit>
"R. Tyler Ballance" <tyler@slide.com> writes:
Show 11 quoted lines
> One of our developers "discovered" the --force option on `git push` and > used it without taking the appropriate care and hosed one of the project > branches we have running around in our central repository. > > Besides a vigorous flogging, we're looking at other ways to prevent this > sort of thing from happening again; the option we've settled on is to > remove the "--force" flag from our internal build of v1.6.1 > > I'm wondering if somebody could point me in the right direction to > remove "--force" (safely) from the builtin-push.c and removing the > "rebase" command (we've got no use for it, and would prefer it gone).
First, the title (subject) of this email is misleading: it is about your solution, and not about the problem you have (protecting against "git push --force").
Second, there are two possible solutions: use receive.denyNonFastForwards and perhaps also receive.denyDeletes (see git-config(1)) to forbid forced pushes on server (target of push); removing '--force' is a client solution. Or, better, use update or post-receive hook on server, forbidding non-fastforward updates to selected set of 'stable' branches; you can use contrib/hooks/update-paranoid for that.
-- Jakub Narebski Poland ShadeHawk on #git