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

RE: [PATCH 1/2] doc: pull: explain what is a fast-forward

From
Felipe Contreras <felipe.contreras@gmail.com>
Date
Jun 25, 2021, 17:34 UTC
Message-ID
<60d6138c185bf_cc8d20811@natae.notmuch>
In-Reply-To
<AS8PR02MB730230DADF38B6C572CE8DC39C069@AS8PR02MB7302.eurprd02.prod.outlook.com>
Kerry, Richard wrote:
> 
> > From: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
> > Sent: 25 June 2021 11:59
Show 17 quoted lines
> > 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.

Yes, but regardless of that for whatever reason it's already part of the culture, and people are using fast-forward irrespective of the original meaning:

  "They fast-forward to present day ten years later, where he has been
  hospitalized and is on life support." [1]
  "So then fast-forward to now and, like, six months ago, they found the
  script and called me up." [2]

This is similar to what happened with the floppy disk icon. New generations may have no idea what it originally meant, regardless of that today it means "save". Except the fast-forward button still exists in many remote controls.

Same with other concepts like carbon copy. I'm not sure if newer generations have ever seen an actual physical carbon copy take place. Or a physical bookmark.

Words evolve beyond their original meaning, and today I think that has already happened with fast-forward.

> 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.
Indeed.

[1] https://en.wikipedia.org/wiki/I_Need_a_Doctor [2] https://en.wikipedia.org/wiki/Predators_(film)

-- 
Felipe Contreras
Previous: Kerry, RichardNext: Felipe Contreras
Message 16 of 40 in “pull: documentation improvements”
  1. 0/2 pull: documentation improvementsFelipe Contreras, Jun 21, 2021
  2. 1/2 doc: pull: explain what is a fast-forwardFelipe Contreras, Jun 21, 2021
  3. Bagas SanjayaJun 22, 2021
  4. Felipe ContrerasJun 23, 2021
  5. Philip OakleyJun 24, 2021
  6. Felipe ContrerasJun 24, 2021
  7. Philip OakleyJun 24, 2021
  8. Felipe ContrerasJun 24, 2021
  9. Philip OakleyJun 24, 2021
  10. Felipe ContrerasJun 24, 2021
  11. Ævar Arnfjörð BjarmasonJun 25, 2021
  12. Felipe ContrerasJun 25, 2021
  13. Ævar Arnfjörð BjarmasonJun 25, 2021
  14. Felipe ContrerasJun 25, 2021
  15. Kerry, RichardJun 25, 2021
  16. Felipe ContrerasJun 25, 2021
  17. Felipe ContrerasJun 25, 2021
  18. 2/2 pull: improve default warningFelipe Contreras, Jun 21, 2021
  19. Alex HenrieJun 21, 2021
  20. Felipe ContrerasJun 21, 2021
  21. Alex HenrieJun 21, 2021
  22. Felipe ContrerasJun 21, 2021
  23. Alex HenrieJun 22, 2021
  24. Felipe ContrerasJun 22, 2021
  25. Elijah NewrenJun 22, 2021
  26. Alex HenrieJun 22, 2021
  27. Elijah NewrenJun 23, 2021
  28. Felipe ContrerasJun 23, 2021
  29. Elijah NewrenJun 23, 2021
  30. Felipe ContrerasJun 23, 2021
  31. Felipe ContrerasJun 23, 2021
  32. Elijah NewrenJun 23, 2021
  33. Felipe ContrerasJun 23, 2021
  34. Alex HenrieJun 24, 2021
  35. Felipe ContrerasJun 24, 2021
  36. Alex HenrieJun 27, 2021
  37. Felipe ContrerasJun 27, 2021
  38. 0/2 pull: documentation improvementsFelipe Contreras, Jun 23, 2021
  39. 1/2 doc: pull: explain what is a fast-forwardFelipe Contreras, Jun 23, 2021
  40. 2/2 pull: improve default warningFelipe Contreras, Jun 23, 2021

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.