git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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

From
Robert P. J. Day <rpjday@crashcourse.ca>
Date
Mar 12, 2019, 18:22 UTC
Message-ID
<alpine.LFD.2.21.1903121421140.18110@localhost.localdomain>
In-Reply-To
<CAGyf7-FDLA7zZ9y3GyyVsF38hmm8E+-4+n8gAtmYnp4g7E7=Ug@mail.gmail.com>
On Tue, 12 Mar 2019, Bryan Turner wrote:
Show 46 quoted lines
> On Tue, Mar 12, 2019 at 11:01 AM Robert P. J. Day <rpjday@crashcourse.ca> wrote:
> >
> > On Tue, 12 Mar 2019, Bryan Turner wrote:
> >
> > > On Tue, Mar 12, 2019 at 10:23 AM Robert P. J. Day <rpjday@crashcourse.ca> 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
========================================================================
Previous: Bryan TurnerNext: Robert P. J. Day
Message 5 of 11 in “why does "git revert" commit even if i try to bail with ":q!"?”
  1. Robert P. J. DayMar 12, 2019
  2. Bryan TurnerMar 12, 2019
  3. Robert P. J. DayMar 12, 2019
  4. Bryan TurnerMar 12, 2019
  5. Robert P. J. DayMar 12, 2019
  6. Robert P. J. DayMar 12, 2019
  7. SZEDER GáborMar 12, 2019
  8. Bryan TurnerMar 12, 2019
  9. Kevin DaudtMar 12, 2019
  10. Robert P. J. DayMar 12, 2019
  11. Elijah NewrenMar 12, 2019

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.