[PATCH] help: add "glossary" topic

Faheem Mitha faheem at email.unc.edu
Tue Jun 15 13:13:40 CDT 2010


Hi,

Patch for help glossary topic included below.

This is joint work with Vishakh Harikumar (vsh), Pradeepkumar Gayam 
(in3xes), David Champion (dgc), squirrel, timeless, Matt Mackall (mpm), 
and Heinrik Stuart (hstuart) courtesy of piratepad and titanpad. If anyone 
knows squirrel's real name, let me know. Especially if you are squirrel. 
It seems funny to use irc nicks when crediting people, unless they wish 
it, of course. If I missed anyone, please tell me. I can't look at the 
piratepad time slider, because piratepad is being flaky.

One comment: I'm not too keen on the repository head definition, but
nobody seemed to care, so I left it in. I prefer the notion of
topological heads. The repository head definition was added by
timeless, for compatibility with the current usage in 'hg help heads',
which de facto regards repository heads as a closed topological
head. But that doesn't strike me as a good reason for a definition.

                                                       Regards, Faheem.

# HG changeset patch
# User Faheem Mitha <faheem at email.unc.edu>
# Date 1276624551 -19800
# Node ID b6690cdda920cfd42de67e681423c448885a18e5
# Parent  ad0a334eef163df857c36fdca2bd4daadba9df99
help: add "glossary" topic

Joint work with Vishakh Harikumar, Pradeepkumar Gayam, David Champion,
squirrel, timeless, Matt Mackall, Heinrik Stuart.

diff -r ad0a334eef16 -r b6690cdda920 mercurial/help.py
--- a/mercurial/help.py	Tue Jun 15 11:05:17 2010 +0200
+++ b/mercurial/help.py	Tue Jun 15 23:25:51 2010 +0530
@@ -98,4 +98,5 @@
      (['urls'], _('URL Paths'), loaddoc('urls')),
      (["extensions"], _("Using additional features"), extshelp),
      (["hgweb"], _("Configuring hgweb"), loaddoc('hgweb')),
+    (["glossary"], _("Mercurial glossary"), loaddoc('glossary')),
  )
diff -r ad0a334eef16 -r b6690cdda920 mercurial/help/glossary.txt
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mercurial/help/glossary.txt	Tue Jun 15 23:25:51 2010 +0530
@@ -0,0 +1,331 @@
+ANCESTOR
+    Any changeset that can be reached by an unbroken chain of
+    parent changesets from a given changeset. More precisely, the
+    ancestors of a changeset can be defined by two properties: a parent of
+    a changeset is an ancestor, and a parent of an ancestor is an
+    ancestor.  See also: 'Descendant'.
+ 
+BRANCH
+    (Noun) A child changeset that has been created from a parent that is
+    not a head. These are known as topological branches, see 'Branch,
+    topological'.If a topological branch is named, it becomes a named
+    branch. If a topological branch is not named, it becomes an anonymous
+    branch. See 'Branch, anonymous' and 'Branch, named'.  Branches may be
+    created when changes are pulled from or pushed to a remote repository,
+    since new heads may be created by these operations.  Note that the
+    term branch can also be used informally to describe a development
+    process in which certain development is done independently of other
+    development.This is sometimes done explicitly with a named branch, but
+    it can also be done locally, using bookmarks or clones and anonymous
+    branches.
+    Example: "The experimental branch".
+    (Verb) The action of creating a child changeset which results in its
+    parent having more than one child.
+    Example: "I'm going to branch at X".
+ 
+BRANCH, ANONYMOUS
+    Every time a new child changeset is created from a parent that is not
+    a head and the name of the branch is not changed, a new anonymous
+    branch is created.
+ 
+BRANCH, CLOSED
+    A named branch whose branch heads have all been closed.
+
+BRANCH, DEFAULT
+    The branch assigned to a changeset when no name has previously been
+    assigned.
+ 
+BRANCH HEAD
+    See 'Head, branch'.
+
+BRANCH, NAMED
+    A collection of changesets which have the same branch name. By
+    default, children of a changeset in a named branch belong to the same
+    named branch. A child can be explicitly assigned to a different
+    branch. See :hg:`help branch`, :hg:`help branches` and :hg:`commit`
+    --close-branch for more information on managing branches.  Named
+    branches can be thought of as a kind of namespace, dividing the
+    collection of changesets that comprise the repository into a
+    collection of disjoint subsets. Note that a named branch is not
+    necessarily a topological branch. If a new named branch is created
+    from the head of another named branch, or the default branch, but no
+    further changesets are added to that previous branch, then the new
+    named branch will be a branch in name only.
+ 
+BRANCH TIP
+    See 'Tip, branch'.
+
+BRANCH, TOPOLOGICAL
+    Every time a new child changeset is created from a parent that is not
+    a head, a new topological branch is created. If a topological branch
+    is named, it becomes a named branch. If a topological branch is not
+    named, it becomes an anonymous branch of the current, possibly
+    default, branch.
+ 
+CHANGELOG
+    A record of the changesets in the order in which they were added
+    to the repository. This includes details such as changeset id,
+    committer, commit message, date, and list of changed files.
+ 
+CHANGESET
+    A changeset is a snapshot of the state of the repository used to
+    record a change.
+ 
+CHANGESET, CHILD
+    A child changeset is a changeset which is defined in the graph as
+    having descended from one or two parent changesets. Specifically,
+    a child changeset of a changeset C is a changeset which lists C as
+    a parent.
+ 
+CHANGESET ID
+    A changeset id is a SHA1 hash that uniquely identifies a changeset. It
+    may be represented as either a "long" 40-byte hexadecimal string, or a
+    "short" 12-byte hexadecimal string.
+ 
+CHANGESET, MERGE
+    A changeset with two parents. This occurs when a merge is committed.
+
+CHANGESET, PARENT
+    A parent changeset is a revision upon which a child changeset is
+    based. Specifically, a parent changeset of a changeset C is a
+    changeset whose node immediately precedes C in the DAG. Changesets
+    have up to two parents.
+ 
+CHECKOUT
+    (Noun) The working directory having being updated to a specific
+    revision. This use should probably be avoided where possible, as
+    changeset is much more appropriate to Mercurial than checkout in this
+    context.
+    Example: "I'm using checkout X."
+    (Verb) Updating the working directory to a specific changeset. See
+    :hg:`help update`.
+    Example: "I'm going to check out changeset X."
+ 
+CHILD CHANGESET
+    See 'Changeset, child'.
+
+CLOSE CHANGESET
+    See 'Changeset, close'.
+
+CLOSED BRANCH
+    See 'Branch, closed'.
+
+CLONE
+    (Noun) An entire or partial copy of a repository. The partial clone
+    must be in the form of a revision and its ancestors.
+    Example: "Is your clone up to date?".
+    (Verb) The process of creating a clone, using :hg:`clone`.
+    Example: "I'm going to clone the repository".
+ 
+CLOSED BRANCH HEAD
+    See 'Head, closed branch'.
+
+COMMIT
+    (Noun) A synonym for changeset.
+    Example: "Is the bug fixed in your recent commit?"
+    (Verb) The act of recording changes to a repository. When files are
+    committed in a working directory, Mercurial finds the differences
+    between the committed files and their parent changeset, creating a new
+    changeset in the repository.
+    Example: "You should commit those changes now."
+ 
+CSET
+    This is a common abbreviation of the term changeset.
+
+DAG
+    The repository of changesets of a distributed version control system
+    (DVCS) can be described as a directed acyclic graph (DAG), consisting
+    of nodes and edges, where nodes correspond to changesets and edges
+    imply a parent -> child relation. This graph can be visualized by
+    graphical tools such as TortoiseHg or :hg:`glog` (graphlog). In
+    mercurial, the DAG is limited by the requirement for children to only
+    have either one or two parents.
+ 
+DEFAULT BRANCH
+    See 'Branch, default'.
+
+DESCENDANT
+    Any changeset that can be reached by a chain of child changesets from
+    a given changeset. More precisely, the descendants of a changeset can
+    be defined by two properties: the child of a changeset is a
+    descendant, and the child of a descendant is a descendant. See also:
+    'Ancestor'.
+ 
+DIFF
+    (Noun) The difference between the contents and attributes of files in
+    two changesets or a changeset and the current working directory. The
+    difference is usually represented in a standard form called a "diff"
+    or "patch". "git diff" is used when the changes include copies,
+    renames, or changes to file attributes, none of which can be
+    represented/handled by classic "diff" and "patch".
+    Example: "Did you see my correction in the diff?"
+    (Verb) Diffing two changesets is the action of creating a diff or
+    patch.
+    Example: "If you diff with changeset X, you will see what I mean."
+ 
+DIRECTORY, WORKING
+    The working directory represents the state of the files tracked by
+    Mercurial, that will be recorded in the next commit. The working
+    directory initially corresponds to the snapshot at an existing
+    changeset, known as the parent of the working directory. See 'Parents,
+    working directory'. The state may be modified by changes to the files
+    introduced manually or by a merge. The repository metadata exists in
+    the .hg directory inside the working directory.
+ 
+GRAPH
+    See DAG; see :hg:`help graphlog`.
+
+HEAD
+    The term Head may be used to refer to both a Branch head or a
+    Repository head, depending on the context. See 'Head', branch and
+    'Head, repository' for specific definitions. Heads are where
+    development generally takes place and are the usual targets for update
+    and merge operations.
+ 
+HEAD, BRANCH
+    A changeset with no descendents on the same named branch.
+
+HEAD, CLOSED BRANCH
+    A changeset that marks a head as no longer interesting. The closed
+    head is no longer listed by :hg:`heads`. A branch is considered closed
+    when all its heads are closed and consequently is not listed by
+    :hg:`branches`.
+ 
+HEAD, REPOSITORY
+    A topological head which has not been closed.
+
+HEAD, TOPOLOGICAL 
+    A changeset with no children in the repository.
+
+HISTORY, IMMUTABLE
+    Once committed, changesets cannot be altered. Extensions which change
+    the history actually create new changesets to supercede the old
+    changesets. Doing so in public repositories can result in old
+    changesets being reintroduced to the repository.
+ 
+HISTORY, REWRITING
+    The changesets in a repository are immutable. However, extensions to
+    Mercurial can be used to change alter the repository, usually in such
+    a way as to preserve changeset contents.
+ 
+IMMUTABLE HISTORY
+    See 'History, immutable'.
+
+MERGE CHANGESET
+    See 'Changeset, merge'.
+
+MANIFEST
+    Each changeset has a manifest, which is the list of files that are
+    tracked by the changeset.
+ 
+MERGE
+    Used to bring together divergent branches of work. When you update to
+    a changeset and then merge another changeset, you bring the history of
+    the latter changeset into your working directory. Once conflicts are
+    resolved (and marked), this merge may be committed as a merge
+    changeset, bringing two branches together in the DAG.
+ 
+NAMED BRANCH
+    See 'Branch, named'.
+
+NULL CHANGESET
+    The "null" changeset is the empty changeset. It is the parent state of
+    newly-initialized repositories and repositories with no checked out
+    revision. It is thus the parent of root changesets and the effective
+    ancestor when merging unrelated changesets. Can be specified by the
+    alias 'null' or by the changeset ID '000000000000'.
+ 
+PARENT
+    See 'Changeset, parent'.
+
+PARENT CHANGESET
+    See 'Changeset, parent'.
+
+PARENT, WORKING DIRECTORY
+    The working directory reflects a virtual revision which is the child
+    of the changeset (or two changesets with an uncommitted merge) shown
+    by :hg:`parents`. You change this with :hg:`update`. Other commands to
+    see the working directory parent are :hg:`summary` and :hg:`id`. Can
+    be specified by the alias "." .
+ 
+PATCH
+    (Noun) The product of a diff operation.  Example: "I've sent you my
+    patch."  (Verb) The process of using a patch file to transform one
+    changeset into another.  Example: "You will need to patch that
+    revision."
+ 
+PULL
+    An operation in which changesets in a remote repository which are not
+    in the local repository are brought into the local repository. Note
+    that this operation without special arguments only updates the
+    repository, it does not update the files in the working directory. See
+    :hg:`help pull`.
+ 
+PUSH
+    An operation in which changesets in a local repository which are not
+    in a remote repository are sent to the remote repository. Note that
+    this operation only adds changesets which have been committed locally
+    to the remote repository, uncomitted changes are not sent. See
+    :hg:`help push`.
+ 
+REPOSITORY
+    The metadata describing the state of a collection of files at
+    different points in time. Each time point is represented by a
+    changeset. A repository is usually (but not always) found in the `.hg`
+    subdirectory of a working directory. The files' state at any of these
+    time points can be recreated by "updating" a working copy to a
+    specific changeset in a repository.
+ 
+REPOSITORY HEAD
+    See 'Head, repository'.
+
+REVISION
+    This is a state of the repository at some point in time. Earlier
+    revisions can be updated to by using :hg:`update`.  See also 'Revision
+    number'; See also 'Changeset'.
+ 
+REVISION NUMBER
+    This integer uniquely identifies a changeset in a specific
+    repository. It represents the order in which changesets were added to
+    a repository, starting with revision number 0. Note that the revision
+    number may be different in each clone of a repository. To identify
+    changesets uniquely between different clones, see 'Changeset id'.
+ 
+REVLOG
+    History storage mechanism used by Mercurial. It is a form of delta
+    encoding, with occasional full revision of data followed by delta of
+    each successive revision. It includes data and an index pointing to
+    the data.
+ 
+REWRITING HISTORY
+    See  'History, rewriting'.
+
+ROOT
+    A changeset that has only the null changeset as its parent. Most
+    repositories have only a single root changeset.
+ 
+TIP
+    The changeset with the highest revision number. It is the changeset
+    most recently added in a repository.
+ 
+TIP, BRANCH
+    The head of a given branch with the highest revision number. When
+    a branch name is used as a revision identifier, it refers to the
+    branch tip. See also 'Branch, head'. Note that because revision
+    numbers may be different in different repository clones, the
+    branch tip may be different in different cloned repositories.
+ 
+UPDATE
+    (Noun) Another synonym of changeset.
+    Example:  "I've pushed an update".
+    (Verb) This term is usually used to describe updating the state of the
+    working directory to that of a specific changeset. See :hg:`help
+    update`.
+    Example: "You should update".
+ 
+WORKING DIRECTORY
+    See 'Directory, working'.
+
+WORKING DIRECTORY PARENT
+    See  'Parent, working directory'.
+


More information about the Mercurial-devel mailing list