From: Scott Schmit <i.grok@comcast.net>
To: Junio C Hamano <gitster@pobox.com>
Cc: "Torsten Bögershausen" <tboegi@web.de>,
git@vger.kernel.org, eda@waniasset.com,
"Duy Nguyen" <pclouds@gmail.com>,
"Eric Sunshine" <sunshine@sunshineco.com>
Subject: Re: [PATCH] git-checkout.txt: Document "git checkout <pathspec>" better
Date: Fri, 12 Jun 2015 00:49:06 -0400 [thread overview]
Message-ID: <20150612044906.GA17424@odin.ulthar.us> (raw)
In-Reply-To: <xmqqioavob7n.fsf@gitster.dls.corp.google.com>
On Wed, Jun 10, 2015 at 08:05:32AM -0700, Junio C Hamano wrote:
> Torsten Bögershausen <tboegi@web.de> writes:
>
> > git checkout <pathspec> can be used to revert changes in the working tree.
>
> I somehow thought that concensus in the recent thread was that
> "restore", not "revert", is the more appropriate wording?
>
> And I think that is indeed sensible because "revert" (or "reset")
> already means something else in Git (and in other systems), while
> "restore" does not have a confusing connotation. It can only mean
> "overwrite with a pristine copy", which is what the command is
> about.
>
> > -git-checkout - Checkout a branch or paths to the working tree
> > +git-checkout - Switch branches or reverts changes in the working tree
>
> Two verbs in different moods; either "switch branches or restore
> changes" or "switches branches or restores changes" would fix that,
> and judging from "git help" output, I think we want to go with the
> former, i.e. "switch branches or restore changes".
>
> >
> > SYNOPSIS
> > --------
> > @@ -83,7 +83,8 @@ Omitting <branch> detaches HEAD at the tip of the current branch.
> > When <paths> or `--patch` are given, 'git checkout' does *not*
> > switch branches. It updates the named paths in the working tree
> > from the index file or from a named <tree-ish> (most often a
> > - commit). In this case, the `-b` and `--track` options are
> > + commit). Changes in files are discarded and deleted files are
> > + restored.
>
> I see we are suffering from the common disease of giving one
> explanation and then realizing that first explanation can be
> misread, clarifying it by more explanation, after reading the
> updated text three times. Let's instead try to clarify the first
> explanation to make it harder to misread.
>
> In this case, "updates X from Y" is what causes misunderstanding, as
> "updates" does not necessarily mean "restores with the original".
>
> How about this?
>
> 'git checkout' with <paths> or `--patch` is used to restore
> modified or deleted paths to their original contents from
> the index file or from a named <tree-ish> (most often a
> commit) without switching branches.
I think these changes would improve the above:
s/index file/index/
- index file is implementation; the glossary only defines "index"
s/or from/or replace paths with the contents from/
- the latter case isn't always restoration, if <tree-ish> doesn't come
from an ancestor of HEAD (so I don't like "restore" in the summary
either)
s/without switching/instead of switching/
- 'without' implies it makes sense to restore/replace with switching
branches, but we've chosen not to. (I then waste time trying to
understand that)
s/commit/commit-ish/
- tags are also tree-ishes, though you could argue this case is less
"often"
leaving:
'git checkout' with <paths> or `--patch` is used to restore modified or
deleted paths to their original contents from the index or replace paths
with the contents from a named <tree-ish> (most often a commit-ish)
instead of switching branches.
does a sha1 count as "named"? Maybe s/named //.
--
Scott Schmit
next prev parent reply other threads:[~2015-06-12 4:57 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-08 20:21 [PATCH] git-checkout.txt: Document "git checkout <pathspec>" better Torsten Bögershausen
2015-06-10 15:05 ` Junio C Hamano
2015-06-10 15:11 ` Ed Avis
2015-06-10 16:38 ` Junio C Hamano
2015-06-11 10:24 ` [PATCH] git-checkout.txt: Document Ed Avis
2015-06-10 18:27 ` [PATCH] git-checkout.txt: Document "git checkout <pathspec>" better Torsten Bögershausen
2015-06-11 14:47 ` Junio C Hamano
2015-06-11 14:52 ` Ed Avis
2015-06-11 18:23 ` Junio C Hamano
2015-06-12 4:49 ` Scott Schmit [this message]
2015-06-12 16:24 ` Junio C Hamano
2015-06-12 20:41 ` Torsten Bögershausen
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=20150612044906.GA17424@odin.ulthar.us \
--to=i.grok@comcast.net \
--cc=eda@waniasset.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=pclouds@gmail.com \
--cc=sunshine@sunshineco.com \
--cc=tboegi@web.de \
/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.