apply: allow-binary-replacement.
[gitweb.git] / Documentation / glossary.txt
index 015d51018dd26642f8251d59c132d8bfc772e37e..07df6b48be0aab9c711905a3109d90c7567cca3e 100644 (file)
@@ -1,5 +1,5 @@
 object::
-       The unit of storage in GIT. It is uniquely identified by
+       The unit of storage in git. It is uniquely identified by
        the SHA1 of its contents. Consequently, an object can not
        be changed.
 
@@ -26,25 +26,31 @@ blob object::
        Untyped object, e.g. the contents of a file.
 
 tree object::
-       An object containing a list of blob and/or tree objects.
-       (A tree usually corresponds to a directory without
-       subdirectories).
+       An object containing a list of file names and modes along with refs
+       to the associated blob and/or tree objects. A tree is equivalent
+       to a directory.
 
 tree::
        Either a working tree, or a tree object together with the
        dependent blob and tree objects (i.e. a stored representation
        of a working tree).
 
+DAG::
+       Directed acyclic graph. The commit objects form a directed acyclic
+       graph, because they have parents (directed), and the graph of commit
+       objects is acyclic (there is no chain which begins and ends with the
+       same object).
+
 index::
        A collection of files with stat information, whose contents are
-       stored as objects. The cache is a stored version of your working
+       stored as objects. The index is a stored version of your working
        tree. Truth be told, it can also contain a second, and even a third
        version of a working tree, which are used when merging.
 
 index entry::
        The information regarding a particular file, stored in the index.
        An index entry can be unmerged, if a merge was started, but not
-       yet finished (i.e. if the cache contains multiple versions of
+       yet finished (i.e. if the index contains multiple versions of
        that file).
 
 unmerged index:
@@ -69,7 +75,7 @@ checkout::
        stored in the object database.
 
 commit::
-       As a verb: The action of storing the current state of the cache in the
+       As a verb: The action of storing the current state of the index in the
        object database. The result is a revision.
        As a noun: Short hand for commit object.
 
@@ -118,11 +124,14 @@ tree-ish::
        tag object pointing to a tag or commit or tree object.
 
 ent::
-       Favorite synonym to "tree-ish" by some total geeks.
+       Favorite synonym to "tree-ish" by some total geeks. See
+       http://en.wikipedia.org/wiki/Ent_(Middle-earth) for an in-depth
+       explanation.
 
 tag object::
-       An object containing a ref pointing to another object. It can
-       contain a (PGP) signature, in which case it is called "signed
+       An object containing a ref pointing to another object, which can
+       contain a message just like a commit object. It can also
+       contain a (PGP) signature, in which case it is called a "signed
        tag object".
 
 tag::
@@ -139,10 +148,23 @@ merge::
        merge uses heuristics to accomplish that. Evidently, an automatic
        merge can fail.
 
+octopus::
+       To merge more than two branches. Also denotes an intelligent
+       predator.
+
 resolve::
        The action of fixing up manually what a failed automatic merge
        left behind.
 
+rewind::
+       To throw away part of the development, i.e. to assign the head to
+       an earlier revision.
+
+rebase::
+       To clean a branch by starting from the head of the main line of
+       development ("master"), and reapply the (possibly cherry-picked)
+       changes from that branch.
+
 repository::
        A collection of refs together with an object database containing
        all objects, which are reachable from the refs, possibly accompanied
@@ -196,6 +218,10 @@ pack index::
        The list of identifiers, and other information, of the objects in a
        pack, to assist in efficiently accessing the contents of a pack. 
 
+core git::
+       Fundamental data structures and utilities of git. Exposes only
+       limited source code management tools.
+
 plumbing::
        Cute name for core git.