git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: John Wiegley <johnw@newartisans.com>
Cc: git@vger.kernel.org
Subject: Re: Yet another Git tutorial
Date: Mon, 28 Apr 2008 17:17:06 -0700	[thread overview]
Message-ID: <7vskx5a519.fsf@gitster.siamese.dyndns.org> (raw)
In-Reply-To: <2D3D2E55-74C7-4373-BC22-9CF4C26C197D@newartisans.com> (John Wiegley's message of "Mon, 28 Apr 2008 02:39:46 -0400")

Page #5; after teaching "cat-file -t" it would make sense to teach
"cat-file blob" to view what was stored.

Page #5; likewise, "cat-file -t HEAD" to inspect and "cat-file commit
HEAD" to show its contents would be a much better "bottom-up" way to show
how the pieces fit together, instead of doing "show --pretty=format:%T".

Page #6; "HEAD tag"???

Page #6; s/my system/my repository/, as you use that word a few lines
later.

You use "id", "hash id", "hash number", "hash" etc. and have your readers
guess that you are talking about the same thing.  It would be better to
use a single word consistently (the official name of this number is the
"object name").

s/index cache/the index/.

s/tree owns blob/tree holds blob/, perhaps.

Page #9; before this point, your tree owned blobs but now suddenly it
references trees and blobs.  There should be a mention of this recursive
construction of a tree earlier soon after you introduced the tree
objects. 

Page #11: s/name:file/name:path/; notice that it can be non-files such as
symlinks and trees.

Page #12: s/name{tree}/name^{tree}/.

Page #12: name1..name2; "between name1 and name2, inclusive"?  This
excludes the left end.  "Everything reachable from name2 except the ones
reachable from name1".

Page #12: name1...name2.  This is a symmetric difference for "git log"
family of commands (iow when you talk about set of commits) which means
"Reachable either from name1 or name2 but not from both".  When used with
"git diff" to name two endpoints, this means what you described
(differences since the common ancestor of these two to name2).

Page #12: master..; it would also be useful to mention ..other here.

Page #17: The example makes me wonder what you did exactly to commit I.
It would contain roughly an equivalent of squashed B+C together, which may
or may not be what you want.

Page #18: There is no "two different things" reason behind the name.  It
was originally called "directory cache" and then renamed to "the index".
These days, most of the time we use these two words interchangeably, but
when we are picky, index tends to mean the file on the filesystem
(i.e. $GIT_INDEX_FILE aka $GIT_DIR/index) while cache tends to mean the
in-core structure (i.e. the_index.cache aka active_cache).

Page #22: "git reset --mixed" will remove blobs???  You surely did not
mean that.  It just reverts the staged contents to that of the HEAD (or
whichever commit you named and moved your HEAD to).

Page #24: saves your work in the stash "for the current branch"???  There
is no per-branch stash.  You can stash, switch branches and then apply the
stashed change to the other branch.

  parent reply	other threads:[~2008-04-29  0:18 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-04-28  6:39 Yet another Git tutorial John Wiegley
2008-04-28  9:27 ` Johan Herland
2008-04-28 20:11   ` John Wiegley
2008-04-28  9:36 ` Jeff King
2008-04-28 16:30 ` Brian Gernhardt
2008-04-28 16:40   ` Paolo Bonzini
2008-04-28 16:42     ` Brian Gernhardt
2008-04-28 19:45 ` Bob Hiestand
2008-04-28 22:27 ` Dmitry Potapov
2008-04-28 23:34   ` Junio C Hamano
2008-04-29  0:17 ` Junio C Hamano [this message]
2008-04-29  1:25 ` Matt Graham
2008-04-30  1:40   ` John Wiegley
2008-04-30 23:17     ` Robert Haines

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=7vskx5a519.fsf@gitster.siamese.dyndns.org \
    --to=gitster@pobox.com \
    --cc=git@vger.kernel.org \
    --cc=johnw@newartisans.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).