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

[1.8.0] use 'stage' term consistently

From
Felipe Contreras <felipe.contreras@gmail.com>
Date
May 5, 2012, 13:04 UTC
Message-ID
<CAMP44s1qqpTxRvjEH32MNqzUeNhgZ1gB+fu=cgvxnSbMB6oBGA@mail.gmail.com>
Proposal:
Avoid the terms 'cache' and 'index' in favor of 'stage'.
Advantages:

The term 'stage' is more intuitive for newcomers which are more familiar with English than with git, and it seems to be a straightforward mental notion for people from different mother tongues.

It is so intuitive that it is used already in a lot online documentation, and the people that do teach git professionally use this term.

Risks:

People might be accustomed to the current options, and might take some time to get used to the new term. Scripts might be relying on the current options.

There's also the possibility that a lot of people prefer the terms 'cache' and 'index', but from the countless discussions on this subject, that seems to be rather unlikely.

Migration plan:

Follow a typical obsolete/deprecate process; for a period of time warn that the options are obsolete and shouldn't be used, in case there's a lot of people against this, this period would allow for them to shout; then remove them.

Rationale:

First of all, this discussion _always_ keeps coming back, so its clear something needs to be done, and in the last big discussion the consensus was that 'stage' was the best option. In summary:

cache: a 'cache' is a place for easier access; a squirrel caches nuts so it doesn't have to go looking for them in the future when it might be much more difficult. Git porcelain is not using the staging area for easier future access; it's not a cache.

index: an 'index' is a guide of pointers to something else; a book index has a list of entries so the reader can locate information easily without having to go through the whole book. Git porcelain is not using the staging area to find out entries quicker; it's not an index.

stage: a 'stage' is a special area designated for convenience in order for some activity to take place; an orator would prepare a stage in order for her speak to be successful, otherwise many people might not be able to hear, or see her. Git porcelain is using the staging area precisly as a special area to be separated from the working directory for convenience.

The term 'stage' is a good noun itself, but also 'staging area', it has a good verb; 'to stage', and a nice past-participle; 'staged'.

-- 
Felipe Contreras
Next: Philip Oakley
Message 1 of 34 in “[1.8.0] use 'stage' term consistently”
  1. Felipe ContrerasMay 5, 2012
  2. Philip OakleyMay 5, 2012
  3. Felipe ContrerasMay 5, 2012
  4. Philip OakleyMay 5, 2012
  5. Zbigniew Jędrzejewski-SzmekMay 6, 2012
  6. Jakub NarebskiMay 6, 2012
  7. Matthieu MoyMay 6, 2012
  8. Felipe ContrerasMay 6, 2012
  9. Jakub NarebskiMay 6, 2012
  10. Junio C HamanoMay 8, 2012
  11. Felipe ContrerasMay 6, 2012
  12. Matthieu MoyMay 6, 2012
  13. Felipe ContrerasMay 6, 2012
  14. Ævar Arnfjörð BjarmasonMay 6, 2012
  15. Junio C HamanoMay 7, 2012
  16. Ævar Arnfjörð BjarmasonMay 7, 2012
  17. Junio C HamanoMay 8, 2012
  18. Ævar Arnfjörð BjarmasonMay 8, 2012
  19. Junio C HamanoMay 8, 2012
  20. Felipe ContrerasMay 9, 2012
  21. Matthieu MoyMay 9, 2012
  22. Mark LodatoMay 19, 2012
  23. Jonathan NiederMay 19, 2012
  24. Jonathan NiederMay 19, 2012
  25. Felipe ContrerasMay 20, 2012
  26. Jonathan NiederMay 20, 2012
  27. Philip OakleyMay 19, 2012
  28. Felipe ContrerasMay 20, 2012
  29. Jonathan NiederMay 20, 2012
  30. Junio C HamanoMay 20, 2012
  31. Felipe ContrerasMay 21, 2012
  32. Jonathan NiederMay 21, 2012
  33. Thiago FarinaMay 18, 2012
  34. Sebastien DoucheMay 8, 2012

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.