git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: Jeff King <peff@peff.net>
Cc: Sergio Callegari <sergio.callegari@gmail.com>,
	Johannes Schindelin <Johannes.Schindelin@gmx.de>,
	git@vger.kernel.org
Subject: Re: disallowing push to currently checked-out branch
Date: Mon, 16 Feb 2009 16:43:03 -0800	[thread overview]
Message-ID: <7vocx1evvs.fsf@gitster.siamese.dyndns.org> (raw)
In-Reply-To: <20090217002352.GA23507@coredump.intra.peff.net> (Jeff King's message of "Mon, 16 Feb 2009 19:23:52 -0500")

Jeff King <peff@peff.net> writes:

> On Mon, Feb 16, 2009 at 03:23:00PM -0800, Junio C Hamano wrote:
>
>> >   1. How can we improve this situation?
>> 
>> The situation you described is all about "don't allow a push that is NOT
>> CONTROLLED BY YOU and that can interfere with what you are doing into a
>> live repository", and you are right, we have operations that deliberately
>> detach the HEAD and expect nobody mucks with the branch.
>
> I don't agree that it has to be a push not controlled by you. I have
> many times left a rebase-in-progress sitting in a repository, either
> accidentally because I meant to "--abort" it after a conflict but
> forgot, or because I got interrupted during an interactive edit and
> needed to come back to it.

That sounds similar to saying "I left my editor open without saving my
changes, and accidentally opened another instance of an editor from a
different terminal and edited the same file, the result is a mess".  The
editors protect users from such a situation by locking the file they are
editing.

Perhaps operations that detaches HEAD (rebase and perhaps sequencer) can
all agree to use a single marker file that says "Do not mess with these
refs via push or fetch" and make receive-pack and fetch honor that?  Then
the issue you raised in your earlier message about receive-pack having to
know random states random set of tools leave will be alleviated.  We need
to make sure that the marker is cleaned up correctly when the command is
done with the lock, of course.

If we were to go that route, I think the same receive.denyCurrentBranch
configuration variable can and should be used to control this, even though
its name originally comes from the most visible operation that can cause
the confusion (i.e. "pushing into the current branch").  It is about
protecting the person who is currently using the work tree, or who will
use the work tree next.

> I am really just proposing that the "ref was not what we expected"
> message to better indicate what is going on, and how the user might get
> out of it. Do you not agree with that?

The recovery recipe you described looked good.

  reply	other threads:[~2009-02-17  0:44 UTC|newest]

Thread overview: 91+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-02-15 21:31 [RFC - draft] List of proposed future changes that are backward incompatible Junio C Hamano
2009-02-15 21:48 ` Junio C Hamano
2009-02-15 22:56   ` Jakub Narebski
2009-02-15 23:39     ` Junio C Hamano
2009-02-15 23:20 ` Heikki Orsila
2009-02-16  0:04   ` disallowing push to currently checked-out branch Jeff King
2009-02-16  1:33     ` david
2009-02-16  1:47       ` david
2009-02-16  1:30         ` Julian Phillips
2009-02-16  4:01         ` Jeff King
2009-02-16  8:33         ` Daniel Barkalow
2009-02-16  8:51           ` Junio C Hamano
2009-02-16 10:17             ` Sergio Callegari
2009-02-16 13:58               ` Jeff King
2009-02-16 17:13                 ` Sergio Callegari
2009-02-16 17:33                   ` Matthieu Moy
2009-02-16 17:43                   ` Johannes Schindelin
2009-02-16 18:48                     ` Jay Soffian
2009-02-16 20:02                       ` Johannes Schindelin
2009-02-16 21:12                         ` Jay Soffian
2009-02-16 21:15                           ` Johannes Schindelin
2009-02-16 22:28                             ` Jay Soffian
2009-02-16 22:52                               ` Jeff King
2009-02-17  5:53                                 ` Jay Soffian
2009-02-17 11:28                                   ` PUSH_HEAD, was " Johannes Schindelin
2009-02-17 17:29                                     ` Jay Soffian
2009-02-17 19:48                                       ` Jeff King
2009-02-17 22:20                                       ` Junio C Hamano
2009-02-17 22:42                                         ` Jay Soffian
2009-02-17 22:54                                       ` Johannes Schindelin
2009-02-16 19:24                     ` Sergio Callegari
2009-02-16 20:09                       ` Johannes Schindelin
2009-02-16 21:42                         ` Jay Soffian
2009-02-17  0:07                         ` Sergio Callegari
2009-02-17  0:18                           ` Johannes Schindelin
2009-02-17  0:41                             ` Sergio Callegari
2009-02-17  0:56                               ` Johannes Schindelin
2009-02-17  1:18                                 ` Junio C Hamano
2009-02-17  0:57                               ` Junio C Hamano
2009-02-16 21:43                       ` Junio C Hamano
2009-02-16 22:43                         ` Jeff King
2009-02-16 23:23                           ` Junio C Hamano
2009-02-17  0:23                             ` Jeff King
2009-02-17  0:43                               ` Junio C Hamano [this message]
2009-02-17  1:29                                 ` Jeff King
2009-02-16  3:50       ` Jeff King
2009-02-16  5:05         ` david
2009-02-16  4:05           ` Jeff King
2009-02-16  5:18             ` david
2009-02-16  4:37               ` Jeff King
2009-02-16  5:55                 ` david
2009-02-16  5:06                   ` Jeff King
2009-02-16 10:53                     ` Johannes Schindelin
2009-02-16 10:50                   ` dashed commands, was " Johannes Schindelin
2009-02-15 23:53 ` [RFC - draft] List of proposed future changes that are backward incompatible david
2009-02-15 23:01   ` Johannes Schindelin
2009-02-15 23:36     ` Junio C Hamano
2009-02-16  0:14     ` david
2009-02-15 23:18       ` Johannes Schindelin
2009-02-16  0:38         ` david
2009-02-16  0:29           ` Junio C Hamano
2009-02-16 10:23           ` Johannes Schindelin
2009-02-16 15:33             ` david
2009-02-16 14:40               ` Sverre Rabbelier
2009-02-16  0:02       ` disallowing push to currently checked-out branch Jeff King
2009-02-16 10:06         ` Sergio Callegari
2009-02-15 23:01   ` [RFC - draft] List of proposed future changes that are backward incompatible Jakub Narebski
2009-02-15 23:15     ` Johannes Schindelin
2009-02-15 23:38       ` Jakub Narebski
2009-02-16  0:35       ` david
2009-02-16  0:07   ` send-email sending shallow threads by default Jeff King
2009-02-16  0:09     ` Pieter de Bie
2009-02-16  2:43       ` Jeff King
2009-02-16  2:55         ` Brian Gernhardt
2009-02-16  9:56         ` Wincent Colaiuta
2009-02-16  7:55     ` SZEDER Gábor
2009-02-16 10:38     ` Martin Mares
2009-02-17  8:34       ` Andreas Ericsson
2009-02-17  9:06         ` Martin Mares
2009-02-17 19:28           ` Jeff King
2009-02-20  3:03             ` Eric W. Biederman
2009-02-20  3:26               ` Jeff King
2009-02-20  4:13                 ` Eric W. Biederman
2009-02-17  8:30     ` Andreas Ericsson
2009-02-16  1:27   ` [RFC - draft] List of proposed future changes that are backward incompatible Sitaram Chamarty
2009-02-16  8:04   ` Björn Steinbrink
2009-02-16  8:49     ` Junio C Hamano
2009-02-16  9:07       ` Björn Steinbrink
2009-02-16  2:42 ` [RFC - draft #2] " Junio C Hamano
2009-02-16  3:20   ` Jeff King
2009-02-16 21:10   ` Jakub Narebski

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=7vocx1evvs.fsf@gitster.siamese.dyndns.org \
    --to=gitster@pobox.com \
    --cc=Johannes.Schindelin@gmx.de \
    --cc=git@vger.kernel.org \
    --cc=peff@peff.net \
    --cc=sergio.callegari@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).