Merge branch 'jn/glossary-revision'
authorJunio C Hamano <gitster@pobox.com>
Fri, 26 Apr 2013 22:28:23 +0000 (15:28 -0700)
committerJunio C Hamano <gitster@pobox.com>
Fri, 26 Apr 2013 22:28:23 +0000 (15:28 -0700)
The wording for "revision" in the glossary wanted to say it refers
to "commit (noun) as a concept" but it was badly phrased.

This may need further updates to hint that in contexts where it is
clear, the word may refer to an object name, not necessarily a
commit. But the patch as-is is already an improvement.

* jn/glossary-revision:
glossary: a revision is just a commit

1  2 
Documentation/glossary-content.txt
index ce3e4fae731b6c6c4e67034393309cd20f69b7dc,521fceebe6aef830a459db7946e8a74b1f3780bf..68a18e14975fadb0cba7ba19e45438887a65bd4f
@@@ -100,22 -100,12 +100,22 @@@ to point at the new commit
  
  [[def_detached_HEAD]]detached HEAD::
        Normally the <<def_HEAD,HEAD>> stores the name of a
 -      <<def_branch,branch>>.  However, Git also allows you to <<def_checkout,check out>>
 -      an arbitrary <<def_commit,commit>> that isn't necessarily the tip of any
 -      particular branch.  In this case HEAD is said to be "detached".
 -
 -[[def_dircache]]dircache::
 -      You are *waaaaay* behind. See <<def_index,index>>.
 +      <<def_branch,branch>>, and commands that operate on the
 +      history HEAD represents operate on the history leading to the
 +      tip of the branch the HEAD points at.  However, Git also
 +      allows you to <<def_checkout,check out>> an arbitrary
 +      <<def_commit,commit>> that isn't necessarily the tip of any
 +      particular branch.  The HEAD in such a state is called
 +      "detached".
 ++
 +Note that commands that operate on the history of the current branch
 +(e.g. `git commit` to build a new history on top of it) still work
 +while the HEAD is detached. They update the HEAD to point at the tip
 +of the updated history without affecting any branch.  Commands that
 +update or inquire information _about_ the current branch (e.g. `git
 +branch --set-upstream-to` that sets what remote tracking branch the
 +current branch integrates with) obviously do not work, as there is no
 +(real) current branch to ask about in this state.
  
  [[def_directory]]directory::
        The list you get with "ls" :-)
        it contains modifications which have not been <<def_commit,committed>> to the current
        <<def_branch,branch>>.
  
 -[[def_ent]]ent::
 -      Favorite synonym to "<<def_tree-ish,tree-ish>>" by some total geeks. See
 -      http://en.wikipedia.org/wiki/Ent_(Middle-earth) for an in-depth
 -      explanation. Avoid this term, not to confuse people.
 -
  [[def_evil_merge]]evil merge::
        An evil merge is a <<def_merge,merge>> that introduces changes that
        do not appear in any <<def_parent,parent>>.
        created. Configured via the `.git/info/grafts` file.
  
  [[def_hash]]hash::
 -      In Git's context, synonym to <<def_object_name,object name>>.
 +      In Git's context, synonym for <<def_object_name,object name>>.
  
  [[def_head]]head::
        A <<def_ref,named reference>> to the <<def_commit,commit>> at the tip of a
@@@ -238,7 -233,7 +238,7 @@@ This commit is referred to as a "merge 
  
  [[def_object]]object::
        The unit of storage in Git. It is uniquely identified by the
 -      <<def_SHA1,SHA1>> of its contents. Consequently, an
 +      <<def_SHA1,SHA-1>> of its contents. Consequently, an
        object can not be changed.
  
  [[def_object_database]]object database::
        Synonym for <<def_object_name,object name>>.
  
  [[def_object_name]]object name::
 -      The unique identifier of an <<def_object,object>>. The <<def_hash,hash>>
 -      of the object's contents using the Secure Hash Algorithm
 -      1 and usually represented by the 40 character hexadecimal encoding of
 -      the <<def_hash,hash>> of the object.
 +      The unique identifier of an <<def_object,object>>.  The
 +      object name is usually represented by a 40 character
 +      hexadecimal string.  Also colloquially called <<def_SHA1,SHA-1>>.
  
  [[def_object_type]]object type::
        One of the identifiers "<<def_commit_object,commit>>",
        <<def_object,object>>.
  
  [[def_octopus]]octopus::
 -      To <<def_merge,merge>> more than two <<def_branch,branches>>. Also denotes an
 -      intelligent predator.
 +      To <<def_merge,merge>> more than two <<def_branch,branches>>.
  
  [[def_origin]]origin::
        The default upstream <<def_repository,repository>>. Most projects have
        pack.
  
  [[def_pathspec]]pathspec::
 -       Pattern used to specify paths.
 +      Pattern used to limit paths in Git commands.
  +
  Pathspecs are used on the command line of "git ls-files", "git
  ls-tree", "git add", "git grep", "git diff", "git checkout",
@@@ -290,8 -287,6 +290,8 @@@ limit the scope of operations to some s
  worktree.  See the documentation of each command for whether
  paths are relative to the current directory or toplevel.  The
  pathspec syntax is as follows:
 ++
 +--
  
  * any path matches itself
  * the pathspec up to the last slash represents a
    of the pathname.  Paths relative to the directory
    prefix will be matched against that pattern using fnmatch(3);
    in particular, '*' and '?' _can_ match directory separators.
 +
 +--
  +
  For example, Documentation/*.jpg will match all .jpg files
  in the Documentation subtree,
  including Documentation/chapter_1/figure_1.jpg.
 -
  +
  A pathspec that begins with a colon `:` has special meaning.  In the
  short form, the leading colon `:` is followed by zero or more "magic
@@@ -322,10 -316,18 +322,10 @@@ and a close parentheses `)`, and the re
  against the path.
  +
  The "magic signature" consists of an ASCII symbol that is not
 -alphanumeric.
 -+
 ---
 -top `/`;;
 -      The magic word `top` (mnemonic: `/`) makes the pattern match
 -      from the root of the working tree, even when you are running
 -      the command from inside a subdirectory.
 ---
 -+
 -Currently only the slash `/` is recognized as the "magic signature",
 -but it is envisioned that we will support more types of magic in later
 -versions of Git.
 +alphanumeric. Currently only the slash `/` is recognized as a
 +"magic signature": it makes the pattern match from the root of
 +the working tree, even when you are running the command from
 +inside a subdirectory.
  +
  A pathspec with only a colon means "there is no pathspec". This form
  should not be combined with other pathspec.
        to the result.
  
  [[def_ref]]ref::
 -      A 40-byte hex representation of a <<def_SHA1,SHA1>> or a name that
 +      A 40-byte hex representation of a <<def_SHA1,SHA-1>> or a name that
        denotes a particular <<def_object,object>>. They may be stored in
        a file under `$GIT_DIR/refs/` directory, or
        in the `$GIT_DIR/packed-refs` file.
  [[def_refspec]]refspec::
        A "refspec" is used by <<def_fetch,fetch>> and
        <<def_push,push>> to describe the mapping between remote
 -      <<def_ref,ref>> and local ref. They are combined with a colon in
 -      the format <src>:<dst>, preceded by an optional plus sign, +.
 -      For example: `git fetch $URL
 -      refs/heads/master:refs/heads/origin` means "grab the master
 -      <<def_branch,branch>> <<def_head,head>> from the $URL and store
 -      it as my origin branch head". And `git push
 -      $URL refs/heads/master:refs/heads/to-upstream` means "publish my
 -      master branch head as to-upstream branch at $URL". See also
 -      linkgit:git-push[1].
 +      <<def_ref,ref>> and local ref.
  
  [[def_remote_tracking_branch]]remote-tracking branch::
        A regular Git <<def_branch,branch>> that is used to follow changes from
        <<def_merge,merge>> left behind.
  
  [[def_revision]]revision::
-       A particular state of files and directories which was stored in the
-       <<def_object_database,object database>>. It is referenced by a
-       <<def_commit_object,commit object>>.
+       Synonym for <<def_commit,commit>> (the noun).
  
  [[def_rewind]]rewind::
        To throw away part of the development, i.e. to assign the
  [[def_SCM]]SCM::
        Source code management (tool).
  
 -[[def_SHA1]]SHA1::
 -      Synonym for <<def_object_name,object name>>.
 +[[def_SHA1]]SHA-1::
 +      "Secure Hash Algorithm 1"; a cryptographic hash function.
 +      In the context of Git used as a synonym for <<def_object_name,object name>>.
  
  [[def_shallow_repository]]shallow repository::
        A shallow <<def_repository,repository>> has an incomplete
        its history can be later deepened with linkgit:git-fetch[1].
  
  [[def_symref]]symref::
 -      Symbolic reference: instead of containing the <<def_SHA1,SHA1>>
 +      Symbolic reference: instead of containing the <<def_SHA1,SHA-1>>
        id itself, it is of the format 'ref: refs/some/thing' and when
        referenced, it recursively dereferences to this reference.
        '<<def_HEAD,HEAD>>' is a prime example of a symref. Symbolic