* To push into a non-bare repository, or not to push into it...
@ 2007-11-29 1:33 Johannes Schindelin
2007-12-01 2:37 ` Junio C Hamano
0 siblings, 1 reply; 2+ messages in thread
From: Johannes Schindelin @ 2007-11-29 1:33 UTC (permalink / raw)
To: git
Hi,
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.
However, if it is "true" (and core.bare is not true) -- which would need
user interaction to explicitely set it -- receive-pack would also make
sure that the working tree is clean (locking the index for the complete
operation), and call "read-tree -u -m HEAD" in the end.
By refusing the update we would be able to give users a severe *WARNING*,
but a hint how to put their HEAD in the noose.
I'd do a patch, but I am 1) tired, and 2) more thinking about that
git-repack enhancement for repo.or.cz.
Ciao,
Dscho
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: To push into a non-bare repository, or not to push into it...
2007-11-29 1:33 To push into a non-bare repository, or not to push into it Johannes Schindelin
@ 2007-12-01 2:37 ` Junio C Hamano
0 siblings, 0 replies; 2+ messages in thread
From: Junio C Hamano @ 2007-12-01 2:37 UTC (permalink / raw)
To: Johannes Schindelin; +Cc: git
Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
> 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.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2007-12-01 2:38 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-11-29 1:33 To push into a non-bare repository, or not to push into it Johannes Schindelin
2007-12-01 2:37 ` Junio C Hamano
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).