Web lists-archives.com

Re: why does "git revert" commit even if i try to bail with ":q!"?




On Tue, 12 Mar 2019, Bryan Turner wrote:

> On Tue, Mar 12, 2019 at 11:01 AM Robert P. J. Day <rpjday@xxxxxxxxxxxxxx> wrote:
> >
> > On Tue, 12 Mar 2019, Bryan Turner wrote:
> >
> > > On Tue, Mar 12, 2019 at 10:23 AM Robert P. J. Day <rpjday@xxxxxxxxxxxxxx> wrote:
> > > >
> > > >   never noticed this before ... when i do a regular "git commit" and
> > > > enter my "vi" edit session and change my mind, i can bail with ":q!",
> > > > regardless of what i've set up as a commit message, and i'll see:
> > > >
> > > >   Aborting commit due to empty commit message.
> > > >
> > > > however, i was just playing with "git revert" and, after i ran:
> > > >
> > > >   $ git revert <commit SHA>
> > > >
> > > >   again, simulating that i changed my mind, i just typed ":q!", but
> > > > the revert went ahead, anyway. i tried again, this time completely
> > > > deleting all the lines from the commit msg (as the template
> > > > suggested), but the revert *still* completed after typing ":q!".
> > > >
> > > >   it was only after deleting all the lines and using ":wq" that the
> > > > revert was cancelled:
> > > >
> > > >   Aborting commit due to empty commit message.
> > > >
> > > > that seems ... inconsistent. am i misunderstanding something?
> > >
> > > When you're doing a fresh commit, the .git/COMMIT_MSG is "empty". It
> > > has whitespace and comments, but no _usable_ lines. So when you :q!,
> > > the commit is aborted because nothing Git can use as a commit
> > > message was saved to the file and so it's still "empty".
> >
> >   no, if i enter the commit edit session, type some _usable_ lines,
> > then type ":q!", it *still* aborts the commit because of an empty
> > commit message. try it and tell me if it behaves differently for you.
>
> Sorry, perhaps I was unclear. Even if you _type_ something, unless
> you :w it's not _written_. So using :q! at that point is the same as
> if you typed nothing.
>
> But if you type something, then :w, then _as a separate command_, do
> :q!, the commit _will_ be done.
>
> Is that more clear, I hope?
> Bryan

  yes, i appreciate all the clarification.

rday

-- 

========================================================================
Robert P. J. Day                                 Ottawa, Ontario, CANADA
                  http://crashcourse.ca/dokuwiki

Twitter:                                       http://twitter.com/rpjday
LinkedIn:                               http://ca.linkedin.com/in/rpjday
========================================================================