[PATCH] help: add "glossary" topic
faheem at email.unc.edu
Wed Jun 16 04:55:12 CDT 2010
Resend of patch for help glossary topic. Thanks to comments from Greg
Ward, timeless, and Martin Geisler.
This is joint work with Vishakh Harikumar (vsh), Pradeepkumar Gayam
(in3xes), David Champion (dgc), Mark Booth (squirrel), timeless, Matt
Mackall (mpm), Heinrik Stuart (hstuart), Greg Ward (gward), and Martin
Geisler (mg), courtesy of piratepad and titanpad.
# HG changeset patch
# User Faheem Mitha <faheem at email.unc.edu>
# Date 1276681822 -19800
# Node ID e6787a37ef929a0c1801eab3da7225fb051822ad
# Parent 9011036ba79dfb1db741ca7fc7627fecce4e179f
help: add "glossary" topic
Joint work with Vishakh Harikumar, Pradeepkumar Gayam, David Champion,
Mark Booth, timeless, Matt Mackall, Heinrik Stuart, Greg Ward, and
diff -r 9011036ba79d -r e6787a37ef92 mercurial/help.py
--- a/mercurial/help.py Thu Jun 10 15:35:06 2010 +0200
+++ b/mercurial/help.py Wed Jun 16 15:20:22 2010 +0530
@@ -98,4 +98,5 @@
(['urls'], _('URL Paths'), loaddoc('urls')),
(["extensions"], _("Using additional features"), extshelp),
(["hgweb"], _("Configuring hgweb"), loaddoc('hgweb')),
+ (["glossary"], _("Glossary"), loaddoc('glossary')),
diff -r 9011036ba79d -r e6787a37ef92 mercurial/help/glossary.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mercurial/help/glossary.txt Wed Jun 16 15:20:22 2010 +0530
@@ -0,0 +1,357 @@
+ 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'.
+ (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".
+ 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.
+ A named branch whose branch heads have all been closed.
+ The branch assigned to a changeset when no name has previously been
+ See 'Head, branch'.
+ 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
+ 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. 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.
+ See 'Tip, branch'.
+ 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.
+ A record of the changesets in the order in which they were added
+ to the repository. This includes details such as changeset id,
+ author, commit message, date, and list of changed files.
+ A snapshot of the state of the repository used to record a change.
+ The converse of parent changeset: if P is a parent of C, then C is
+ a child of P. There is no limit to the number of children that a
+ changeset may have.
+ 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.
+ A changeset with two parents. This occurs when a merge 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 at most two
+ (Noun) The working directory being updated to a specific
+ revision. This use should probably be avoided where possible, as
+ changeset is much more appropriate 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."
+ See 'Changeset, child'.
+ See 'Changeset, close'.
+ See 'Branch, closed'.
+ (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'.
+ (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."
+ A common abbreviation of the term changeset.
+ 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 :hg:`glog`
+ (graphlog). In mercurial, the DAG is limited by the requirement
+ for children to have at most two parents.
+ See 'Branch, default'.
+ 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'.
+ (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". The "git diff" format 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
+ Example: "If you diff with changeset X, you will see what I mean."
+ 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.
+ See DAG and :hg:`help graphlog`.
+ 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.
+ A changeset with no descendants 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`.
+ A topological head which has not been closed.
+ A changeset with no children in the repository.
+ Once committed, changesets cannot be altered. Extensions which
+ appear to change history actually create new changesets that
+ replace existing ones, and then destroy the old changesets. Doing
+ so in public repositories can result in old changesets being
+ reintroduced to the repository.
+ The changesets in a repository are immutable. However, extensions
+ to Mercurial can be used to alter the repository, usually in such
+ a way as to preserve changeset contents.
+ See 'History, immutable'.
+ See 'Changeset, merge'.
+ Each changeset has a manifest, which is the list of files that are
+ tracked by the changeset.
+ 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.
+ See 'Branch, named'.
+ 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'.
+ See 'Changeset, parent'.
+ See 'Changeset, parent'.
+Parent, working directory
+ The working directory parent reflects a virtual revision which is
+ the child of the changeset (or two changesets with an uncommitted
+ merge) shown by :hg:`parents`. This is changed with
+ :hg:`update`. Other commands to see the working directory parent
+ are :hg:`summary` and :hg:`id`. Can be specified by the alias ".".
+ (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."
+ 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`.
+ 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. Uncommitted changes are not
+ sent. See :hg:`help push`.
+ The metadata describing all recorded states of a collection of
+ files. Each recorded state is represented by a changeset. A
+ repository is usually (but not always) found in the ``.hg``
+ subdirectory of a working directory. Any recorded state can be
+ recreated by "updating" a working directory to a specific
+ See 'Head, repository'.
+ 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'.
+ 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'.
+ 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.
+ See 'History, rewriting'.
+ A changeset that has only the null changeset as its parent. Most
+ repositories have only a single root changeset.
+ The changeset with the highest revision number. It is the changeset
+ most recently added in a repository.
+ 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.
+ (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".
+ See 'Directory, working'.
+Working directory parent
+ See 'Parent, working directory'.
More information about the Mercurial-devel