git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Christoph Michelbach <michelbach94@gmail.com>
To: Junio C Hamano <gitster@pobox.com>
Cc: Philip Oakley <philipoakley@iee.org>,
	Git Mailing List <git@vger.kernel.org>
Subject: Re: [PATCH] Documentation/git-checkout: make doc. of checkout <tree-ish> clearer
Date: Sat, 22 Apr 2017 19:12:16 +0200	[thread overview]
Message-ID: <1492881136.7368.3.camel@gmail.com> (raw)
In-Reply-To: <xmqq1sspdvjk.fsf@gitster.mtv.corp.google.com>

On Tue, 2017-04-18 at 18:40 -0700, Junio C Hamano wrote:
> Christoph Michelbach <michelbach94@gmail.com> writes:
> 
> > 
> > On Mon, 2017-04-17 at 17:31 -0700, Junio C Hamano wrote:
> > 
> > > 
> > > Obviously, "grab all paths that match <pathspec> out of <tree>,
> > > add
> > > them to the index and copy them out to the working tree" will
> > > never
> > > be able to _restore_ the lack of 'd', even it may match the
> > > <pathspec> being used to do this checkout, by removing it from the
> > > current index and the working tree.
> > Exactly. "grab all paths that match <pathspec> out of <tree>, add
> > them
> > to the index and copy them out to the working tree" is a more
> > accurate
> > description of what the command does (but it might need some
> > rewording
> > ;-) ).
> Of course it is accurate, as that is how I would write it, not
> "restore", if I were doing the documentation.
> 
> Care to send in a patch to update the documentation?

From 10c362b0632255f90e0975fb6656feedca5fd407 Mon Sep 17 00:00:00 2001
From: Christoph Michelbach <michelbach94@gmail.com>
Date: Sat, 22 Apr 2017 18:49:57 +0200
Subject: [PATCH] Doc./git-checkout: correct doc. of checkout
<pathspec>...

The previous documentation states that the named paths are
updated both in the index and the working tree. This is not
correct as those paths can point to folders which are not
updated to what they are in the given tree-ish. Rather,
the files pointed to by the pathspecs are copied from the
tree-ish to the index and working tree One difference being
that one can name paths which are not present in the working
tree and another being that only files which are already
present in the given tree-ish are affected.

Furthermore, the changed text is intended to be more
intelligible as it is written in a way which is easy to
follow, rather than describing the technical process in
order of execution.

A hint alerting the users that changes introduced by this
command when naming a tree-ish are automatically staged has
been introduced.

Signed-off-by: Christoph Michelbach <michelbach94@gmail.com>
---
 Documentation/git-checkout.txt | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/Documentation/git-checkout.txt b/Documentation/git-
checkout.txt
index 8e2c066..f74f237 100644
--- a/Documentation/git-checkout.txt
+++ b/Documentation/git-checkout.txt
@@ -81,13 +81,15 @@ Omitting <branch> detaches HEAD at the tip of the
current branch.
 'git checkout' [-p|--patch] [<tree-ish>] [--] <pathspec>...::
 
 	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
-	meaningless and giving either of them results in an error.  The
-	<tree-ish> argument can be used to specify a specific tree-ish
-	(i.e.  commit, tag or tree) to update the index for the given
-	paths before updating the working tree.
+	switch branches.  It copies the files matching the pathspecs in
+	<tree-is> (i.e. a commit, tag, or tree) to the index and
+	subsequently to the working directory, overwriting changes
+	(including deletion of files) in those files.  In this case,
the
+	-b and --track options are meaningless and giving either of
them
+	results in an error.  Note that because the index is updated,
the
+	changes introduced by this command are automatically
staged.  If
+	no tree-ish is provided, the current index is used and remains
+	unchanged, modifying only the working directory.
 +
 'git checkout' with <paths> or `--patch` is used to restore modified or
 deleted paths to their original contents from the index or replace
paths
-- 
2.7.4


  reply	other threads:[~2017-04-22 17:12 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-04-15 20:17 [PATCH] Documentation/git-checkout: make doc. of checkout <tree-ish> clearer Christoph Michelbach
2017-04-15 23:28 ` Philip Oakley
2017-04-16 13:01   ` Christoph Michelbach
2017-04-16 18:03     ` Philip Oakley
2017-04-16 18:51       ` Christoph Michelbach
2017-04-16 21:25         ` Philip Oakley
2017-04-16 22:06           ` Christoph Michelbach
2017-04-17 16:04             ` Philip Oakley
     [not found]               ` <1492452173.11708.22.camel@gmail.com>
2017-04-17 20:59                 ` Philip Oakley
2017-04-18  0:31                   ` Junio C Hamano
2017-04-18 12:26                     ` Christoph Michelbach
2017-04-19  1:40                       ` Junio C Hamano
2017-04-22 17:12                         ` Christoph Michelbach [this message]
2017-04-24  1:55                           ` Junio C Hamano
2017-04-24 12:24                             ` Christoph Michelbach
2017-04-24 12:46                             ` Christoph Michelbach
2017-04-25  1:35                               ` Junio C Hamano
2017-04-25  9:11                                 ` Christoph Michelbach
2017-04-19  7:32                     ` Philip Oakley
2017-04-18 11:50                   ` Christoph Michelbach
2017-04-18  0:26               ` Junio C Hamano
2017-04-18 12:02                 ` Christoph Michelbach
2017-04-19  8:14                 ` Philip Oakley

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

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1492881136.7368.3.camel@gmail.com \
    --to=michelbach94@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=philipoakley@iee.org \
    /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.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

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 read-only IMAP folder(s) and NNTP newsgroup(s).