git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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
Previous: Björn SteinbrinkNext: Boyd Stephen Smith Jr.
Message 9 of 12 in “Removing options from build”
  1. R. Tyler BallanceJan 13, 2009
  2. Thomas RastJan 13, 2009
  3. Thomas RastJan 13, 2009
  4. R. Tyler BallanceJan 13, 2009
  5. Björn SteinbrinkJan 13, 2009
  6. Boyd Stephen Smith Jr.Jan 13, 2009
  7. Daniel BarkalowJan 13, 2009
  8. Björn SteinbrinkJan 13, 2009
  9. Jakub NarebskiJan 13, 2009
  10. Boyd Stephen Smith Jr.Jan 13, 2009
  11. R. Tyler BallanceJan 13, 2009
  12. Boyd Stephen Smith Jr.Jan 13, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.