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