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

Re: To push into a non-bare repository, or not to push into it...

From
Junio C Hamano <gitster@pobox.com>
Date
Dec 1, 2007, 02:37 UTC
Message-ID
<7v63zj87j1.fsf@gitster.siamese.dyndns.org>
In-Reply-To
<Pine.LNX.4.64.0711290122440.27959@racer.site>
Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
Show 7 quoted lines
> how about resolving this recurring subject of discussion by introducing a 
> config variable, say "branch.allowPushingIntoHEAD".  We'd teach git-init 
> to set it to "false", and receive-pack would refuse to update HEAD if it 
> is "false", _unless_ core.bare = true.
>
> Of course, we would default the value to "false" to leave existing setups 
> functional.

Perhaps that could be a reasonable compromise, except that it does not feel right to assume that new repositories are used by new users. People who have been been trained to expect "git push" to checked out branches always work (and they know "git reset --hard" or have equivalent post-update hook) will wonder why their push into a new clone does not work while their push into existing ones does.

But with a good diagnosis to pushers when receive-pack refuses a push for this reason, I do not think that should be too much of a problem.

Upon REF_STATUS_REMOTE_REJECT, the message on "ng " line will be given by send-pack to the pusher, so the infrastructure to do so is already there, I think. We need to utilize it when we implement your suggestion.

Previous: Johannes Schindelin
Message 2 of 2 in “To push into a non-bare repository, or not to push into it...”
  1. Johannes SchindelinNov 29, 2007
  2. Junio C HamanoDec 1, 2007

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.