Merge branch 'ta/glossary' into maint
authorJunio C Hamano <gitster@pobox.com>
Mon, 22 Apr 2013 18:26:58 +0000 (11:26 -0700)
committerJunio C Hamano <gitster@pobox.com>
Mon, 22 Apr 2013 18:26:58 +0000 (11:26 -0700)
* ta/glossary:
glossary: improve definitions of refspec and pathspec
The name of the hash function is "SHA-1", not "SHA1"
glossary: improve description of SHA-1 related topics
glossary: remove outdated/misleading/irrelevant entries

1  2 
Documentation/glossary-content.txt
index 2478a3963cc774f1bf73c56660a2d4c096ad4d94,740bb325bf8006340c30659e58a76ac84f47b851..ce3e4fae731b6c6c4e67034393309cd20f69b7dc
@@@ -100,26 -100,10 +100,23 @@@ 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_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_dircache]]dircache::
-       You are *waaaaay* behind. See <<def_index,index>>.
  [[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
@@@ -246,7 -225,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",
@@@ -300,6 -277,8 +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
@@@ -329,18 -309,10 +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_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