From: Drew Northup <n1xim.email@gmail.com>
To: Piotr Krukowiecki <piotr.krukowiecki@gmail.com>
Cc: Junio C Hamano <gitster@pobox.com>,
Felipe Contreras <felipe.contreras@gmail.com>,
git@vger.kernel.org,
Piotr Krukowiecki <piotr.krukowiecki.news@gmail.com>,
Jay Soffian <jaysoffian@gmail.com>, Miles Bader <miles@gnu.org>,
Jonathan Nieder <jrnieder@gmail.com>,
Philip Oakley <philipoakley@iee.org>,
Matthieu Moy <matthieu.moy@grenoble-inp.fr>,
Ramkumar Ramachandra <artagnon@gmail.com>,
Scott Chacon <schacon@gmail.com>
Subject: Re: Officially start moving to the term 'staging area'
Date: Wed, 4 Sep 2013 00:23:46 -0400 [thread overview]
Message-ID: <CAM9Z-nmLQUrJk73pi_0a1_ccGMnqU_t=uOZze622_GEtWfMvQQ@mail.gmail.com> (raw)
In-Reply-To: <b677f1ae-662f-4728-b625-189bc392c74d@email.android.com>
On Fri, Aug 30, 2013 at 1:16 AM, Piotr Krukowiecki
<piotr.krukowiecki@gmail.com> wrote:
> Drew Northup <n1xim.email@gmail.com> napisał:
>>I agree with Junio. This effort is better spent making the
>>documentation clearer and more succinct. The reality is that a user
>>needs to build a model in their mind of what they are doing which maps
>>enough (completely is not required) to what is actually going on to
>>get work done. If the documentation or the instruction is getting in
>>the way of that in the name of simplifying the presentation then the
>>presentation is wrong.
>
> Why do you think the "stage" model do not map enough?
When I try to explain how to use git to complete VCS newbies in
general they find the "snapshot" model more mentally sensible than the
"staging area" model. (In other words, the user doesn't care how, if,
or where the program is maintaining state.) The "snapshot" model does
not require knowledge of the index and does not get in the way of
later on learning more advanced concepts which benefit from the index
being explained as what it is--explanations which quite frequently
bring up the "staging area" model (but in that case as a portion of
the index used to store snapshot state information).
>>We add content snapshots to the index of content (creating
>>"temporary"--they will be garbage collected eventually if they become
>>orphans--objects into the store at the same time). We build commits
>>from those snapshots (in whole or in part, typically only using the
>>most recent snapshots of new things added to the index) and save those
>>in the object store with the content and tree objects. Sometimes we
>>create tag objects to record something special about commits, trees,
>>and content blobs.
>
> The above can be rewritten to use the 'staging area' concept just
> fine. And I don't think you should say to inexperienced users things
> like 'tree objects'.
At what time did I say specifically what I tell newbies? I did not do
so. Please refrain from making that sort of assumption. In any case,
no, you cannot rewrite that to use "staging area" in place of "index"
without introducing a different mental model and new concept into the
text (a model which happens to be incomplete, but not incorrect). That
minimalist summary was written for the technically-minded people here
on this list debating the issue of communications with the users--the
bane of all programmers' lives.
> A good exercise would be to take documentation of some command
> and show that it can or can't be rewritten to use the other term.
That may be a good exercise in matters of philosophy, but you will
find few outside of the world of programming who would agree with that
characterization of the optimization of technical writing. (In the
English language in particular it is folly due to the extreme
variation of available terms and metaphors with nearly identical
denotations and greatly varying connotations.)
> Instead of 'indexing' or 'staging' content you could also use term 'mark'.
> You mark content to add, for removal, you can diff it or revert.
So far as I am concerned the introduction of a specific "staging area"
(as if it has a distinct physical presence) is superfluous to that.
>>That's the real model (with some rough edges). Explaining what that
>>has to do with distributed version control is the hard part.
Again, let us keep our argument focused on communications with users.
Renaming core objects is just going to sow confusion without fixing
the user communication issue. That's what I meant the first time I
wrote what I quote directly above and I'm sticking to it.
--
-Drew Northup
--------------------------------------------------------------
"As opposed to vegetable or mineral error?"
-John Pescatore, SANS NewsBites Vol. 12 Num. 59
next prev parent reply other threads:[~2013-09-04 4:24 UTC|newest]
Thread overview: 58+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-08-29 18:01 Officially start moving to the term 'staging area' Felipe Contreras
2013-08-29 18:09 ` [PATCH 0/2] stage: proper 'stage' command Felipe Contreras
2013-08-29 18:09 ` [PATCH 1/2] Add " Felipe Contreras
2013-08-29 18:38 ` Matthieu Moy
2013-08-29 18:47 ` Felipe Contreras
2013-08-29 18:09 ` [PATCH 2/2] stage: add edit command Felipe Contreras
2013-08-29 18:35 ` Matthieu Moy
2013-08-29 18:42 ` Felipe Contreras
2013-08-29 18:14 ` [PATCH 0/9] Add --stage and --work options Felipe Contreras
2013-08-29 18:14 ` [PATCH 1/9] diff: document --staged Felipe Contreras
2013-08-29 18:14 ` [PATCH 2/9] grep: add --staged option Felipe Contreras
2013-08-29 18:14 ` [PATCH 3/9] rm: " Felipe Contreras
2013-08-29 18:14 ` [PATCH 4/9] stash: add --stage option to save Felipe Contreras
2013-08-29 18:39 ` Matthieu Moy
2013-08-29 18:14 ` [PATCH 5/9] stash: add --stage to pop and apply Felipe Contreras
2013-08-29 18:14 ` [PATCH 6/9] submodule: add --staged options Felipe Contreras
2013-08-29 18:14 ` [PATCH 7/9] apply: add --stage option Felipe Contreras
2013-08-29 18:14 ` [PATCH 8/9] apply: add --work, --no-work options Felipe Contreras
2013-08-29 18:14 ` [PATCH 9/9] completion: update --staged options Felipe Contreras
2013-08-29 18:19 ` [PATCH 0/3] reset: refactor into --stage and --work Felipe Contreras
2013-08-29 18:19 ` [PATCH 1/3] reset: add --stage and --work options Felipe Contreras
[not found] ` <CALkWK0=P0xZAk95Jmw9mRUCwPQP7NmVHsuPaWNg+D2v3wP9=-w@mail.gmail.com>
2013-09-08 22:55 ` Felipe Contreras
2013-09-09 0:15 ` Ramkumar Ramachandra
2013-09-09 0:39 ` Felipe Contreras
2013-08-29 18:19 ` [PATCH 2/3] reset: allow --keep with --stage Felipe Contreras
2013-08-29 18:19 ` [PATCH 3/3] completion: update 'git reset' new stage options Felipe Contreras
2013-08-29 18:37 ` Officially start moving to the term 'staging area' Junio C Hamano
2013-08-29 19:57 ` Felipe Contreras
2013-08-30 19:11 ` Felipe Contreras
2013-08-30 20:40 ` Felipe Contreras
2013-08-30 20:42 ` Felipe Contreras
2013-08-30 20:28 ` Felipe Contreras
2013-08-29 21:55 ` Drew Northup
2013-08-29 22:10 ` Felipe Contreras
2013-09-04 4:45 ` Drew Northup
2013-09-08 2:09 ` Felipe Contreras
2013-08-30 5:16 ` Piotr Krukowiecki
2013-09-04 4:23 ` Drew Northup [this message]
2013-09-04 7:13 ` Piotr Krukowiecki
2013-09-04 13:36 ` Drew Northup
2013-09-08 1:27 ` Felipe Contreras
2013-09-08 1:18 ` Felipe Contreras
2013-09-08 1:33 ` Felipe Contreras
2013-09-08 7:49 ` Philip Oakley
2013-09-08 9:27 ` Felipe Contreras
2013-08-29 18:50 ` Matthieu Moy
2013-08-29 18:57 ` Felipe Contreras
2013-08-29 19:15 ` Matthieu Moy
2013-08-29 19:21 ` Matthieu Moy
2013-08-29 20:03 ` René Scharfe
2013-08-29 20:36 ` Felipe Contreras
2013-08-31 7:46 ` René Scharfe
2013-08-31 7:53 ` Felipe Contreras
2013-09-01 3:46 ` David Aguilar
2013-08-29 21:03 ` Matthieu Moy
2013-09-04 6:08 ` William Swanson
2013-09-06 15:45 ` Ping Yin
2013-09-06 17:14 ` Hilco Wijbenga
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='CAM9Z-nmLQUrJk73pi_0a1_ccGMnqU_t=uOZze622_GEtWfMvQQ@mail.gmail.com' \
--to=n1xim.email@gmail.com \
--cc=artagnon@gmail.com \
--cc=felipe.contreras@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=jaysoffian@gmail.com \
--cc=jrnieder@gmail.com \
--cc=matthieu.moy@grenoble-inp.fr \
--cc=miles@gnu.org \
--cc=philipoakley@iee.org \
--cc=piotr.krukowiecki.news@gmail.com \
--cc=piotr.krukowiecki@gmail.com \
--cc=schacon@gmail.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 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).