All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Kerry, Richard" <richard.kerry@atos.net>
To: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>,
	"Felipe Contreras" <felipe.contreras@gmail.com>
Cc: "Philip Oakley" <philipoakley@iee.email>,
	"git@vger.kernel.org" <git@vger.kernel.org>,
	"Vít Ondruch" <vondruch@redhat.com>,
	"Jacob Keller" <jacob.keller@gmail.com>,
	"Alex Henrie" <alexhenrie24@gmail.com>,
	"Junio C Hamano" <gitster@pobox.com>, "Jeff King" <peff@peff.net>,
	"Elijah Newren" <newren@gmail.com>
Subject: RE: [PATCH 1/2] doc: pull: explain what is a fast-forward
Date: Fri, 25 Jun 2021 16:53:08 +0000	[thread overview]
Message-ID: <AS8PR02MB730230DADF38B6C572CE8DC39C069@AS8PR02MB7302.eurprd02.prod.outlook.com> (raw)
In-Reply-To: <87czsaxksc.fsf@evledraar.gmail.com>


> From: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
> Sent: 25 June 2021 11:59

> >> So I think it Philip's suggestion makes sense. We're not talking
> >> about how to fast-forward a tape, but what happens in git when we use
> >> that term.
> >
> > No. In this particular sentence we are using fast-forward *precisely*
> > in the same way as a tape. We haven't even talked about what
> > constitutes a "fast-forward" in git jargon.
> >
> > Substitute the word "fast-forward", and the meaning remains intact:
> >
> >   After the remote changes have been synchronized, the local `master`
> >   will be advanced to the same commit as the remote one, therefore
> >   creating a linear history.
> >
> > As I already explained.
> 
> I think even if you can accurately substitute the jargon it's worth quoting the
> jargon, to call out that it's jargon we're using quoted that place and others.
> 
> Anyway, that doesn't have much to do with your isolated change, just a
> general comment on quoting v.s. not quoting invented v.s. borrowed/reused
> words.
> 
> >> As an aside after however many years of using git this is the first
> >> time I made the connection to that usage of the term, I thought it
> >> was jargon git invented. That's also something to consider,
> >
> > I was in your camp, but after thinking deeply about what would be a
> > better term than "fast-forward" (advance, forward, boost), I realized
> > that in fact "fast-forward" is perfectly fine because it already
> > exists in English and conveys precisely the meaning we want: quickly
> > advance to a desired position.
> 
> I think whatever term we're introducing will need git-specific explanation.
> E.g. because a "tree" is an everyday object our use of it needs explaining.
> 
> >> I've also actually seen an interacted with a tape record and VHS tape
> >> in my lifetime, but I suspect many readers of this documentation have
> not.
> >
> > But they have pressed fast-forward on their Roku control, or whatever.
> >
> > Not only is it part of modern technology, but it's even used inside
> > films, TV shows, and video games. See TV Tropes for dozens of examples
> > where inside the film they fast-forward [1].
> 
> Unfortunately I haven't been able to non-fast-forward say the Game of
> Thrones TV show in such a way that the latest seasons makes any sense,
> since no amount of button mashing will merge their version with mine :)
> 
> So I think in the context of us using this jargon to describe git-specific
> concepts the connection to reality is tenuous at best
 

> > This is one of those rare occasions where I think the git project
> > chose the perfect word.

I agree.

> Perhaps, it's not like I've got much in the way of a holistic world view with
> which to replace it.
> 
> I do think "perfect" would do a few things it doesn't though, imagine reading
> about it for the first time and not making the connection to tapes. Is it an
> optimization? Is there a slow-forward? What if upstream rewound there
> branch and I merge, is that a merge-backwards?
> 
> It's not immediately obvious how rebase/merge/fast-forward relate or
> if/when (e.g. merge sometimes being a merge-ff) they're incompatible
> concepts.

On the one hand, I think fast-forward is an entirely suitable term for git to use, based on what it does.  Instantaneously moving the branch head pointer forward to the new head
On the other hand I think it is distinctly different from the use with transport controls for linear media (ie tape - video or audio).
For all of them fast-forward moves the play/record point relative to the media, maybe to the end (or to "now"), maybe not.  There may or may not be a cueing play that happens while the tape is moving.
For a modern stream (eg podcast) player, such as BBC Sounds (via its web-site) there is no fast-forward control.  There is play/pause, +20 and -20 seconds, go to the start of the stream and (for live broadcasts) go to now.  The latter is very close to Git's fast-forward, but is not labelled as such.  There is also a time-line, where the user can go to an arbitrary point in time and play from there.
Hardware players do have fast-forward controls, even for streams, or files.

So, yes, the term is very widely known in the wider world (even for those who didn't grow up with tape).
And yes, irrespective of the above, it makes complete sense for git's usage.

Regards,
Richard.


  parent reply	other threads:[~2021-06-25 16:53 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-21 17:52 [PATCH 0/2] pull: documentation improvements Felipe Contreras
2021-06-21 17:52 ` [PATCH 1/2] doc: pull: explain what is a fast-forward Felipe Contreras
2021-06-22  5:51   ` Bagas Sanjaya
2021-06-23  1:11     ` Felipe Contreras
2021-06-24 14:21   ` Philip Oakley
2021-06-24 14:31     ` Felipe Contreras
2021-06-24 16:59       ` Philip Oakley
2021-06-24 19:05         ` Felipe Contreras
2021-06-24 22:07           ` Philip Oakley
2021-06-24 23:41             ` Felipe Contreras
2021-06-25  9:12               ` Ævar Arnfjörð Bjarmason
2021-06-25 10:47                 ` Felipe Contreras
2021-06-25 10:59                   ` Ævar Arnfjörð Bjarmason
2021-06-25 15:49                     ` Felipe Contreras
2021-06-25 16:53                     ` Kerry, Richard [this message]
2021-06-25 17:34                       ` Felipe Contreras
2021-06-25 21:36                         ` Felipe Contreras
2021-06-21 17:52 ` [PATCH 2/2] pull: improve default warning Felipe Contreras
2021-06-21 18:05   ` Alex Henrie
2021-06-21 18:51     ` Felipe Contreras
2021-06-21 21:47       ` Alex Henrie
2021-06-21 22:12         ` Felipe Contreras
2021-06-22  3:15           ` Alex Henrie
2021-06-22  4:26             ` Felipe Contreras
2021-06-22 15:06             ` Elijah Newren
2021-06-22 21:22               ` Alex Henrie
2021-06-23  2:20                 ` Elijah Newren
2021-06-23  4:18                   ` Felipe Contreras
2021-06-23  6:47                     ` Elijah Newren
2021-06-23 17:24                       ` Felipe Contreras
2021-06-23  1:09               ` Felipe Contreras
2021-06-23  7:54                 ` Elijah Newren
2021-06-23 18:19                   ` Felipe Contreras
2021-06-24  3:38                     ` Alex Henrie
2021-06-24  5:55                       ` Felipe Contreras
2021-06-27  0:17                         ` Alex Henrie
2021-06-27  4:21                           ` Felipe Contreras
2021-06-23  0:48 ` [PATCH v2 0/2] pull: documentation improvements Felipe Contreras
2021-06-23  0:48   ` [PATCH v2 1/2] doc: pull: explain what is a fast-forward Felipe Contreras
2021-06-23  0:48   ` [PATCH v2 2/2] pull: improve default warning 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=AS8PR02MB730230DADF38B6C572CE8DC39C069@AS8PR02MB7302.eurprd02.prod.outlook.com \
    --to=richard.kerry@atos.net \
    --cc=alexhenrie24@gmail.com \
    --cc=avarab@gmail.com \
    --cc=felipe.contreras@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=jacob.keller@gmail.com \
    --cc=newren@gmail.com \
    --cc=peff@peff.net \
    --cc=philipoakley@iee.email \
    --cc=vondruch@redhat.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.