On 13-07-09 04:37 PM, Junio C Hamano wrote:
> Johannes Sixt <j...@kdbg.org> writes:
>> Am 09.07.2013 21:53, schrieb Junio C Hamano:
>>> +This is meant to make `--force` safer to use.
>> This is a contradiction. "--force" means "I mean it, dude", and not "I
>> mean it sometimes". It would make sense if this sentence were "This is
>> meant to make `+refspec` safer to use."
> No, this *IS* making --force safer by letting you to say in addition
> to --force alone which is blind, add --lockref to defeat it.
> I do not see any good reason to change the samentics of "+refspec"
> for something like this. "+refspec" and "--force refspec" have
> meant the same thing forever. If --lockref adds safety to +refspec,
> the same safety should apply to "--force refspec".
>> Do you intend to require users to opt in to safety by saying --lockref
>> until the end of time?
> For normal users this is *NOT* necessary. I do not know where
> people are getting the idea of making it default.
> Rewinding a branch, needing to --force, is an exceptional case.
Yes, rewinding is exceptional.
However, when a rewind has to happen, I think most users would want to have
this feature most of the time. I think anyone who rewinds a shared branch
would hate to inadvertently throw away someone else's work. Rare is the
person who really won't care about that.
So I agree with those who say that this would be nice default behaviour. I
also don't think we need to make --force different from +refspec, mainly
because if the rewound ref turns out to have moved a simple "git fetch" will
update it and likely allow the next rewind attempt to succeed. A helpful
error message would make this plain.
I also appreciate the desire to let this stew a while before making it the
default. However, I don't think that leaving it as an option of push will
give it enough exposure. I myself want this feature, and I do rewind or
delete a branch every few months or so, but I'm almost certainly going to
forget to use this option the next time the need arises.
But if it was instead/also a configurable option I could just turn on, that
would be awesome.
For the option name, how about --match-baseref ?
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html