git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Felipe Contreras <felipe.contreras@gmail.com>
To: Elijah Newren <newren@gmail.com>
Cc: Junio C Hamano <gitster@pobox.com>, Git <git@vger.kernel.org>,
	Alex Henrie <alexhenrie24@gmail.com>, Jeff King <peff@peff.net>,
	Philip Oakley <philipoakley@iee.email>
Subject: Re: [PATCH v3 01/16] doc: pull: explain what is a fast-forward
Date: Mon, 7 Dec 2020 18:17:37 -0600	[thread overview]
Message-ID: <CAMP44s0g7JLTZZs=O3gUcEiPt--p3gXEPHL0GsBqoqweKA=9Rw@mail.gmail.com> (raw)
In-Reply-To: <CABPp-BEkKMuZHWJ8mrFUFm3okDDsMHeZZNxtGzgq-RLLddMxdw@mail.gmail.com>

On Mon, Dec 7, 2020 at 4:40 PM Elijah Newren <newren@gmail.com> wrote:
> On Mon, Dec 7, 2020 at 2:22 PM Felipe Contreras
> <felipe.contreras@gmail.com> wrote:

> > The glossary defines a fast-forward as:
> >
> >   A fast-forward is a special type of `merge`
> >
> > So, if you consider "merge" a noun, then a fast-forward is an
> > adjective. If you consider it a verb, then it's an adverb. But it's
> > not a verb.
>
> A square is a special type of a rectangle, but that doesn't make
> "square" an adjective; both square and rectangle are nouns.

Words have multiple definitions. The word "square" is both a noun, and
an adjective [1]. It's perfectly fine to say "square corner".

Just like it's perfectly fine to say "fast-forward merge", or "quick sort".

And that's how many people use it:

https://git-scm.com/docs/git-merge#_fast_forward_merge
https://docs.gitlab.com/ee/user/project/merge_requests/fast_forward_merge.html
https://www.atlassian.com/git/tutorials/using-branches/git-merge#:~:text=Fast%20Forward%20Merge

Plus there's many instances in the documentation:

* non-fast-forward update
* fast-forward merges
* fast-forward check
* "fast-forward-ness"
* fast-forward situation
* fast-forward push
* non-fast-forward pushes
* non-fast-forward reference
* fast-forward cases
* "fast-forward" merge

> > If it was a verb, then we should have `git fast-forward`, which may
> > not be a terrible idea, but right now a fast-forward is a modifier.
> >
> > At least that's what I have in my mind, and the glossary seems to agree.
>
> If you read the release notes and even various messages printed by
> git, "fast-forwards", "fast-forwarded", "fast-forwarding", and "to
> fast-forward" all appear multiple times.  And yes, "fast-forward" also
> appears multiple times as a noun in addition to the various uses as a
> verb.  So, I'd say the glossary just isn't comprehensive because in
> this case we have a word that serves as both a noun and a verb.

It can be a noun, a verb, an adjective, and an adverb. But the
question is not what it can be, but what it actually is. I'm just
telling you my rationale:

1. noun: it doesn't make sense because you don't create, pick, show,
or push a "fast-forward"
2. verb: there's no idiom to tell git "do fast-forward"
3. adjective: there are merge nouns (commits), but no instances of
fast-forward merge commits, like say octopus merge commits
4. adverb: you can tell git "do merge", and "do fast-forward merge"

So, in my opinion a fast-forward today can only logically be an adverb.

Like a bubble sort is a special type of sort, and theoretically you
can say "do a bubble", but it's just weird. My mind is left hanging: a
bubble $what? Likewise, when people say "do me a solid", I'm
annoyed... A solid $what?! They mean "a solid favor". People do it, so
it's part of language, but it doesn't stop it from being weird in my
opinion.

An adverb typically answers the question "in what way?". Do me a
favor... In what way? In a solid way. Do a sort... In what way? In a
quick way. Do a move... In what way? In a bold way. Do a merge... In
what way? In a fast-forward way.

> Going back to the text Junio highlighted, I agree with him that the
> phrase looks really awkward, and much prefer his suggestion
> (regardless of whether it aligns with the current glossary).

Normally I don't show credentials, but in this case I think it might
be relevant. I've read multiple linguists, like Noam Chomsky, and
Steven Pinker. I follow many others and read their articles. I also
read The Pinker's Sense of Style: The Thinking Person's Guide to
Writing in the 21st Century [2], which I can't recommend enough for
people writing technical documents or any other classic style. I have
an arguably successful blog with more than 200 articles and more than
1 million views, which is regularly linked from other blogs, and
technical resources. I constantly get thanked both in person, and
online for what I write. And at some point I was asked by a publisher
to write a book about Git (which I didn't feel prepared for at that
time).

So, clearly at least some people value the way I write.

I'm not trying to be stubborn here, I just honestly put effort into
the art of writing, and I do care deeply about language.

Of course I might be wrong in this particular instance, but if I am,
it's not because of lack of effort.

I think fast-forward is mainly an adverb, but even if it isn't the
main usage; it's still clearly an usage.

Cheers.

[1] https://www.merriam-webster.com/dictionary/square
[2] https://www.amazon.com/Sense-Style-Thinking-Persons-Writing/dp/0143127799

-- 
Felipe Contreras

  parent reply	other threads:[~2020-12-08  0:18 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-05 19:52 [PATCH v3 00/16] pull: default warning improvements Felipe Contreras
2020-12-05 19:52 ` [PATCH v3 01/16] doc: pull: explain what is a fast-forward Felipe Contreras
2020-12-07 20:45   ` Junio C Hamano
2020-12-07 22:22     ` Felipe Contreras
2020-12-07 22:40       ` Elijah Newren
2020-12-07 23:08         ` Junio C Hamano
2020-12-08  0:20           ` Felipe Contreras
2020-12-08  0:17         ` Felipe Contreras [this message]
2020-12-08  1:23           ` Elijah Newren
2020-12-08 14:37             ` Felipe Contreras
2020-12-08 18:55               ` Felipe Contreras
2020-12-05 19:52 ` [PATCH v3 02/16] pull: improve default warning Felipe Contreras
2020-12-07 20:55   ` Junio C Hamano
2020-12-07 22:29     ` Felipe Contreras
2020-12-05 19:53 ` [PATCH v3 03/16] pull: refactor fast-forward check Felipe Contreras
2020-12-05 19:53 ` [PATCH v3 04/16] pull: cleanup autostash check Felipe Contreras
2020-12-05 19:53 ` [PATCH v3 05/16] pull: trivial cleanup Felipe Contreras
2020-12-05 19:53 ` [PATCH v3 06/16] pull: move default warning Felipe Contreras
2020-12-05 19:53 ` [PATCH v3 07/16] pull: display default warning only when non-ff Felipe Contreras
2020-12-05 19:53 ` [PATCH v3 08/16] pull: trivial whitespace style fix Felipe Contreras
2020-12-05 19:53 ` [PATCH v3 09/16] pull: introduce --merge option Felipe Contreras
2020-12-05 19:53 ` [PATCH v3 10/16] pull: show warning with --ff Felipe Contreras
2020-12-05 19:53 ` [PATCH v3 11/16] rebase: add REBASE_DEFAULT Felipe Contreras
2020-12-05 19:53 ` [PATCH v3 12/16] pull: move configurations fetches Felipe Contreras
2020-12-05 19:53 ` [PATCH v3 13/16] pull: add proper error with --ff-only Felipe Contreras
2020-12-05 20:15   ` Felipe Contreras
2020-12-05 20:19     ` [PATCH 1/2] " Felipe Contreras
2020-12-05 20:19       ` [PATCH 2/2] tentative: pull: change the semantics of --ff-only Felipe Contreras
2020-12-05 19:53 ` [PATCH v3 14/16] test: merge-pull-config: trivial cleanup Felipe Contreras
2020-12-05 19:53 ` [PATCH v3 15/16] test: pull-options: revert unnecessary changes Felipe Contreras
2020-12-05 19:53 ` [PATCH v3 16/16] pull: trivial memory fix Felipe Contreras
2020-12-07 20:55 ` [PATCH v3 00/16] pull: default warning improvements Junio C Hamano
2020-12-07 22:33   ` Felipe Contreras

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAMP44s0g7JLTZZs=O3gUcEiPt--p3gXEPHL0GsBqoqweKA=9Rw@mail.gmail.com' \
    --to=felipe.contreras@gmail.com \
    --cc=alexhenrie24@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=newren@gmail.com \
    --cc=peff@peff.net \
    --cc=philipoakley@iee.email \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).