Subject: Re: git pull for update of netdev fails.

From: Shawn Pearce <[email-masked]>
Date: Wed, 20 Sep 2006 12:34:37 -0400

Linus Torvalds <[email-masked]> wrote:
> On Wed, 20 Sep 2006, Linus Torvalds wrote:
> > 
> > That's a really important point. You can trivially say "I don't care". 
> > It's literally one extra character. But it should be the _user_ that says 
> > so, not the SCM.
> > 
> > The whole point of the SCM is to care.
> 
> Btw, the "+" also protects you from local errors.
> 
> Let's say that you've committed some work of your own onto a branch that 
> you happen to follow. Guess what? By default, git refuses to throw your 
> hard work away.
> 
> This is not just a random thing. It is in fact one of the very core issues 
> of having multiple people work together on the same remote repo. We don't 
> do it very much (because it's often easier for everybody to have their 
> own), but the "CVS workflow" with one common repository is another example 
> why WE MUST NOT JUST RESET THE HEADS!

BTW `git push --force` works just great to reset the remote head.

I worked on a project not to long ago in which a user tried `git
push`, received a "not a fast-forward" error, didn't know what it
meant, tried `git push --force`, found that worked, and proceeded
to force every push he did from then on.  To much gnashing of teeth
from everyone else.

Of course an update hook finally took care of the problem, but having
non fast-forward pushs be permitted on a shared, bare repository
by default is interesting to say the least.  :-)
 
-- 
Shawn.