summaryrefslogtreecommitdiff
path: root/doc/hg.1
diff options
context:
space:
mode:
Diffstat (limited to 'doc/hg.1')
-rw-r--r--doc/hg.12615
1 files changed, 345 insertions, 2270 deletions
diff --git a/doc/hg.1 b/doc/hg.1
index fe7865d..ed09ec4 100644
--- a/doc/hg.1
+++ b/doc/hg.1
@@ -192,15 +192,13 @@ New files are ignored if they match any of the patterns in
\fB.hgignore\fP. As with add, these changes take effect at the next
commit.
.sp
-Use the \-s/\-\-similarity option to detect renamed files. This
+Use the \-s/\-\-similarity option to detect renamed files. With a
+parameter greater than 0, this compares every removed file with
+every added file and records those similar enough as renames. This
option takes a percentage between 0 (disabled) and 100 (files must
-be identical) as its parameter. With a parameter greater than 0,
-this compares every removed file with every added file and records
-those similar enough as renames. Detecting renamed files this way
+be identical) as its parameter. Detecting renamed files this way
can be expensive. After using this option, \%\fBhg status \-C\fP\: can be
-used to check which files were identified as moved or renamed. If
-not specified, \-s/\-\-similarity defaults to 100 and only renames of
-identical files are detected.
+used to check which files were identified as moved or renamed.
.sp
Returns 0 if all files are successfully added.
.sp
@@ -287,18 +285,6 @@ list the changeset
.
show line number at the first appearance
.TP
-.B \-w, \-\-ignore\-all\-space
-.
-ignore white space when comparing lines
-.TP
-.B \-b, \-\-ignore\-space\-change
-.
-ignore changes in the amount of white space
-.TP
-.B \-B, \-\-ignore\-blank\-lines
-.
-ignore changes whose lines are all blank
-.TP
.B \-I, \-\-include
.
include names matching the given patterns
@@ -323,28 +309,6 @@ directory; use \-r/\-\-rev to specify a different revision.
The archive type is automatically detected based on file
extension (or override using \-t/\-\-type).
.sp
-Examples:
-.INDENT 0.0
-.IP \(bu 2
-.
-create a zip file containing the 1.0 release:
-.sp
-.nf
-.ft C
-hg archive \-r 1.0 project\-1.0.zip
-.ft P
-.fi
-.IP \(bu 2
-.
-create a tarball excluding .hg files:
-.sp
-.nf
-.ft C
-hg archive project.tar.gz \-X ".hg*"
-.ft P
-.fi
-.UNINDENT
-.sp
Valid types are:
.INDENT 0.0
.TP
@@ -428,21 +392,16 @@ current working directory.
If REV is the parent of the working directory, then this new changeset
is committed automatically. Otherwise, hg needs to merge the
changes and the merged result is left uncommitted.
-.IP Note
-.
-backout cannot be used to fix either an unwanted or
-incorrect merge.
-.RE
.sp
By default, the pending changeset will have one parent,
-maintaining a linear history. With \-\-merge, the pending
-changeset will instead have two parents: the old parent of the
-working directory and a new child of REV that simply undoes REV.
+maintaining a linear history. With \-\-merge, the pending changeset
+will instead have two parents: the old parent of the working
+directory and a new child of REV that simply undoes REV.
.sp
-Before version 1.7, the behavior without \-\-merge was equivalent
-to specifying \-\-merge followed by \%\fBhg update \-\-clean .\fP\: to
-cancel the merge and leave the child of REV as a head to be
-merged separately.
+Before version 1.7, the behavior without \-\-merge was equivalent to
+specifying \-\-merge followed by \%\fBhg update \-\-clean .\fP\: to cancel
+the merge and leave the child of REV as a head to be merged
+separately.
.sp
See \%\fBhg help dates\fP\: for a list of formats valid for \-d/\-\-date.
.sp
@@ -457,16 +416,16 @@ merge with old dirstate parent after backout
.TP
.B \-\-parent
.
-parent to choose when backing out merge (DEPRECATED)
-.TP
-.B \-r, \-\-rev
-.
-revision to backout
+parent to choose when backing out merge
.TP
.B \-t, \-\-tool
.
specify merge tool
.TP
+.B \-r, \-\-rev
+.
+revision to backout
+.TP
.B \-I, \-\-include
.
include names matching the given patterns
@@ -512,110 +471,10 @@ As a shortcut, you can also use the revision argument to mark a
revision as good or bad without checking it out first.
.sp
If you supply a command, it will be used for automatic bisection.
-The environment variable HG_NODE will contain the ID of the
-changeset being tested. The exit status of the command will be
-used to mark revisions as good or bad: status 0 means good, 125
-means to skip the revision, 127 (command not found) will abort the
-bisection, and any other non\-zero exit status means the revision
-is bad.
-.sp
-Some examples:
-.INDENT 0.0
-.IP \(bu 2
-.
-start a bisection with known bad revision 12, and good revision 34:
-.sp
-.nf
-.ft C
-hg bisect \-\-bad 34
-hg bisect \-\-good 12
-.ft P
-.fi
-.IP \(bu 2
-.
-advance the current bisection by marking current revision as good or
-bad:
-.sp
-.nf
-.ft C
-hg bisect \-\-good
-hg bisect \-\-bad
-.ft P
-.fi
-.IP \(bu 2
-.
-mark the current revision, or a known revision, to be skipped (eg. if
-that revision is not usable because of another issue):
-.sp
-.nf
-.ft C
-hg bisect \-\-skip
-hg bisect \-\-skip 23
-.ft P
-.fi
-.IP \(bu 2
-.
-forget the current bisection:
-.sp
-.nf
-.ft C
-hg bisect \-\-reset
-.ft P
-.fi
-.IP \(bu 2
-.
-use \(aqmake && make tests\(aq to automatically find the first broken
-revision:
-.sp
-.nf
-.ft C
-hg bisect \-\-reset
-hg bisect \-\-bad 34
-hg bisect \-\-good 12
-hg bisect \-\-command \(aqmake && make tests\(aq
-.ft P
-.fi
-.IP \(bu 2
-.
-see all changesets whose states are already known in the current
-bisection:
-.sp
-.nf
-.ft C
-hg log \-r "bisect(pruned)"
-.ft P
-.fi
-.IP \(bu 2
-.
-see the changeset currently being bisected (especially useful
-if running with \-U/\-\-noupdate):
-.sp
-.nf
-.ft C
-hg log \-r "bisect(current)"
-.ft P
-.fi
-.IP \(bu 2
-.
-see all changesets that took part in the current bisection:
-.sp
-.nf
-.ft C
-hg log \-r "bisect(range)"
-.ft P
-.fi
-.IP \(bu 2
-.
-with the graphlog extension, you can even get a nice graph:
-.sp
-.nf
-.ft C
-hg log \-\-graph \-r "bisect(range)"
-.ft P
-.fi
-.UNINDENT
-.sp
-See \%\fBhg help revsets\fP\: for more about the \fIbisect()\fP keyword.
+Its exit status will be used to mark revisions as good or bad:
+status 0 means good, 125 means to skip the revision, 127
+(command not found) will abort the bisection, and any other
+non\-zero exit status means the revision is bad.
.sp
Returns 0 on success.
.sp
@@ -658,10 +517,10 @@ hg bookmarks [\-f] [\-d] [\-i] [\-m NAME] [\-r REV] [NAME]
.ft P
.fi
.sp
-Bookmarks are pointers to certain commits that move when committing.
-Bookmarks are local. They can be renamed, copied and deleted. It is
-possible to use \%\fBhg merge NAME\fP\: to merge from a given bookmark, and
-\%\fBhg update NAME\fP\: to update to a given bookmark.
+Bookmarks are pointers to certain commits that move when
+committing. Bookmarks are local. They can be renamed, copied and
+deleted. It is possible to use bookmark names in \%\fBhg merge\fP\: and
+\%\fBhg update\fP\: to merge and update respectively to a given bookmark.
.sp
You can use \%\fBhg bookmark NAME\fP\: to set a bookmark on the working
directory\(aqs parent revision with the given name. If you specify
@@ -673,11 +532,6 @@ push\fP\: and \%\fBhg help pull\fP\:). This requires both the local and remote
repositories to support bookmarks. For versions prior to 1.8, this means
the bookmarks extension must be enabled.
.sp
-With \-i/\-\-inactive, the new bookmark will not be made the active
-bookmark. If \-r/\-\-rev is given, the new bookmark will not be made
-active even if \-i/\-\-inactive is not given. If no NAME is given, the
-current active bookmark will be marked inactive.
-.sp
Options:
.INDENT 0.0
.TP
@@ -699,7 +553,7 @@ rename a given bookmark
.TP
.B \-i, \-\-inactive
.
-mark a bookmark inactive
+do not mark a new bookmark active
.UNINDENT
.SS branch
.sp
@@ -708,12 +562,6 @@ mark a bookmark inactive
hg branch [\-fC] [NAME]
.ft P
.fi
-.IP Note
-.
-Branch names are permanent and global. Use \%\fBhg bookmark\fP\: to create a
-light\-weight bookmark instead. See \%\fBhg help glossary\fP\: for more
-information about named branches and bookmarks.
-.RE
.sp
With no argument, show the current branch name. With one argument,
set the working directory branch name (the branch will not exist
@@ -730,6 +578,12 @@ change.
.sp
Use the command \%\fBhg update\fP\: to switch to an existing branch. Use
\%\fBhg commit \-\-close\-branch\fP\: to mark this branch as closed.
+.IP Note
+.
+Branch names are permanent. Use \%\fBhg bookmark\fP\: to create a
+light\-weight bookmark instead. See \%\fBhg help glossary\fP\: for more
+information about named branches and bookmarks.
+.RE
.sp
Returns 0 on success.
.sp
@@ -914,30 +768,33 @@ basename of the source.
The location of the source is added to the new repository\(aqs
\fB.hg/hgrc\fP file, as the default to be used for future pulls.
.sp
-Only local paths and \fBssh://\fP URLs are supported as
-destinations. For \fBssh://\fP destinations, no working directory or
-\fB.hg/hgrc\fP will be created on the remote side.
+See \%\fBhg help urls\fP\: for valid source format details.
+.sp
+It is possible to specify an \fBssh://\fP URL as the destination, but no
+\fB.hg/hgrc\fP and working directory will be created on the remote side.
+Please see \%\fBhg help urls\fP\: for important details about \fBssh://\fP URLs.
.sp
-To pull only a subset of changesets, specify one or more revisions
-identifiers with \-r/\-\-rev or branches with \-b/\-\-branch. The
-resulting clone will contain only the specified changesets and
-their ancestors. These options (or \(aqclone src#rev dest\(aq) imply
-\-\-pull, even for local source repositories. Note that specifying a
-tag will include the tagged changeset but not the changeset
-containing the tag.
+A set of changesets (tags, or branch names) to pull may be specified
+by listing each changeset (tag, or branch name) with \-r/\-\-rev.
+If \-r/\-\-rev is used, the cloned repository will contain only a subset
+of the changesets of the source repository. Only the set of changesets
+defined by all \-r/\-\-rev options (including all their ancestors)
+will be pulled into the destination repository.
+No subsequent changesets (including subsequent tags) will be present
+in the destination.
.sp
-To check out a particular version, use \-u/\-\-update, or
-\-U/\-\-noupdate to create a clone with no working directory.
+Using \-r/\-\-rev (or \(aqclone src#rev dest\(aq) implies \-\-pull, even for
+local source repositories.
.sp
-For efficiency, hardlinks are used for cloning whenever the
-source and destination are on the same filesystem (note this
-applies only to the repository data, not to the working
-directory). Some filesystems, such as AFS, implement hardlinking
-incorrectly, but do not report errors. In these cases, use the
-\-\-pull option to avoid hardlinking.
+For efficiency, hardlinks are used for cloning whenever the source
+and destination are on the same filesystem (note this applies only
+to the repository data, not to the working directory). Some
+filesystems, such as AFS, implement hardlinking incorrectly, but
+do not report errors. In these cases, use the \-\-pull option to
+avoid hardlinking.
.sp
-In some cases, you can clone repositories and the working
-directory using full hardlinks with
+In some cases, you can clone repositories and the working directory
+using full hardlinks with
.sp
.nf
.ft C
@@ -947,10 +804,10 @@ $ cp \-al REPO REPOCLONE
.sp
This is the fastest way to clone, but it is not always safe. The
operation is not atomic (making sure REPO is not modified during
-the operation is up to you) and you have to make sure your
-editor breaks hardlinks (Emacs and most Linux Kernel tools do
-so). Also, this is not compatible with certain extensions that
-place their metadata under the .hg directory, such as mq.
+the operation is up to you) and you have to make sure your editor
+breaks hardlinks (Emacs and most Linux Kernel tools do so). Also,
+this is not compatible with certain extensions that place their
+metadata under the .hg directory, such as mq.
.sp
Mercurial will update the working directory to the first applicable
revision from this list:
@@ -983,67 +840,6 @@ the tipmost head of the default branch
tip
.UNINDENT
.sp
-Examples:
-.INDENT 0.0
-.IP \(bu 2
-.
-clone a remote repository to a new directory named hg/:
-.sp
-.nf
-.ft C
-hg clone http://selenic.com/hg
-.ft P
-.fi
-.IP \(bu 2
-.
-create a lightweight local clone:
-.sp
-.nf
-.ft C
-hg clone project/ project\-feature/
-.ft P
-.fi
-.IP \(bu 2
-.
-clone from an absolute path on an ssh server (note double\-slash):
-.sp
-.nf
-.ft C
-hg clone ssh://user@server//home/projects/alpha/
-.ft P
-.fi
-.IP \(bu 2
-.
-do a high\-speed clone over a LAN while checking out a
-specified version:
-.sp
-.nf
-.ft C
-hg clone \-\-uncompressed http://server/repo \-u 1.5
-.ft P
-.fi
-.IP \(bu 2
-.
-create a repository without changesets after a particular revision:
-.sp
-.nf
-.ft C
-hg clone \-r 04e544 experimental/ good/
-.ft P
-.fi
-.IP \(bu 2
-.
-clone (and track) a particular named branch:
-.sp
-.nf
-.ft C
-hg clone http://selenic.com/hg#stable
-.ft P
-.fi
-.UNINDENT
-.sp
-See \%\fBhg help urls\fP\: for details on specifying URLs.
-.sp
Returns 0 on success.
.sp
Options:
@@ -1108,20 +904,6 @@ configured editor where you can enter a message. In case your
commit fails, you will find a backup of your message in
\fB.hg/last\-message.txt\fP.
.sp
-The \-\-amend flag can be used to amend the parent of the
-working directory with a new commit that contains the changes
-in the parent in addition to those currently reported by \%\fBhg status\fP\:,
-if there are any. The old commit is stored in a backup bundle in
-\fB.hg/strip\-backup\fP (see \%\fBhg help bundle\fP\: and \%\fBhg help unbundle\fP\:
-on how to restore it).
-.sp
-Message, user and date are taken from the amended commit unless
-specified. When a message isn\(aqt specified on the command line,
-the editor will open with the message of the amended commit.
-.sp
-It is not possible to amend public changesets (see \%\fBhg help phases\fP\:)
-or changesets that have children.
-.sp
See \%\fBhg help dates\fP\: for a list of formats valid for \-d/\-\-date.
.sp
Returns 0 on success, 1 if nothing changed.
@@ -1137,10 +919,6 @@ mark new/missing files as added/removed before committing
.
mark a branch as closed, hiding it from the branch list
.TP
-.B \-\-amend
-.
-amend the parent of the working dir
-.TP
.B \-I, \-\-include
.
include names matching the given patterns
@@ -1164,10 +942,6 @@ record the specified date as commit date
.B \-u, \-\-user
.
record the specified user as committer
-.TP
-.B \-S, \-\-subrepos
-.
-recurse into subrepositories
.sp
aliases: ci
.UNINDENT
@@ -1251,57 +1025,6 @@ anyway, probably with undesirable results.
Use the \-g/\-\-git option to generate diffs in the git extended diff
format. For more information, read \%\fBhg help diffs\fP\:.
.sp
-Examples:
-.INDENT 0.0
-.IP \(bu 2
-.
-compare a file in the current working directory to its parent:
-.sp
-.nf
-.ft C
-hg diff foo.c
-.ft P
-.fi
-.IP \(bu 2
-.
-compare two historical versions of a directory, with rename info:
-.sp
-.nf
-.ft C
-hg diff \-\-git \-r 1.0:1.2 lib/
-.ft P
-.fi
-.IP \(bu 2
-.
-get change stats relative to the last change on some date:
-.sp
-.nf
-.ft C
-hg diff \-\-stat \-r "date(\(aqmay 2\(aq)"
-.ft P
-.fi
-.IP \(bu 2
-.
-diff all newly\-added files that contain a keyword:
-.sp
-.nf
-.ft C
-hg diff "set:added() and grep(GNU)"
-.ft P
-.fi
-.IP \(bu 2
-.
-compare a revision and its parents:
-.sp
-.nf
-.ft C
-hg diff \-c 9353 # compare against first parent
-hg diff \-r 9353^:9353 # same using revset syntax
-hg diff \-r 9353^2:9353 # compare against the second parent
-.ft P
-.fi
-.UNINDENT
-.sp
Returns 0 on success.
.sp
Options:
@@ -1371,7 +1094,7 @@ recurse into subrepositories
.sp
.nf
.ft C
-hg export [OPTION]... [\-o OUTFILESPEC] [\-r] REV...
+hg export [OPTION]... [\-o OUTFILESPEC] REV...
.ft P
.fi
.sp
@@ -1415,10 +1138,6 @@ basename of the exporting repository
.sp
short\-form changeset hash (12 hexadecimal digits)
.TP
-.B \fB%m\fP
-.sp
-first line of the commit message (only alphanumeric characters)
-.TP
.B \fB%n\fP
.sp
zero\-padded sequence number, starting at 1
@@ -1438,40 +1157,6 @@ format. See \%\fBhg help diffs\fP\: for more information.
With the \-\-switch\-parent option, the diff will be against the
second parent. It can be useful to review a merge.
.sp
-Examples:
-.INDENT 0.0
-.IP \(bu 2
-.
-use export and import to transplant a bugfix to the current
-branch:
-.sp
-.nf
-.ft C
-hg export \-r 9353 | hg import \-
-.ft P
-.fi
-.IP \(bu 2
-.
-export all the changesets between two revisions to a file with
-rename information:
-.sp
-.nf
-.ft C
-hg export \-\-git \-r 123:150 > changes.txt
-.ft P
-.fi
-.IP \(bu 2
-.
-split outgoing changes into a series of patches with
-descriptive names:
-.sp
-.nf
-.ft C
-hg export \-r "outgoing()" \-o "%n\-%m.patch"
-.ft P
-.fi
-.UNINDENT
-.sp
Returns 0 on success.
.sp
Options:
@@ -1518,28 +1203,6 @@ working directory.
.sp
To undo a forget before the next commit, see \%\fBhg add\fP\:.
.sp
-Examples:
-.INDENT 0.0
-.IP \(bu 2
-.
-forget newly\-added binary files:
-.sp
-.nf
-.ft C
-hg forget "set:added() and binary()"
-.ft P
-.fi
-.IP \(bu 2
-.
-forget files that would be excluded by .hgignore:
-.sp
-.nf
-.ft C
-hg forget "set:hgignore()"
-.ft P
-.fi
-.UNINDENT
-.sp
Returns 0 on success.
.sp
Options:
@@ -1553,127 +1216,6 @@ include names matching the given patterns
.
exclude names matching the given patterns
.UNINDENT
-.SS graft
-.sp
-.nf
-.ft C
-hg graft [OPTION]... [\-r] REV...
-.ft P
-.fi
-.sp
-This command uses Mercurial\(aqs merge logic to copy individual
-changes from other branches without merging branches in the
-history graph. This is sometimes known as \(aqbackporting\(aq or
-\(aqcherry\-picking\(aq. By default, graft will copy user, date, and
-description from the source changesets.
-.sp
-Changesets that are ancestors of the current revision, that have
-already been grafted, or that are merges will be skipped.
-.sp
-If \-\-log is specified, log messages will have a comment appended
-of the form:
-.sp
-.nf
-.ft C
-(grafted from CHANGESETHASH)
-.ft P
-.fi
-.sp
-If a graft merge results in conflicts, the graft process is
-interrupted so that the current merge can be manually resolved.
-Once all conflicts are addressed, the graft process can be
-continued with the \-c/\-\-continue option.
-.IP Note
-.
-The \-c/\-\-continue option does not reapply earlier options.
-.RE
-.sp
-Examples:
-.INDENT 0.0
-.IP \(bu 2
-.
-copy a single change to the stable branch and edit its description:
-.sp
-.nf
-.ft C
-hg update stable
-hg graft \-\-edit 9393
-.ft P
-.fi
-.IP \(bu 2
-.
-graft a range of changesets with one exception, updating dates:
-.sp
-.nf
-.ft C
-hg graft \-D "2085::2093 and not 2091"
-.ft P
-.fi
-.IP \(bu 2
-.
-continue a graft after resolving conflicts:
-.sp
-.nf
-.ft C
-hg graft \-c
-.ft P
-.fi
-.IP \(bu 2
-.
-show the source of a grafted changeset:
-.sp
-.nf
-.ft C
-hg log \-\-debug \-r tip
-.ft P
-.fi
-.UNINDENT
-.sp
-Returns 0 on successful completion.
-.sp
-Options:
-.INDENT 0.0
-.TP
-.B \-r, \-\-rev
-.
-revisions to graft
-.TP
-.B \-c, \-\-continue
-.
-resume interrupted graft
-.TP
-.B \-e, \-\-edit
-.
-invoke editor on commit messages
-.TP
-.B \-\-log
-.
-append graft info to log message
-.TP
-.B \-D, \-\-currentdate
-.
-record the current date as commit date
-.TP
-.B \-U, \-\-currentuser
-.
-record the current user as committer
-.TP
-.B \-d, \-\-date
-.
-record the specified date as commit date
-.TP
-.B \-u, \-\-user
-.
-record the specified user as committer
-.TP
-.B \-t, \-\-tool
-.
-specify merge tool
-.TP
-.B \-n, \-\-dry\-run
-.
-do not perform actions, just print output
-.UNINDENT
.SS grep
.sp
.nf
@@ -1752,7 +1294,7 @@ exclude names matching the given patterns
.sp
.nf
.ft C
-hg heads [\-ct] [\-r STARTREV] [REV]...
+hg heads [\-ac] [\-r STARTREV] [REV]...
.ft P
.fi
.sp
@@ -1831,10 +1373,6 @@ show only help for extensions
.B \-c, \-\-command
.
show only help for commands
-.TP
-.B \-k, \-\-keyword
-.
-show topics matching keyword
.UNINDENT
.SS identify
.sp
@@ -1855,37 +1393,6 @@ repository.
Specifying a path to a repository root or Mercurial bundle will
cause lookup to operate on that repository/bundle.
.sp
-Examples:
-.INDENT 0.0
-.IP \(bu 2
-.
-generate a build identifier for the working directory:
-.sp
-.nf
-.ft C
-hg id \-\-id > build\-id.dat
-.ft P
-.fi
-.IP \(bu 2
-.
-find the revision corresponding to a tag:
-.sp
-.nf
-.ft C
-hg id \-n \-r 1.3
-.ft P
-.fi
-.IP \(bu 2
-.
-check the most recent revision of a remote repository:
-.sp
-.nf
-.ft C
-hg id \-r tip http://selenic.com/hg/
-.ft P
-.fi
-.UNINDENT
-.sp
Returns 0 if successful.
.sp
Options:
@@ -1914,18 +1421,6 @@ show tags
.B \-B, \-\-bookmarks
.
show bookmarks
-.TP
-.B \-e, \-\-ssh
-.
-specify ssh command to use
-.TP
-.B \-\-remotecmd
-.
-specify hg command to run on the remote side
-.TP
-.B \-\-insecure
-.
-do not verify server certificate (ignoring web.cacerts config)
.sp
aliases: id
.UNINDENT
@@ -1967,53 +1462,12 @@ patches will be applied on top of the working directory parent
revision.
.sp
With \-s/\-\-similarity, hg will attempt to discover renames and
-copies in the patch in the same way as \%\fBhg addremove\fP\:.
+copies in the patch in the same way as \(aqaddremove\(aq.
.sp
To read a patch from standard input, use "\-" as the patch name. If
a URL is specified, the patch will be downloaded from it.
See \%\fBhg help dates\fP\: for a list of formats valid for \-d/\-\-date.
.sp
-Examples:
-.INDENT 0.0
-.IP \(bu 2
-.
-import a traditional patch from a website and detect renames:
-.sp
-.nf
-.ft C
-hg import \-s 80 http://example.com/bugfix.patch
-.ft P
-.fi
-.IP \(bu 2
-.
-import a changeset from an hgweb server:
-.sp
-.nf
-.ft C
-hg import http://www.selenic.com/hg/rev/5ca8c111e9aa
-.ft P
-.fi
-.IP \(bu 2
-.
-import all the patches in an Unix\-style mbox:
-.sp
-.nf
-.ft C
-hg import incoming\-patches.mbox
-.ft P
-.fi
-.IP \(bu 2
-.
-attempt to exactly restore an exported changeset (not always
-possible):
-.sp
-.nf
-.ft C
-hg import \-\-exact proposed\-fix.patch
-.ft P
-.fi
-.UNINDENT
-.sp
Returns 0 on success.
.sp
Options:
@@ -2027,10 +1481,6 @@ directory strip option for patch. This has the same meaning as the corresponding
.
base path (DEPRECATED)
.TP
-.B \-e, \-\-edit
-.
-invoke editor on commit messages
-.TP
.B \-f, \-\-force
.
skip check for outstanding uncommitted changes
@@ -2139,10 +1589,6 @@ do not show merges
.
output diffstat\-style summary of changes
.TP
-.B \-G, \-\-graph
-.
-show the revision DAG
-.TP
.B \-\-style
.
display using template map file
@@ -2261,14 +1707,18 @@ hg log [OPTION]... [FILE]
Print the revision history of the specified files or the entire
project.
.sp
-If no revision range is specified, the default is \fBtip:0\fP unless
-\-\-follow is set, in which case the working directory parent is
-used as the starting revision.
-.sp
File history is shown without following rename or copy history of
files. Use \-f/\-\-follow with a filename to follow history across
renames and copies. \-\-follow without a filename will only show
-ancestors or descendants of the starting revision.
+ancestors or descendants of the starting revision. \-\-follow\-first
+only follows the first parent of merge revisions.
+.sp
+If no revision range is specified, the default is \fBtip:0\fP unless
+\-\-follow is set, in which case the working directory parent is
+used as the starting revision. You can specify a revision set for
+log, see \%\fBhg help revsets\fP\: for more information.
+.sp
+See \%\fBhg help dates\fP\: for a list of formats valid for \-d/\-\-date.
.sp
By default this command prints revision number and changeset id,
tags, non\-trivial parents, user, date and time, and a summary for
@@ -2281,106 +1731,6 @@ changesets, as it will only compare the merge changeset against
its first parent. Also, only files different from BOTH parents
will appear in files:.
.RE
-.IP Note
-.
-for performance reasons, log FILE may omit duplicate changes
-made on branches and will not show deletions. To see all
-changes including duplicates and deletions, use the \-\-removed
-switch.
-.RE
-.sp
-Some examples:
-.INDENT 0.0
-.IP \(bu 2
-.
-changesets with full descriptions and file lists:
-.sp
-.nf
-.ft C
-hg log \-v
-.ft P
-.fi
-.IP \(bu 2
-.
-changesets ancestral to the working directory:
-.sp
-.nf
-.ft C
-hg log \-f
-.ft P
-.fi
-.IP \(bu 2
-.
-last 10 commits on the current branch:
-.sp
-.nf
-.ft C
-hg log \-l 10 \-b .
-.ft P
-.fi
-.IP \(bu 2
-.
-changesets showing all modifications of a file, including removals:
-.sp
-.nf
-.ft C
-hg log \-\-removed file.c
-.ft P
-.fi
-.IP \(bu 2
-.
-all changesets that touch a directory, with diffs, excluding merges:
-.sp
-.nf
-.ft C
-hg log \-Mp lib/
-.ft P
-.fi
-.IP \(bu 2
-.
-all revision numbers that match a keyword:
-.sp
-.nf
-.ft C
-hg log \-k bug \-\-template "{rev}\en"
-.ft P
-.fi
-.IP \(bu 2
-.
-check if a given changeset is included is a tagged release:
-.sp
-.nf
-.ft C
-hg log \-r "a21ccf and ancestor(1.9)"
-.ft P
-.fi
-.IP \(bu 2
-.
-find all changesets by some user in a date range:
-.sp
-.nf
-.ft C
-hg log \-k alice \-d "may 2008 to jul 2008"
-.ft P
-.fi
-.IP \(bu 2
-.
-summary of all changesets after the last tag:
-.sp
-.nf
-.ft C
-hg log \-r "last(tagged())::" \-\-template "{desc|firstline}\en"
-.ft P
-.fi
-.UNINDENT
-.sp
-See \%\fBhg help dates\fP\: for a list of formats valid for \-d/\-\-date.
-.sp
-See \%\fBhg help revisions\fP\: and \%\fBhg help revsets\fP\: for more about
-specifying revisions.
-.sp
-See \%\fBhg help templates\fP\: for more about pre\-packaged styles and
-specifying custom templates.
.sp
Returns 0 on success.
.sp
@@ -2393,7 +1743,7 @@ follow changeset history, or file history across copies and renames
.TP
.B \-\-follow\-first
.
-only follow the first parent of merge changesets (DEPRECATED)
+only follow the first parent of merge changesets
.TP
.B \-d, \-\-date
.
@@ -2417,7 +1767,7 @@ include revisions where files were removed
.TP
.B \-m, \-\-only\-merges
.
-show only merges (DEPRECATED)
+show only merges
.TP
.B \-u, \-\-user
.
@@ -2437,7 +1787,7 @@ do not display revision or any of its ancestors
.TP
.B \-\-hidden
.
-show hidden changesets (DEPRECATED)
+show hidden changesets
.TP
.B \-p, \-\-patch
.
@@ -2459,10 +1809,6 @@ do not show merges
.
output diffstat\-style summary of changes
.TP
-.B \-G, \-\-graph
-.
-show the revision DAG
-.TP
.B \-\-style
.
display using template map file
@@ -2552,6 +1898,10 @@ Options:
.
force a merge with outstanding changes
.TP
+.B \-t, \-\-tool
+.
+specify merge tool
+.TP
.B \-r, \-\-rev
.
revision to merge
@@ -2559,10 +1909,6 @@ revision to merge
.B \-P, \-\-preview
.
review revisions to merge (no merge is performed)
-.TP
-.B \-t, \-\-tool
-.
-specify merge tool
.UNINDENT
.SS outgoing
.sp
@@ -2623,10 +1969,6 @@ do not show merges
.
output diffstat\-style summary of changes
.TP
-.B \-G, \-\-graph
-.
-show the revision DAG
-.TP
.B \-\-style
.
display using template map file
@@ -2716,54 +2058,6 @@ source is written as \fBdefault\fP in \fB.hg/hgrc\fP. Note that
See \%\fBhg help urls\fP\: for more information.
.sp
Returns 0 on success.
-.SS phase
-.sp
-.nf
-.ft C
-hg phase [\-p|\-d|\-s] [\-f] [\-r] REV...
-.ft P
-.fi
-.sp
-With no argument, show the phase name of specified revisions.
-.sp
-With one of \-p/\-\-public, \-d/\-\-draft or \-s/\-\-secret, change the
-phase value of the specified revisions.
-.sp
-Unless \-f/\-\-force is specified, \%\fBhg phase\fP\: won\(aqt move changeset from a
-lower phase to an higher phase. Phases are ordered as follows:
-.sp
-.nf
-.ft C
-public < draft < secret
-.ft P
-.fi
-.sp
-Return 0 on success, 1 if no phases were changed or some could not
-be changed.
-.sp
-Options:
-.INDENT 0.0
-.TP
-.B \-p, \-\-public
-.
-set changeset phase to public
-.TP
-.B \-d, \-\-draft
-.
-set changeset phase to draft
-.TP
-.B \-s, \-\-secret
-.
-set changeset phase to secret
-.TP
-.B \-f, \-\-force
-.
-allow to move boundary backward
-.TP
-.B \-r, \-\-rev
-.
-target revision
-.UNINDENT
.SS pull
.sp
.nf
@@ -2853,10 +2147,6 @@ changesets on all branches.
If \-r/\-\-rev is used, the specified revision and all its ancestors
will be pushed to the remote repository.
.sp
-If \-B/\-\-bookmark is used, the specified bookmarked revision, its
-ancestors, and the bookmark will be pushed to the remote
-repository.
-.sp
Please see \%\fBhg help urls\fP\: for important details about \fBssh://\fP
URLs. If DESTINATION is omitted, a default path will be used.
.sp
@@ -2920,86 +2210,36 @@ hg remove [OPTION]... FILE...
.ft P
.fi
.sp
-Schedule the indicated files for removal from the current branch.
-.sp
-This command schedules the files to be removed at the next commit.
-To undo a remove before that, see \%\fBhg revert\fP\:. To undo added
-files, see \%\fBhg forget\fP\:.
+Schedule the indicated files for removal from the repository.
.sp
-\-A/\-\-after can be used to remove only files that have already
-been deleted, \-f/\-\-force can be used to force deletion, and \-Af
-can be used to remove files from the next revision without
-deleting them from the working directory.
+This only removes files from the current branch, not from the
+entire project history. \-A/\-\-after can be used to remove only
+files that have already been deleted, \-f/\-\-force can be used to
+force deletion, and \-Af can be used to remove files from the next
+revision without deleting them from the working directory.
.sp
The following table details the behavior of remove for different
file states (columns) and option combinations (rows). The file
-states are Added [A], Clean [C], Modified [M] and Missing [!]
-(as reported by \%\fBhg status\fP\:). The actions are Warn, Remove
-(from branch) and Delete (from disk):
-.TS
-center;
-|l|l|l|l|l|.
-_
-T{
-T} T{
-T} T{
-T} T{
-T} T{
-T}
-_
-T{
-none
-T} T{
-W
-T} T{
-RD
-T} T{
-W
-T} T{
-R
-T}
-_
-T{
-\-f
-T} T{
-R
-T} T{
-RD
-T} T{
-RD
-T} T{
-R
-T}
-_
-T{
-\-A
-T} T{
-W
-T} T{
-W
-T} T{
-W
-T} T{
-R
-T}
-_
-T{
-\-Af
-T} T{
-R
-T} T{
-R
-T} T{
-R
-T} T{
-R
-T}
-_
-.TE
+states are Added [A], Clean [C], Modified [M] and Missing [!] (as
+reported by \%\fBhg status\fP\:). The actions are Warn, Remove (from
+branch) and Delete (from disk):
+.sp
+.nf
+.ft C
+ A C M !
+none W RD W R
+\-f R RD RD R
+\-A W W W R
+\-Af R R R R
+.ft P
+.fi
.sp
Note that remove never deletes files in Added [A] state from the
working directory, not even if option \-\-force is specified.
.sp
+This command schedules the files to be removed at the next commit.
+To undo a remove before that, see \%\fBhg revert\fP\:.
+.sp
Returns 0 on success, 1 if any warnings encountered.
.sp
Options:
@@ -3082,8 +2322,7 @@ non\-interactive merging using the \fBinternal:merge\fP configuration
setting, or a command\-line merge tool like \fBdiff3\fP. The resolve
command is used to manage the files involved in a merge, after
\%\fBhg merge\fP\: has been run, and before \%\fBhg commit\fP\: is run (i.e. the
-working directory must have two parents). See \%\fBhg help
-merge\-tools\fP\: for information on configuring merge tools.
+working directory must have two parents).
.sp
The resolve command can be used in the following ways:
.INDENT 0.0
@@ -3094,8 +2333,7 @@ files, discarding any previous merge attempts. Re\-merging is not
performed for files already marked as resolved. Use \fB\-\-all/\-a\fP
to select all unresolved files. \fB\-\-tool\fP can be used to specify
the merge tool used for the given files. It overrides the HGMERGE
-environment variable and your configuration files. Previous file
-contents are saved with a \fB.orig\fP suffix.
+environment variable and your configuration files.
.IP \(bu 2
.
\%\fBhg resolve \-m [FILE]\fP\:: mark a file as having been resolved
@@ -3136,14 +2374,14 @@ mark files as resolved
.
mark files as unresolved
.TP
-.B \-n, \-\-no\-status
-.
-hide status prefix
-.TP
.B \-t, \-\-tool
.
specify merge tool
.TP
+.B \-n, \-\-no\-status
+.
+hide status prefix
+.TP
.B \-I, \-\-include
.
include names matching the given patterns
@@ -3162,8 +2400,7 @@ hg revert [OPTION]... [\-r REV] [NAME]...
.IP Note
.
To check out earlier revisions, you should use \%\fBhg update REV\fP\:.
-To cancel an uncommitted merge (and lose your changes), use
-\%\fBhg update \-\-clean .\fP\:.
+To cancel a merge (and lose your changes), use \%\fBhg update \-\-clean .\fP\:.
.RE
.sp
With no revision specified, revert the specified files or directories
@@ -3202,7 +2439,7 @@ tipmost revision matching date
.
revert to the specified revision
.TP
-.B \-C, \-\-no\-backup
+.B \-\-no\-backup
.
do not save backup copies of files
.TP
@@ -3234,10 +2471,8 @@ the working directory.
.sp
Transactions are used to encapsulate the effects of all commands
that create new changesets or propagate existing changesets into a
-repository.
-.sp
-For example, the following commands are transactional, and their
-effects can be rolled back:
+repository. For example, the following commands are transactional,
+and their effects can be rolled back:
.INDENT 0.0
.IP \(bu 2
.
@@ -3256,10 +2491,6 @@ push (with this repository as the destination)
unbundle
.UNINDENT
.sp
-To avoid permanent data loss, rollback will refuse to rollback a
-commit transaction if it isn\(aqt checked out. Use \-\-force to
-override this protection.
-.sp
This command is not intended for use on public repositories. Once
changes are visible for pull by other users, rolling a transaction
back locally is ineffective (someone else may already have pulled
@@ -3275,10 +2506,6 @@ Options:
.B \-n, \-\-dry\-run
.
do not perform actions, just print output
-.TP
-.B \-f, \-\-force
-.
-ignore safety measures
.UNINDENT
.SS root
.sp
@@ -3466,38 +2693,6 @@ I = ignored
.ft P
.fi
.sp
-Examples:
-.INDENT 0.0
-.IP \(bu 2
-.
-show changes in the working directory relative to a
-changeset:
-.sp
-.nf
-.ft C
-hg status \-\-rev 9353
-.ft P
-.fi
-.IP \(bu 2
-.
-show all changes including copies in an existing changeset:
-.sp
-.nf
-.ft C
-hg status \-\-copies \-\-change 9353
-.ft P
-.fi
-.IP \(bu 2
-.
-get a NUL separated list of added files, suitable for xargs:
-.sp
-.nf
-.ft C
-hg status \-an0
-.ft P
-.fi
-.UNINDENT
-.sp
Returns 0 on success.
.sp
Options:
@@ -3746,18 +2941,17 @@ hg update [\-c] [\-C] [\-d DATE] [[\-r] REV]
.sp
Update the repository\(aqs working directory to the specified
changeset. If no changeset is specified, update to the tip of the
-current named branch and move the current bookmark (see \%\fBhg help
-bookmarks\fP\:).
+current named branch.
+.sp
+If the changeset is not a descendant of the working directory\(aqs
+parent, the update is aborted. With the \-c/\-\-check option, the
+working directory is checked for uncommitted changes; if none are
+found, the working directory is updated to the specified
+changeset.
.sp
Update sets the working directory\(aqs parent revison to the specified
changeset (see \%\fBhg help parents\fP\:).
.sp
-If the changeset is not a descendant or ancestor of the working
-directory\(aqs parent, the update is aborted. With the \-c/\-\-check
-option, the working directory is checked for uncommitted changes; if
-none are found, the working directory is updated to the specified
-changeset.
-.sp
The following rules apply when the working directory contains
uncommitted changes:
.INDENT 0.0
@@ -3781,9 +2975,6 @@ With the \-C/\-\-clean option, uncommitted changes are discarded and
the working directory is updated to the requested changeset.
.UNINDENT
.sp
-To cancel an uncommitted merge (and lose your changes), use
-\%\fBhg update \-\-clean .\fP\:.
-.sp
Use null as the changeset to remove the working directory (like
\%\fBhg clone \-U\fP\:).
.sp
@@ -4161,7 +3352,7 @@ hooks for integrating with the Bugzilla bug tracker
.TP
.B children
.
-command to display child changesets (DEPRECATED)
+command to display child changesets
.TP
.B churn
.
@@ -4183,13 +3374,9 @@ automatically manage newlines in repository files
.
command to allow external programs to compare revisions
.TP
-.B factotum
-.
-http authentication with factotum
-.TP
.B fetch
.
-pull, update and merge in one command (DEPRECATED)
+pull, update and merge in one command
.TP
.B gpg
.
@@ -4211,10 +3398,6 @@ browse the repository in a graphical way
.
syntax highlighting for hgweb (requires Pygments)
.TP
-.B histedit
-.
-interactive history editing
-.TP
.B inotify
.
accelerate status report using Linux\(aqs inotify service
@@ -4227,17 +3410,13 @@ expand expressions into changelog and summaries
.
expand keywords in tracked files
.TP
-.B largefiles
-.
-track large binary files
-.TP
.B mq
.
manage a stack of patches
.TP
.B notify
.
-hooks for sending email push notifications
+hooks for sending email notifications at commit/push time
.TP
.B pager
.
@@ -4413,10 +3592,6 @@ File size matches the given expression. Examples:
4k \- 1MB (files from 4096 bytes to 1048576 bytes)
.UNINDENT
.TP
-.B \fBsubrepo([pattern])\fP
-.sp
-Subrepositories whose paths match the given pattern.
-.TP
.B \fBsymlink()\fP
.sp
File that is marked as a symlink.
@@ -4466,7 +3641,7 @@ Find C files in a non\-standard encoding:
.sp
.nf
.ft C
-hg locate "set:**.c and not encoding(\(aqUTF\-8\(aq)"
+hg locate "set:**.c and not encoding(ascii)"
.ft P
.fi
.IP \(bu 2
@@ -4650,7 +3825,7 @@ See \(aqChangeset, child\(aq.
.TP
.B Close changeset
.
-See \(aqHead, closed branch\(aq
+See \(aqChangeset, close\(aq.
.TP
.B Closed branch
.
@@ -4737,12 +3912,6 @@ changeset, known as the parent of the working directory. See
to the files introduced manually or by a merge. The repository
metadata exists in the .hg directory inside the working directory.
.TP
-.B Draft
-.
-Changesets in the draft phase have not been shared with publishing
-repositories and may thus be safely changed by history\-modifying
-extensions. See \%\fBhg help phases\fP\:.
-.TP
.B Graph
.
See DAG and \%\fBhg help graphlog\fP\:.
@@ -4766,9 +3935,6 @@ A changeset that marks a head as no longer interesting. The closed
head is no longer listed by \%\fBhg heads\fP\:. A branch is considered
closed when all its heads are closed and consequently is not
listed by \%\fBhg branches\fP\:.
-.sp
-Closed heads can be re\-opened by committing new changeset as the
-child of the changeset that marks a head as closed.
.TP
.B Head, repository
.
@@ -4852,17 +4018,6 @@ changeset into another.
.sp
Example: "You will need to patch that revision."
.TP
-.B Phase
-.
-A per\-changeset state tracking how the changeset has been or
-should be shared. See \%\fBhg help phases\fP\:.
-.TP
-.B Public
-.
-Changesets in the public phase have been shared with publishing
-repositories and are therefore considered immutable. See \%\fBhg help
-phases\fP\:.
-.TP
.B Pull
.
An operation in which changesets in a remote repository which are
@@ -4923,11 +4078,6 @@ See \(aqHistory, rewriting\(aq.
A changeset that has only the null changeset as its parent. Most
repositories have only a single root changeset.
.TP
-.B Secret
-.
-Changesets in the secret phase may not be shared via push, pull,
-or clone. See \%\fBhg help phases\fP\:.
-.TP
.B Tag
.
An alternative name given to a changeset. Tags can be used in all
@@ -4969,12 +4119,12 @@ See \(aqDirectory, working\(aq.
See \(aqParent, working directory\(aq.
.UNINDENT
.SH SYNTAX FOR MERCURIAL IGNORE FILES
-.SS Synopsis
+.SH SYNOPSIS
.sp
The Mercurial system uses a file called \fB.hgignore\fP in the root
directory of a repository to control its behavior when it searches
for files that it is not currently tracking.
-.SS Description
+.SH DESCRIPTION
.sp
The working directory of a Mercurial repository will often contain
files that should not be tracked by Mercurial. These include backup
@@ -5000,12 +4150,7 @@ configure these files.
To control Mercurial\(aqs handling of files that it manages, many
commands support the \fB\-I\fP and \fB\-X\fP options; see
\%\fBhg help <command>\fP\: and \%\fBhg help patterns\fP\: for details.
-.sp
-Files that are already tracked are not affected by .hgignore, even
-if they appear in .hgignore. An untracked file X can be explicitly
-added with \%\fBhg add X\fP\:, even if X would be excluded by a pattern
-in .hgignore.
-.SS Syntax
+.SH SYNTAX
.sp
An ignore file is a plain text file consisting of a list of patterns,
with one pattern per line. Empty lines are skipped. The \fB#\fP
@@ -5042,12 +4187,7 @@ Neither glob nor regexp patterns are rooted. A glob\-syntax pattern of
the form \fB*.c\fP will match a file ending in \fB.c\fP in any directory,
and a regexp pattern of the form \fB\e.c$\fP will do the same. To root a
regexp pattern, start it with \fB^\fP.
-.IP Note
-.
-Patterns specified in other than \fB.hgignore\fP are always rooted.
-Please see \%\fBhg help patterns\fP\: for details.
-.RE
-.SS Example
+.SH EXAMPLE
.sp
Here is an example ignore file.
.sp
@@ -5068,13 +4208,12 @@ syntax: regexp
.SH CONFIGURING HGWEB
.sp
Mercurial\(aqs internal web server, hgweb, can serve either a single
-repository, or a tree of repositories. In the second case, repository
-paths and global options can be defined using a dedicated
-configuration file common to \%\fBhg serve\fP\:, \fBhgweb.wsgi\fP,
-\fBhgweb.cgi\fP and \fBhgweb.fcgi\fP.
+repository, or a collection of them. In the latter case, a special
+configuration file can be used to specify the repository paths to use
+and global web configuration options.
.sp
-This file uses the same syntax as other Mercurial configuration files
-but recognizes only the following sections:
+This file uses the same syntax as other Mercurial configuration files,
+but only the following sections are recognized:
.INDENT 0.0
.INDENT 3.5
.INDENT 0.0
@@ -5091,34 +4230,21 @@ collections
.UNINDENT
.UNINDENT
.sp
-The \fBweb\fP options are thorougly described in \%\fBhg help config\fP\:.
-.sp
-The \fBpaths\fP section maps URL paths to paths of repositories in the
-filesystem. hgweb will not expose the filesystem directly \- only
-Mercurial repositories can be published and only according to the
-configuration.
-.sp
-The left hand side is the path in the URL. Note that hgweb reserves
-subpaths like \fBrev\fP or \fBfile\fP, try using different names for
-nested repositories to avoid confusing effects.
+The \fBweb\fP section can specify all the settings described in the web
+section of the hgrc(5) documentation. See \%\fBhg help config\fP\: for
+information on where to find the manual page.
.sp
-The right hand side is the path in the filesystem. If the specified
-path ends with \fB*\fP or \fB**\fP the filesystem will be searched
-recursively for repositories below that point.
-With \fB*\fP it will not recurse into the repositories it finds (except for
-\fB.hg/patches\fP).
-With \fB**\fP it will also search inside repository working directories
-and possibly find subrepositories.
-.sp
-In this example:
+The \fBpaths\fP section provides mappings of physical repository
+paths to virtual ones. For instance:
.sp
.nf
.ft C
[paths]
-/projects/a = /srv/tmprepos/a
-/projects/b = c:/repos/b
-/ = /srv/repos/*
-/user/bob = /home/bob/repos/**
+projects/a = /foo/bar
+projects/b = /baz/quux
+web/root = /real/root/*
+/ = /real/root2/*
+virtual/root2 = /real/root2/**
.ft P
.fi
.INDENT 0.0
@@ -5128,17 +4254,34 @@ The first two entries make two repositories in different directories
appear under the same directory in the web interface
.IP \(bu 2
.
-The third entry will publish every Mercurial repository found in
-\fB/srv/repos/\fP, for instance the repository \fB/srv/repos/quux/\fP
-will appear as \fBhttp://server/quux/\fP
+The third entry maps every Mercurial repository found in \(aq/real/root\(aq
+into \(aqweb/root\(aq. This format is preferred over the [collections] one,
+since using absolute paths as configuration keys is not supported on every
+platform (especially on Windows).
+.IP \(bu 2
+.
+The fourth entry is a special case mapping all repositories in
+\(aq/real/root2\(aq in the root of the virtual directory.
.IP \(bu 2
.
-The fourth entry will publish both \fBhttp://server/user/bob/quux/\fP
-and \fBhttp://server/user/bob/quux/testsubrepo/\fP
+The fifth entry recursively finds all repositories under the real
+root, and maps their relative paths under the virtual root.
.UNINDENT
.sp
-The \fBcollections\fP section is deprecated and has been superseeded by
-\fBpaths\fP.
+The \fBcollections\fP section provides mappings of trees of physical
+repositories paths to virtual ones, though the paths syntax is generally
+preferred. For instance:
+.sp
+.nf
+.ft C
+[collections]
+/foo = /foo
+.ft P
+.fi
+.sp
+Here, the left side will be stripped off all repositories found in the
+right side. Thus \fB/foo/bar\fP and \fBfoo/quux/baz\fP will be listed as
+\fBbar\fP and \fBquux/baz\fP respectively.
.SH MERGE TOOLS
.sp
To merge files Mercurial uses merge tools.
@@ -5176,14 +4319,11 @@ There are some internal merge tools which can be used. The internal
merge tools are:
.INDENT 0.0
.TP
-.B \fBinternal:dump\fP
+.B \fBinternal:merge\fP
.sp
-Creates three versions of the files to merge, containing the
-contents of local, other and base. These files can then be used to
-perform a merge manually. If the file to be merged is named
-\fBa.txt\fP, these files will accordingly be named \fBa.txt.local\fP,
-\fBa.txt.other\fP and \fBa.txt.base\fP and they will be placed in the
-same directory as \fBa.txt\fP.
+Uses the internal non\-interactive simple merge algorithm for merging
+files. It will fail if there are any conflicts and leave markers in
+the partially merged file.
.TP
.B \fBinternal:fail\fP
.sp
@@ -5195,12 +4335,6 @@ used to resolve these conflicts.
.sp
Uses the local version of files as the merged version.
.TP
-.B \fBinternal:merge\fP
-.sp
-Uses the internal non\-interactive simple merge algorithm for merging
-files. It will fail if there are any conflicts and leave markers in
-the partially merged file.
-.TP
.B \fBinternal:other\fP
.sp
Uses the other version of files as the merged version.
@@ -5209,6 +4343,15 @@ Uses the other version of files as the merged version.
.sp
Asks the user which of the local or the other version to keep as
the merged version.
+.TP
+.B \fBinternal:dump\fP
+.sp
+Creates three versions of the files to merge, containing the
+contents of local, other and base. These files can then be used to
+perform a merge manually. If the file to be merged is named
+\fBa.txt\fP, these files will accordingly be named \fBa.txt.local\fP,
+\fBa.txt.other\fP and \fBa.txt.base\fP and they will be placed in the
+same directory as \fBa.txt\fP.
.UNINDENT
.sp
Internal tools are always available and do not require a GUI but will by default
@@ -5290,11 +4433,6 @@ By default, Mercurial treats filenames as shell\-style extended glob
patterns.
.sp
Alternate pattern notations must be specified explicitly.
-.IP Note
-.
-Patterns specified in \fB.hgignore\fP are not rooted.
-Please see \%\fBhg help hgignore\fP\: for details.
-.RE
.sp
To use a plain path name without any pattern matching, start it with
\fBpath:\fP. These path names must completely match starting at the
@@ -5357,136 +4495,6 @@ listfile0:list.txt read list from list.txt with null byte delimiters
.fi
.sp
See also \%\fBhg help filesets\fP\:.
-.SH WORKING WITH PHASES
-.SS What are phases?
-.sp
-Phases are a system for tracking which changesets have been or should
-be shared. This helps prevent common mistakes when modifying history
-(for instance, with the mq or rebase extensions).
-.sp
-Each changeset in a repository is in one of the following phases:
-.INDENT 0.0
-.INDENT 3.5
-.INDENT 0.0
-.IP \(bu 2
-.
-public : changeset is visible on a public server
-.IP \(bu 2
-.
-draft : changeset is not yet published
-.IP \(bu 2
-.
-secret : changeset should not be pushed, pulled, or cloned
-.UNINDENT
-.UNINDENT
-.UNINDENT
-.sp
-These phases are ordered (public < draft < secret) and no changeset
-can be in a lower phase than its ancestors. For instance, if a
-changeset is public, all its ancestors are also public. Lastly,
-changeset phases should only be changed towards the public phase.
-.SS How are phases managed?
-.sp
-For the most part, phases should work transparently. By default, a
-changeset is created in the draft phase and is moved into the public
-phase when it is pushed to another repository.
-.sp
-Once changesets become public, extensions like mq and rebase will
-refuse to operate on them to prevent creating duplicate changesets.
-Phases can also be manually manipulated with the \%\fBhg phase\fP\: command
-if needed. See \%\fBhg help \-v phase\fP\: for examples.
-.SS Phases and servers
-.sp
-Normally, all servers are \fBpublishing\fP by default. This means:
-.sp
-.nf
-.ft C
-\- all draft changesets that are pulled or cloned appear in phase
-public on the client
-
-\- all draft changesets that are pushed appear as public on both
-client and server
-
-\- secret changesets are neither pushed, pulled, or cloned
-.ft P
-.fi
-.IP Note
-.
-Pulling a draft changeset from a publishing server does not mark it
-as public on the server side due to the read\-only nature of pull.
-.RE
-.sp
-Sometimes it may be desirable to push and pull changesets in the draft
-phase to share unfinished work. This can be done by setting a
-repository to disable publishing in its configuration file:
-.sp
-.nf
-.ft C
-[phases]
-publish = False
-.ft P
-.fi
-.sp
-See \%\fBhg help config\fP\: for more information on config files.
-.IP Note
-.
-Servers running older versions of Mercurial are treated as
-publishing.
-.RE
-.SS Examples
-.INDENT 0.0
-.INDENT 3.5
-.INDENT 0.0
-.IP \(bu 2
-.
-list changesets in draft or secret phase:
-.sp
-.nf
-.ft C
-hg log \-r "not public()"
-.ft P
-.fi
-.IP \(bu 2
-.
-change all secret changesets to draft:
-.sp
-.nf
-.ft C
-hg phase \-\-draft "secret()"
-.ft P
-.fi
-.IP \(bu 2
-.
-forcibly move the current changeset and descendants from public to draft:
-.sp
-.nf
-.ft C
-hg phase \-\-force \-\-draft .
-.ft P
-.fi
-.IP \(bu 2
-.
-show a list of changeset revision and phase:
-.sp
-.nf
-.ft C
-hg log \-\-template "{rev} {phase}\en"
-.ft P
-.fi
-.IP \(bu 2
-.
-resynchronize draft changesets relative to a remote repository:
-.sp
-.nf
-.ft C
-hg phase \-fd \(aqoutgoing(URL)\(aq
-.ft P
-.fi
-.UNINDENT
-.UNINDENT
-.UNINDENT
-.sp
-See \%\fBhg help phase\fP\: for more information on manually manipulating phases.
.SH SPECIFYING SINGLE REVISIONS
.sp
Mercurial supports several ways to specify individual revisions.
@@ -5503,13 +4511,13 @@ unique revision identifier and is referred to as a short\-form
identifier. A short\-form identifier is only valid if it is the prefix
of exactly one full\-length identifier.
.sp
-Any other string is treated as a bookmark, tag, or branch name. A
-bookmark is a movable pointer to a revision. A tag is a permanent name
-associated with a revision. A branch name denotes the tipmost revision
-of that branch. Bookmark, tag, and branch names must not contain the ":"
-character.
+Any other string is treated as a tag or branch name. A tag name is a
+symbolic name associated with a revision identifier. A branch name
+denotes the tipmost revision of that branch. Tag and branch names must
+not contain the ":" character.
.sp
-The reserved name "tip" always identifies the most recent revision.
+The reserved name "tip" is a special tag that always identifies the
+most recent revision.
.sp
The reserved name "null" indicates the null revision. This is the
revision of an empty repository, and the parent of revision 0.
@@ -5526,9 +4534,10 @@ revisions.
The language supports a number of predicates which are joined by infix
operators. Parenthesis can be used for grouping.
.sp
-Identifiers such as branch names may need quoting with single or
-double quotes if they contain characters like \fB\-\fP or if they match
-one of the predefined predicates.
+Identifiers such as branch names must be quoted with single or double
+quotes if they contain characters outside of
+\fB[._a\-zA\-Z0\-9\ex80\-\exff]\fP or if they match one of the predefined
+predicates.
.sp
Special characters can be used in quoted identifiers by escaping them,
e.g., \fB\en\fP is interpreted as a newline. To prevent them from being
@@ -5615,49 +4624,18 @@ Changesets that are ancestors of a changeset in set.
.sp
Alias for \fBuser(string)\fP.
.TP
-.B \fBbisect(string)\fP
+.B \fBbisected(string)\fP
.sp
-Changesets marked in the specified bisect status:
-.INDENT 7.0
-.IP \(bu 2
-.
-\fBgood\fP, \fBbad\fP, \fBskip\fP: csets explicitly marked as good/bad/skip
-.IP \(bu 2
-.
-\fBgoods\fP, \fBbads\fP : csets topologicaly good/bad
-.IP \(bu 2
-.
-\fBrange\fP : csets taking part in the bisection
-.IP \(bu 2
-.
-\fBpruned\fP : csets that are goods, bads or skipped
-.IP \(bu 2
-.
-\fBuntested\fP : csets whose fate is yet unknown
-.IP \(bu 2
-.
-\fBignored\fP : csets ignored due to DAG topology
-.IP \(bu 2
-.
-\fBcurrent\fP : the cset currently being bisected
-.UNINDENT
+Changesets marked in the specified bisect state (good, bad, skip).
.TP
.B \fBbookmark([name])\fP
.sp
The named bookmark or all bookmarks.
-.sp
-If \fIname\fP starts with \fIre:\fP, the remainder of the name is treated as
-a regular expression. To match a bookmark that actually starts with \fIre:\fP,
-use the prefix \fIliteral:\fP.
.TP
.B \fBbranch(string or set)\fP
.sp
All changesets belonging to the given branch or the branches of the given
changesets.
-.sp
-If \fIstring\fP starts with \fIre:\fP, the remainder of the name is treated as
-a regular expression. To match a branch that actually starts with \fIre:\fP,
-use the prefix \fIliteral:\fP.
.TP
.B \fBchildren(set)\fP
.sp
@@ -5672,11 +4650,6 @@ Changeset is closed.
Revision contains a file matching pattern. See \%\fBhg help patterns\fP\:
for information about file patterns.
.TP
-.B \fBconverted([id])\fP
-.sp
-Changesets converted from the given identifier in the old repository if
-present, or all converted changesets if no identifier is specified.
-.TP
.B \fBdate(interval)\fP
.sp
Changesets within the interval, see \%\fBhg help dates\fP\:.
@@ -5689,47 +4662,13 @@ Search commit message for string. The match is case\-insensitive.
.sp
Changesets which are descendants of changesets in set.
.TP
-.B \fBdestination([set])\fP
-.sp
-Changesets that were created by a graft, transplant or rebase operation,
-with the given revisions specified as the source. Omitting the optional set
-is the same as passing all().
-.TP
-.B \fBdraft()\fP
-.sp
-Changeset in draft phase.
-.TP
-.B \fBextinct()\fP
-.sp
-Obsolete changesets with obsolete descendants only.
-.TP
-.B \fBextra(label, [value])\fP
-.sp
-Changesets with the given label in the extra metadata, with the given
-optional value.
-.sp
-If \fIvalue\fP starts with \fIre:\fP, the remainder of the value is treated as
-a regular expression. To match a value that actually starts with \fIre:\fP,
-use the prefix \fIliteral:\fP.
-.TP
.B \fBfile(pattern)\fP
.sp
Changesets affecting files matched by pattern.
-.sp
-For a faster but less accurate result, consider using \fBfilelog()\fP
-instead.
.TP
.B \fBfilelog(pattern)\fP
.sp
Changesets connected to the specified filelog.
-.sp
-For performance reasons, \fBfilelog()\fP does not show every changeset
-that affects the requested file(s). See \%\fBhg help log\fP\: for details. For
-a slower, more accurate result, use \fBfile()\fP.
-.TP
-.B \fBfirst(set, [n])\fP
-.sp
-An alias for limit().
.TP
.B \fBfollow([file])\fP
.sp
@@ -5760,38 +4699,13 @@ Revision non\-ambiguously specified by the given hex string prefix.
Search commit message, user name, and names of changed files for
string. The match is case\-insensitive.
.TP
-.B \fBlast(set, [n])\fP
+.B \fBlast(set, n)\fP
.sp
-Last n members of set, defaulting to 1.
+Last n members of set.
.TP
-.B \fBlimit(set, [n])\fP
-.sp
-First n members of set, defaulting to 1.
-.TP
-.B \fBmatching(revision [, field])\fP
-.sp
-Changesets in which a given set of fields match the set of fields in the
-selected revision or set.
+.B \fBlimit(set, n)\fP
.sp
-To match more than one field pass the list of fields to match separated
-by spaces (e.g. \fBauthor description\fP).
-.sp
-Valid fields are most regular revision fields and some special fields.
-.sp
-Regular revision fields are \fBdescription\fP, \fBauthor\fP, \fBbranch\fP,
-\fBdate\fP, \fBfiles\fP, \fBphase\fP, \fBparents\fP, \fBsubstate\fP, \fBuser\fP
-and \fBdiff\fP.
-Note that \fBauthor\fP and \fBuser\fP are synonyms. \fBdiff\fP refers to the
-contents of the revision. Two revisions matching their \fBdiff\fP will
-also match their \fBfiles\fP.
-.sp
-Special fields are \fBsummary\fP and \fBmetadata\fP:
-\fBsummary\fP matches the first line of the description.
-\fBmetadata\fP is equivalent to matching \fBdescription user date\fP
-(i.e. it matches the main metadata fields).
-.sp
-\fBmetadata\fP is the default field which is used when no fields are
-specified. You can match more than one field at a time.
+First n members of set.
.TP
.B \fBmax(set)\fP
.sp
@@ -5809,18 +4723,6 @@ Changeset with lowest revision number in set.
.sp
Changesets modifying files matched by pattern.
.TP
-.B \fBobsolete()\fP
-.sp
-Mutable changeset with a newer version.
-.TP
-.B \fBorigin([set])\fP
-.sp
-Changesets that were specified as a source for the grafts, transplants or
-rebases that created the given revisions. Omitting the optional set is the
-same as passing all(). If a changeset created by these operations is itself
-specified as a source for one of these operations, only the source changeset
-for the first operation is selected.
-.TP
.B \fBoutgoing([path])\fP
.sp
Changesets not found in the specified destination repository, or the
@@ -5842,20 +4744,6 @@ The set of all parents for all changesets in set, or the working directory.
.sp
An empty set, if any revision in set isn\(aqt found; otherwise,
all revisions in set.
-.sp
-If any of specified revisions is not present in the local repository,
-the query is normally aborted. But this predicate allows the query
-to continue even in such cases.
-.TP
-.B \fBpublic()\fP
-.sp
-Changeset in public phase.
-.TP
-.B \fBremote([id [,path]])\fP
-.sp
-Local revision that corresponds to the given identifier in a
-remote repository, if present. Here, the \(aq.\(aq identifier is a
-synonym for the current local branch.
.TP
.B \fBremoves(pattern)\fP
.sp
@@ -5871,11 +4759,7 @@ Reverse order of set.
.TP
.B \fBroots(set)\fP
.sp
-Changesets in set with no parent changeset in set.
-.TP
-.B \fBsecret()\fP
-.sp
-Changeset in secret phase.
+Changesets with no parent changeset in set.
.TP
.B \fBsort(set[, [\-]key...])\fP
.sp
@@ -5905,17 +4789,9 @@ The keys can be:
.sp
The specified tag by name, or all tagged revisions if no name is given.
.TP
-.B \fBunstable()\fP
-.sp
-Non\-obsolete changesets with obsolete ancestors.
-.TP
.B \fBuser(string)\fP
.sp
User name contains string. The match is case\-insensitive.
-.sp
-If \fIstring\fP starts with \fIre:\fP, the remainder of the string is treated as
-a regular expression. To match a user that actually contains \fIre:\fP, use
-the prefix \fIliteral:\fP.
.UNINDENT
.sp
New predicates (known as "aliases") can be defined, using any combination of
@@ -6023,21 +4899,19 @@ hg log \-r "(keyword(bug) or keyword(issue)) and not ancestors(tagged())"
.sp
Subrepositories let you nest external repositories or projects into a
parent Mercurial repository, and make commands operate on them as a
-group.
-.sp
-Mercurial currently supports Mercurial, Git, and Subversion
-subrepositories.
+group. External Mercurial and Subversion projects are currently
+supported.
.sp
Subrepositories are made of three components:
.INDENT 0.0
.IP 1. 3
.
Nested repository checkouts. They can appear anywhere in the
-parent working directory.
+parent working directory, and are Mercurial clones or Subversion
+checkouts.
.IP 2. 3
.
-Nested repository references. They are defined in \fB.hgsub\fP, which
-should be placed in the root of working directory, and
+Nested repository references. They are defined in \fB.hgsub\fP and
tell where the subrepository checkouts come from. Mercurial
subrepositories are referenced like:
.INDENT 3.0
@@ -6047,27 +4921,23 @@ path/to/nested = \%https://example.com/nested/repo/path\:
.UNINDENT
.UNINDENT
.sp
-Git and Subversion subrepos are also supported:
+where \fBpath/to/nested\fP is the checkout location relatively to the
+parent Mercurial root, and \fBhttps://example.com/nested/repo/path\fP
+is the source repository path. The source can also reference a
+filesystem path. Subversion repositories are defined with:
.INDENT 3.0
.INDENT 3.5
.sp
-path/to/nested = [git]git://example.com/nested/repo/path
path/to/nested = [svn]https://example.com/nested/trunk/path
.UNINDENT
.UNINDENT
.sp
-where \fBpath/to/nested\fP is the checkout location relatively to the
-parent Mercurial root, and \fBhttps://example.com/nested/repo/path\fP
-is the source repository path. The source can also reference a
-filesystem path.
-.sp
Note that \fB.hgsub\fP does not exist by default in Mercurial
repositories, you have to create and add it to the parent
repository before using subrepositories.
.IP 3. 3
.
-Nested repository states. They are defined in \fB.hgsubstate\fP, which
-is placed in the root of working directory, and
+Nested repository states. They are defined in \fB.hgsubstate\fP and
capture whatever information is required to restore the
subrepositories to the state they were committed in a parent
repository changeset. Mercurial automatically record the nested
@@ -6077,7 +4947,7 @@ repositories states when committing in the parent repository.
The \fB.hgsubstate\fP file should not be edited manually.
.RE
.UNINDENT
-.SS Adding a Subrepository
+.SH ADDING A SUBREPOSITORY
.sp
If \fB.hgsub\fP does not exist, create it and add it to the parent
repository. Clone or checkout the external projects where you want it
@@ -6085,7 +4955,7 @@ to live in the parent repository. Edit \fB.hgsub\fP and add the
subrepository entry as described above. At this point, the
subrepository is tracked and the next commit will record its state in
\fB.hgsubstate\fP and bind it to the committed changeset.
-.SS Synchronizing a Subrepository
+.SH SYNCHRONIZING A SUBREPOSITORY
.sp
Subrepos do not automatically track the latest changeset of their
sources. Instead, they are updated to the changeset that corresponds
@@ -6096,19 +4966,17 @@ libraries when they update.
Thus, updating subrepos is a manual process. Simply check out target
subrepo at the desired revision, test in the top\-level repo, then
commit in the parent repository to record the new combination.
-.SS Deleting a Subrepository
+.SH DELETING A SUBREPOSITORY
.sp
To remove a subrepository from the parent repository, delete its
reference from \fB.hgsub\fP, then remove its files.
-.SS Interaction with Mercurial Commands
+.SH INTERACTION WITH MERCURIAL COMMANDS
.INDENT 0.0
.TP
.B add
.
add does not recurse in subrepos unless \-S/\-\-subrepos is
-specified. However, if you specify the full path of a file in a
-subrepo, it will be added even without \-S/\-\-subrepos specified.
-Git and Subversion subrepositories are currently silently
+specified. Subversion subrepositories are currently silently
ignored.
.TP
.B archive
@@ -6119,37 +4987,31 @@ archive does not recurse in subrepositories unless
.B commit
.
commit creates a consistent snapshot of the state of the
-entire project and its subrepositories. If any subrepositories
-have been modified, Mercurial will abort. Mercurial can be made
-to instead commit all modified subrepositories by specifying
-\-S/\-\-subrepos, or setting "ui.commitsubrepos=True" in a
-configuration file (see \%\fBhg help config\fP\:). After there are no
-longer any modified subrepositories, it records their state and
-finally commits it in the parent repository.
+entire project and its subrepositories. It does this by first
+attempting to commit all modified subrepositories, then recording
+their state and finally committing it in the parent
+repository. Mercurial can be made to abort if any subrepository
+content is modified by setting "ui.commitsubrepos=no" in a
+configuration file (see \%\fBhg help config\fP\:).
.TP
.B diff
.
diff does not recurse in subrepos unless \-S/\-\-subrepos is
specified. Changes are displayed as usual, on the subrepositories
-elements. Git and Subversion subrepositories are currently
-silently ignored.
-.TP
-.B forget
-.
-forget currently only handles exact file matches in subrepos.
-Git and Subversion subrepositories are currently silently ignored.
+elements. Subversion subrepositories are currently silently
+ignored.
.TP
.B incoming
.
incoming does not recurse in subrepos unless \-S/\-\-subrepos
-is specified. Git and Subversion subrepositories are currently
-silently ignored.
+is specified. Subversion subrepositories are currently silently
+ignored.
.TP
.B outgoing
.
outgoing does not recurse in subrepos unless \-S/\-\-subrepos
-is specified. Git and Subversion subrepositories are currently
-silently ignored.
+is specified. Subversion subrepositories are currently silently
+ignored.
.TP
.B pull
.
@@ -6164,7 +5026,7 @@ case.
Mercurial will automatically push all subrepositories first
when the parent repository is being pushed. This ensures new
subrepository changes are available when referenced by top\-level
-repositories. Push is a no\-op for Subversion subrepositories.
+repositories.
.TP
.B status
.
@@ -6182,7 +5044,7 @@ changeset is not available in the current subrepository, Mercurial
will pull it in first before updating. This means that updating
can require network access when using subrepositories.
.UNINDENT
-.SS Remapping Subrepositories Sources
+.SH REMAPPING SUBREPOSITORIES SOURCES
.sp
A subrepository source location may change during a project life,
invalidating references stored in the parent repository history. To
@@ -6229,10 +5091,6 @@ keywords are usually available for templating a log\-like command:
.
String. The unmodified author of the changeset.
.TP
-.B bisect
-.
-String. The changeset bisection status.
-.TP
.B bookmarks
.
List of strings. Any bookmarks associated with the
@@ -6307,20 +5165,6 @@ Integer. Longest path to the latest tag.
String. The changeset identification hash, as a 40 hexadecimal
digit string.
.TP
-.B parents
-.
-List of strings. The parents of the changeset in "rev:node"
-format. If the changeset has only one "natural" parent (the predecessor
-revision) nothing is shown.
-.TP
-.B phase
-.
-String. The changeset phase name.
-.TP
-.B phaseidx
-.
-Integer. The changeset phase index.
-.TP
.B rev
.
Integer. The repository\-local changeset revision number.
@@ -6381,10 +5225,6 @@ Any text. Extracts the first string that looks like an email
address. Example: \fBUser <user@example.com>\fP becomes
\fBuser@example.com\fP.
.TP
-.B emailuser
-.
-Any text. Returns the user portion of an email address.
-.TP
.B escape
.
Any text. Replaces the special XML/XHTML characters "&", "<"
@@ -6438,8 +5278,7 @@ XML entities.
.TP
.B person
.
-Any text. Returns the name before an email address,
-interpreting it as per RFC 5322.
+Any text. Returns the text before an email address.
.TP
.B rfc3339date
.
@@ -6456,13 +5295,6 @@ headers: "Tue, 18 Aug 2009 13:00:13 +0200".
Changeset hash. Returns the short form of a changeset hash,
i.e. a 12 hexadecimal digit string.
.TP
-.B shortbisect
-.
-Any text. Treats \fItext\fP as a bisection status, and
-returns a single\-character representing the status (G: good, B: bad,
-S: skipped, U: untested, I: ignored). Returns single space if \fItext\fP
-is not a valid bisection status.
-.TP
.B shortdate
.
Date. Returns a date like "2006\-09\-18".
@@ -6493,8 +5325,7 @@ Any text. Escapes all "special" characters. For example,
.TP
.B user
.
-Any text. Returns a short representation of a user name or email
-address.
+Any text. Returns the user portion of an email address.
.UNINDENT
.SH URL PATHS
.sp
@@ -6652,9 +5483,6 @@ a comma\-separated list containing users and groups, or
.
an asterisk, to match anyone;
.UNINDENT
-.sp
-You can add the "!" prefix to a user or group name to invert the sense
-of the match.
.SS Path\-based Access Control
.sp
Use the \fBacl.deny\fP and \fBacl.allow\fP sections to have path\-based
@@ -6743,54 +5571,14 @@ docs/** = doc_writer
# under the "images" folder:
images/** = jack, @designers
-# Everyone (except for "user6" and "@hg\-denied" \- see acl.deny above)
-# will have write access to any file under the "resources" folder
-# (except for 1 file. See acl.deny):
+# Everyone (except for "user6" \- see acl.deny above) will have write
+# access to any file under the "resources" folder (except for 1
+# file. See acl.deny):
src/main/resources/** = *
\&.hgtags = release_engineer
.ft P
.fi
-.SS Examples using the "!" prefix
-.sp
-Suppose there\(aqs a branch that only a given user (or group) should be able to
-push to, and you don\(aqt want to restrict access to any other branch that may
-be created.
-.sp
-The "!" prefix allows you to prevent anyone except a given user or group to
-push changesets in a given branch or path.
-.sp
-In the examples below, we will:
-1) Deny access to branch "ring" to anyone but user "gollum"
-2) Deny access to branch "lake" to anyone but members of the group "hobbit"
-3) Deny access to a file to anyone but user "gollum"
-.sp
-.nf
-.ft C
-[acl.allow.branches]
-# Empty
-
-[acl.deny.branches]
-
-# 1) only \(aqgollum\(aq can commit to branch \(aqring\(aq;
-# \(aqgollum\(aq and anyone else can still commit to any other branch.
-ring = !gollum
-
-# 2) only members of the group \(aqhobbit\(aq can commit to branch \(aqlake\(aq;
-# \(aqhobbit\(aq members and anyone else can still commit to any other branch.
-lake = !@hobbit
-
-# You can also deny access based on file paths:
-
-[acl.allow]
-# Empty
-
-[acl.deny]
-# 3) only \(aqgollum\(aq can change the file below;
-# \(aqgollum\(aq and anyone else can still change any other file.
-/misty/mountains/cave/ring = !gollum
-.ft P
-.fi
.SS bugzilla
.sp
hooks for integrating with the Bugzilla bug tracker
@@ -6799,8 +5587,7 @@ This hook extension adds comments on bugs in Bugzilla when changesets
that refer to bugs by Bugzilla ID are seen. The comment is formatted using
the Mercurial template mechanism.
.sp
-The bug references can optionally include an update for Bugzilla of the
-hours spent working on the bug. Bugs can also be marked fixed.
+The hook does not change bug status.
.sp
Three basic modes of access to Bugzilla are provided:
.INDENT 0.0
@@ -6825,13 +5612,13 @@ permission to read Bugzilla configuration details and the necessary
MySQL user and password to have full access rights to the Bugzilla
database. For these reasons this access mode is now considered
deprecated, and will not be updated for new Bugzilla versions going
-forward. Only adding comments is supported in this access mode.
+forward.
.sp
Access via XMLRPC needs a Bugzilla username and password to be specified
in the configuration. Comments are added under that username. Since the
configuration must be readable by all Mercurial users, it is recommended
that the rights of that user are restricted in Bugzilla to the minimum
-necessary to add comments. Marking bugs fixed requires Bugzilla 4.0 and later.
+necessary to add comments.
.sp
Access via XMLRPC/email uses XMLRPC to query Bugzilla, but sends
email to the Bugzilla email interface to submit comments to bugs.
@@ -6839,8 +5626,7 @@ The From: address in the email is set to the email address of the Mercurial
user, so the comment appears to come from the Mercurial user. In the event
that the Mercurial user email is not recognised by Bugzilla as a Bugzilla
user, the email associated with the Bugzilla username used to log into
-Bugzilla is used instead as the source of the comment. Marking bugs fixed
-works on all supported Bugzilla versions.
+Bugzilla is used instead as the source of the comment.
.sp
Configuration items common to all access modes:
.INDENT 0.0
@@ -6875,37 +5661,11 @@ including 2.18.
.TP
.B bugzilla.regexp
.
-Regular expression to match bug IDs for update in changeset commit message.
-It must contain one "()" named group \fB<ids>\fP containing the bug
-IDs separated by non\-digit characters. It may also contain
-a named group \fB<hours>\fP with a floating\-point number giving the
-hours worked on the bug. If no named groups are present, the first
-"()" group is assumed to contain the bug IDs, and work time is not
-updated. The default expression matches \fBBug 1234\fP, \fBBug no. 1234\fP,
-\fBBug number 1234\fP, \fBBugs 1234,5678\fP, \fBBug 1234 and 5678\fP and
-variations thereof, followed by an hours number prefixed by \fBh\fP or
-\fBhours\fP, e.g. \fBhours 1.5\fP. Matching is case insensitive.
-.TP
-.B bugzilla.fixregexp
-.
-Regular expression to match bug IDs for marking fixed in changeset
-commit message. This must contain a "()" named group \fB<ids>\(ga containing
-the bug IDs separated by non\-digit characters. It may also contain
-a named group \(ga\(ga<hours>\fP with a floating\-point number giving the
-hours worked on the bug. If no named groups are present, the first
-"()" group is assumed to contain the bug IDs, and work time is not
-updated. The default expression matches \fBFixes 1234\fP, \fBFixes bug 1234\fP,
-\fBFixes bugs 1234,5678\fP, \fBFixes 1234 and 5678\fP and
-variations thereof, followed by an hours number prefixed by \fBh\fP or
-\fBhours\fP, e.g. \fBhours 1.5\fP. Matching is case insensitive.
-.TP
-.B bugzilla.fixstatus
-.
-The status to set a bug to when marking fixed. Default \fBRESOLVED\fP.
-.TP
-.B bugzilla.fixresolution
-.
-The resolution to set a bug to when marking fixed. Default \fBFIXED\fP.
+Regular expression to match bug IDs in changeset commit message.
+Must contain one "()" group. The default expression matches \fBBug
+1234\fP, \fBBug no. 1234\fP, \fBBug number 1234\fP, \fBBugs 1234,5678\fP,
+\fBBug 1234 and 5678\fP and variations thereof. Matching is case
+insensitive.
.TP
.B bugzilla.style
.
@@ -7154,10 +5914,7 @@ Changeset commit comment. Bug 1234.
.fi
.SS children
.sp
-command to display child changesets (DEPRECATED)
-.sp
-This extension is deprecated. You should use \%\fBhg log \-r
-"children(REV)"\fP\: instead.
+command to display child changesets
.SS Commands
.SS children
.sp
@@ -7338,9 +6095,6 @@ branches.active = none
branches.closed = black bold
branches.current = green
branches.inactive = none
-
-tags.normal = green
-tags.local = black bold
.ft P
.fi
.sp
@@ -7585,8 +6339,8 @@ converting from and to Mercurial. Default is False.
.B convert.hg.saverev
.
store original revision ID in changeset
-(forces target IDs to change). It takes a boolean argument and
-defaults to False.
+(forces target IDs to change). It takes and boolean argument
+and defaults to False.
.TP
.B convert.hg.startrev
.
@@ -7648,7 +6402,7 @@ delete them.
.B hook.cvschangesets
.
Specify a Python function to be called after
-the changesets are calculated from the CVS log. The
+the changesets are calculated from the the CVS log. The
function is passed a list with the changeset entries, and can
modify the changesets in\-place, or add or delete them.
.UNINDENT
@@ -7846,10 +6600,9 @@ The rules will first apply when files are touched in the working
copy, e.g. by updating to null and back to tip to touch all files.
.RE
.sp
-The extension uses an optional \fB[eol]\fP section read from both the
-normal Mercurial configuration files and the \fB.hgeol\fP file, with the
-latter overriding the former. You can use that section to control the
-overall behavior. There are three settings:
+The extension uses an optional \fB[eol]\fP section in your hgrc file
+(not the \fB.hgeol\fP file) for settings that control the overall
+behavior. There are two settings:
.INDENT 0.0
.IP \(bu 2
.
@@ -7864,11 +6617,6 @@ the extension convert files with inconsistent EOLs. Inconsistent
means that there is both \fBCRLF\fP and \fBLF\fP present in the file.
Such files are normally not touched under the assumption that they
have mixed EOLs on purpose.
-.IP \(bu 2
-.
-\fBeol.fix\-trailing\-newline\fP (default False) can be set to True to
-ensure that converted files end with a EOL character (either \fB\en\fP
-or \fB\er\en\fP as per the configured patterns).
.UNINDENT
.sp
The extension provides \fBcleverencode:\fP and \fBcleverdecode:\fP filters
@@ -7919,8 +6667,7 @@ meld =
# (see http://www.vim.org/scripts/script.php?script_id=102) Non
# English user, be sure to put "let g:DirDiffDynamicDiffText = 1" in
# your .vimrc
-vimdiff = gvim \-f "+next" \e
- "+execute \(aqDirDiff\(aq fnameescape(argv(0)) fnameescape(argv(1))"
+vimdiff = gvim \-f \(aq+next\(aq \(aq+execute "DirDiff" argv(0) argv(1)\(aq
.ft P
.fi
.sp
@@ -8004,45 +6751,9 @@ include names matching the given patterns
.
exclude names matching the given patterns
.UNINDENT
-.SS factotum
-.sp
-http authentication with factotum
-.sp
-This extension allows the factotum(4) facility on Plan 9 from Bell Labs
-platforms to provide authentication information for HTTP access. Configuration
-entries specified in the auth section as well as authentication information
-provided in the repository URL are fully supported. If no prefix is specified,
-a value of "*" will be assumed.
-.sp
-By default, keys are specified as:
-.sp
-.nf
-.ft C
-proto=pass service=hg prefix=<prefix> user=<username> !password=<password>
-.ft P
-.fi
-.sp
-If the factotum extension is unable to read the required key, one will be
-requested interactively.
-.sp
-A configuration section is available to customize runtime behavior. By
-default, these entries are:
-.sp
-.nf
-.ft C
-[factotum]
-executable = /bin/auth/factotum
-mountpoint = /mnt/factotum
-service = hg
-.ft P
-.fi
-.sp
-The executable entry defines the full path to the factotum binary. The
-mountpoint entry defines the path to the factotum file service. Lastly, the
-service entry controls the service name used when reading keys.
.SS fetch
.sp
-pull, update and merge in one command (DEPRECATED)
+pull, update and merge in one command
.SS Commands
.SS fetch
.sp
@@ -8060,9 +6771,10 @@ automatically merged, and the result of the merge is committed.
Otherwise, the working directory is updated to include the new
changes.
.sp
-When a merge is needed, the working directory is first updated to
-the newly pulled changes. Local changes are then merged into the
-pulled changes. To switch the merge order, use \-\-switch\-parent.
+When a merge occurs, the newly pulled changes are assumed to be
+"authoritative". The head of the new changes is used as the first
+parent, with local changes as the second. To switch the merge
+order, use \-\-switch\-parent.
.sp
See \%\fBhg help dates\fP\: for a list of formats valid for \-d/\-\-date.
.sp
@@ -8123,7 +6835,7 @@ commands to sign and verify changesets
.sp
.nf
.ft C
-hg sigcheck REV
+hg sigcheck REVISION
.ft P
.fi
.sp
@@ -8132,7 +6844,7 @@ verify all the signatures there may be for a particular revision
.sp
.nf
.ft C
-hg sign [OPTION]... [REV]...
+hg sign [OPTION]... [REVISION]...
.ft P
.fi
.sp
@@ -8206,81 +6918,17 @@ directory.
Options:
.INDENT 0.0
.TP
-.B \-f, \-\-follow
-.
-follow changeset history, or file history across copies and renames
-.TP
-.B \-\-follow\-first
-.
-only follow the first parent of merge changesets (DEPRECATED)
-.TP
-.B \-d, \-\-date
-.
-show revisions matching date spec
-.TP
-.B \-C, \-\-copies
-.
-show copied files
-.TP
-.B \-k, \-\-keyword
-.
-do case\-insensitive search for a given text
-.TP
-.B \-r, \-\-rev
-.
-show the specified revision or range
-.TP
-.B \-\-removed
-.
-include revisions where files were removed
-.TP
-.B \-m, \-\-only\-merges
-.
-show only merges (DEPRECATED)
-.TP
-.B \-u, \-\-user
-.
-revisions committed by user
-.TP
-.B \-\-only\-branch
-.
-show only changesets within the given named branch (DEPRECATED)
-.TP
-.B \-b, \-\-branch
-.
-show changesets within the given named branch
-.TP
-.B \-P, \-\-prune
-.
-do not display revision or any of its ancestors
-.TP
-.B \-\-hidden
-.
-show hidden changesets (DEPRECATED)
-.TP
-.B \-p, \-\-patch
-.
-show patch
-.TP
-.B \-g, \-\-git
-.
-use git extended diff format
-.TP
.B \-l, \-\-limit
.
limit number of changes displayed
.TP
-.B \-M, \-\-no\-merges
-.
-do not show merges
-.TP
-.B \-\-stat
+.B \-p, \-\-patch
.
-output diffstat\-style summary of changes
+show patch
.TP
-.B \-G, \-\-graph
+.B \-r, \-\-rev
.
-show the revision DAG
+show the specified revision or range
.TP
.B \-\-style
.
@@ -8289,14 +6937,6 @@ display using template map file
.B \-\-template
.
display with template
-.TP
-.B \-I, \-\-include
-.
-include names matching the given patterns
-.TP
-.B \-X, \-\-exclude
-.
-exclude names matching the given patterns
.UNINDENT
.SS hgcia
.sp
@@ -8412,206 +7052,6 @@ pygments_style = <style>
.fi
.sp
The default is \(aqcolorful\(aq.
-.SS histedit
-.sp
-interactive history editing
-.sp
-With this extension installed, Mercurial gains one new command: histedit. Usage
-is as follows, assuming the following history:
-.sp
-.nf
-.ft C
-@ 3[tip] 7c2fd3b9020c 2009\-04\-27 18:04 \-0500 durin42
-| Add delta
-|
-o 2 030b686bedc4 2009\-04\-27 18:04 \-0500 durin42
-| Add gamma
-|
-o 1 c561b4e977df 2009\-04\-27 18:04 \-0500 durin42
-| Add beta
-|
-o 0 d8d2fcd0e319 2009\-04\-27 18:04 \-0500 durin42
- Add alpha
-.ft P
-.fi
-.sp
-If you were to run \fBhg histedit c561b4e977df\fP, you would see the following
-file open in your editor:
-.sp
-.nf
-.ft C
-pick c561b4e977df Add beta
-pick 030b686bedc4 Add gamma
-pick 7c2fd3b9020c Add delta
-
-# Edit history between 633536316234 and 7c2fd3b9020c
-#
-# Commands:
-# p, pick = use commit
-# e, edit = use commit, but stop for amending
-# f, fold = use commit, but fold into previous commit
-# d, drop = remove commit from history
-# m, mess = edit message without changing commit content
-#
-.ft P
-.fi
-.sp
-In this file, lines beginning with \fB#\fP are ignored. You must specify a rule
-for each revision in your history. For example, if you had meant to add gamma
-before beta, and then wanted to add delta in the same revision as beta, you
-would reorganize the file to look like this:
-.sp
-.nf
-.ft C
-pick 030b686bedc4 Add gamma
-pick c561b4e977df Add beta
-fold 7c2fd3b9020c Add delta
-
-# Edit history between 633536316234 and 7c2fd3b9020c
-#
-# Commands:
-# p, pick = use commit
-# e, edit = use commit, but stop for amending
-# f, fold = use commit, but fold into previous commit
-# d, drop = remove commit from history
-# m, mess = edit message without changing commit content
-#
-.ft P
-.fi
-.sp
-At which point you close the editor and \fBhistedit\fP starts working. When you
-specify a \fBfold\fP operation, \fBhistedit\fP will open an editor when it folds
-those revisions together, offering you a chance to clean up the commit message:
-.sp
-.nf
-.ft C
-Add beta
-***
-Add delta
-.ft P
-.fi
-.sp
-Edit the commit message to your liking, then close the editor. For
-this example, let\(aqs assume that the commit message was changed to
-\fBAdd beta and delta.\fP After histedit has run and had a chance to
-remove any old or temporary revisions it needed, the history looks
-like this:
-.sp
-.nf
-.ft C
-@ 2[tip] 989b4d060121 2009\-04\-27 18:04 \-0500 durin42
-| Add beta and delta.
-|
-o 1 081603921c3f 2009\-04\-27 18:04 \-0500 durin42
-| Add gamma
-|
-o 0 d8d2fcd0e319 2009\-04\-27 18:04 \-0500 durin42
- Add alpha
-.ft P
-.fi
-.sp
-Note that \fBhistedit\fP does \fInot\fP remove any revisions (even its own temporary
-ones) until after it has completed all the editing operations, so it will
-probably perform several strip operations when it\(aqs done. For the above example,
-it had to run strip twice. Strip can be slow depending on a variety of factors,
-so you might need to be a little patient. You can choose to keep the original
-revisions by passing the \fB\-\-keep\fP flag.
-.sp
-The \fBedit\fP operation will drop you back to a command prompt,
-allowing you to edit files freely, or even use \fBhg record\fP to commit
-some changes as a separate commit. When you\(aqre done, any remaining
-uncommitted changes will be committed as well. When done, run \fBhg
-histedit \-\-continue\fP to finish this step. You\(aqll be prompted for a
-new commit message, but the default commit message will be the
-original message for the \fBedit\fP ed revision.
-.sp
-The \fBmessage\fP operation will give you a chance to revise a commit
-message without changing the contents. It\(aqs a shortcut for doing
-\fBedit\fP immediately followed by \fIhg histedit \-\-continue\(ga\fP.
-.sp
-If \fBhistedit\fP encounters a conflict when moving a revision (while
-handling \fBpick\fP or \fBfold\fP), it\(aqll stop in a similar manner to
-\fBedit\fP with the difference that it won\(aqt prompt you for a commit
-message when done. If you decide at this point that you don\(aqt like how
-much work it will be to rearrange history, or that you made a mistake,
-you can use \fBhg histedit \-\-abort\fP to abandon the new changes you
-have made and return to the state before you attempted to edit your
-history.
-.sp
-If we clone the example repository above and add three more changes, such that
-we have the following history:
-.sp
-.nf
-.ft C
-@ 6[tip] 038383181893 2009\-04\-27 18:04 \-0500 stefan
-| Add theta
-|
-o 5 140988835471 2009\-04\-27 18:04 \-0500 stefan
-| Add eta
-|
-o 4 122930637314 2009\-04\-27 18:04 \-0500 stefan
-| Add zeta
-|
-o 3 836302820282 2009\-04\-27 18:04 \-0500 stefan
-| Add epsilon
-|
-o 2 989b4d060121 2009\-04\-27 18:04 \-0500 durin42
-| Add beta and delta.
-|
-o 1 081603921c3f 2009\-04\-27 18:04 \-0500 durin42
-| Add gamma
-|
-o 0 d8d2fcd0e319 2009\-04\-27 18:04 \-0500 durin42
- Add alpha
-.ft P
-.fi
-.sp
-If you run \fBhg histedit \-\-outgoing\fP on the clone then it is the same
-as running \fBhg histedit 836302820282\fP. If you need plan to push to a
-repository that Mercurial does not detect to be related to the source
-repo, you can add a \fB\-\-force\fP option.
-.SS Commands
-.SS histedit
-.sp
-.nf
-.ft C
-hg histedit [PARENT]
-.ft P
-.fi
-.sp
-interactively edit changeset history
-.sp
-Options:
-.INDENT 0.0
-.TP
-.B \-\-commands
-.
-Read history edits from the specified file.
-.TP
-.B \-c, \-\-continue
-.
-continue an edit already in progress
-.TP
-.B \-k, \-\-keep
-.
-don\(aqt strip old nodes after edit is complete
-.TP
-.B \-\-abort
-.
-abort an edit in progress
-.TP
-.B \-o, \-\-outgoing
-.
-changesets not found in destination
-.TP
-.B \-f, \-\-force
-.
-force outgoing even for unrelated repositories
-.TP
-.B \-r, \-\-rev
-.
-first revision to be edited
-.UNINDENT
.SS inotify
.sp
accelerate status report using Linux\(aqs inotify service
@@ -8863,138 +7303,6 @@ include names matching the given patterns
.
exclude names matching the given patterns
.UNINDENT
-.SS largefiles
-.sp
-track large binary files
-.sp
-Large binary files tend to be not very compressible, not very
-diffable, and not at all mergeable. Such files are not handled
-efficiently by Mercurial\(aqs storage format (revlog), which is based on
-compressed binary deltas; storing large binary files as regular
-Mercurial files wastes bandwidth and disk space and increases
-Mercurial\(aqs memory usage. The largefiles extension addresses these
-problems by adding a centralized client\-server layer on top of
-Mercurial: largefiles live in a \fIcentral store\fP out on the network
-somewhere, and you only fetch the revisions that you need when you
-need them.
-.sp
-largefiles works by maintaining a "standin file" in .hglf/ for each
-largefile. The standins are small (41 bytes: an SHA\-1 hash plus
-newline) and are tracked by Mercurial. Largefile revisions are
-identified by the SHA\-1 hash of their contents, which is written to
-the standin. largefiles uses that revision ID to get/put largefile
-revisions from/to the central store. This saves both disk space and
-bandwidth, since you don\(aqt need to retrieve all historical revisions
-of large files when you clone or pull.
-.sp
-To start a new repository or add new large binary files, just add
-\-\-large to your \%\fBhg add\fP\: command. For example:
-.sp
-.nf
-.ft C
-$ dd if=/dev/urandom of=randomdata count=2000
-$ hg add \-\-large randomdata
-$ hg commit \-m \(aqadd randomdata as a largefile\(aq
-.ft P
-.fi
-.sp
-When you push a changeset that adds/modifies largefiles to a remote
-repository, its largefile revisions will be uploaded along with it.
-Note that the remote Mercurial must also have the largefiles extension
-enabled for this to work.
-.sp
-When you pull a changeset that affects largefiles from a remote
-repository, Mercurial behaves as normal. However, when you update to
-such a revision, any largefiles needed by that revision are downloaded
-and cached (if they have never been downloaded before). This means
-that network access may be required to update to changesets you have
-not previously updated to.
-.sp
-If you already have large files tracked by Mercurial without the
-largefiles extension, you will need to convert your repository in
-order to benefit from largefiles. This is done with the
-\%\fBhg lfconvert\fP\: command:
-.sp
-.nf
-.ft C
-$ hg lfconvert \-\-size 10 oldrepo newrepo
-.ft P
-.fi
-.sp
-In repositories that already have largefiles in them, any new file
-over 10MB will automatically be added as a largefile. To change this
-threshold, set \fBlargefiles.minsize\fP in your Mercurial config file
-to the minimum size in megabytes to track as a largefile, or use the
-\-\-lfsize option to the add command (also in megabytes):
-.sp
-.nf
-.ft C
-[largefiles]
-minsize = 2
-
-$ hg add \-\-lfsize 2
-.ft P
-.fi
-.sp
-The \fBlargefiles.patterns\fP config option allows you to specify a list
-of filename patterns (see \%\fBhg help patterns\fP\:) that should always be
-tracked as largefiles:
-.sp
-.nf
-.ft C
-[largefiles]
-patterns =
- *.jpg
- re:.*\e.(png|bmp)$
- library.zip
- content/audio/*
-.ft P
-.fi
-.sp
-Files that match one of these patterns will be added as largefiles
-regardless of their size.
-.sp
-The \fBlargefiles.minsize\fP and \fBlargefiles.patterns\fP config options
-will be ignored for any repositories not already containing a
-largefile. To add the first largefile to a repository, you must
-explicitly do so with the \-\-large flag passed to the \%\fBhg add\fP\:
-command.
-.SS Commands
-.SS lfconvert
-.sp
-.nf
-.ft C
-hg lfconvert SOURCE DEST [FILE ...]
-.ft P
-.fi
-.sp
-Convert repository SOURCE to a new repository DEST, identical to
-SOURCE except that certain files will be converted as largefiles:
-specifically, any file that matches any PATTERN \fIor\fP whose size is
-above the minimum size threshold is converted as a largefile. The
-size used to determine whether or not to track a file as a
-largefile is the size of the first version of the file. The
-minimum size can be specified either with \-\-size or in
-configuration as \fBlargefiles.size\fP.
-.sp
-After running this command you will need to make sure that
-largefiles is enabled anywhere you intend to push the new
-repository.
-.sp
-Use \-\-to\-normal to convert largefiles back to normal files; after
-this, the DEST repository can be used without largefiles at all.
-.sp
-Options:
-.INDENT 0.0
-.TP
-.B \-s, \-\-size
-.
-minimum size (MB) for files to be converted as largefiles
-.TP
-.B \-\-to\-normal
-.
-convert from a largefiles repo to a normal repo
-.UNINDENT
.SS mq
.sp
manage a stack of patches
@@ -9038,33 +7346,8 @@ preserving existing git patches upon qrefresh. If set to \(aqyes\(aq or
\(aqno\(aq, mq will override the [diff] section and always generate git or
regular patches, possibly losing data in the second case.
.sp
-It may be desirable for mq changesets to be kept in the secret phase (see
-\%\fBhg help phases\fP\:), which can be enabled with the following setting:
-.sp
-.nf
-.ft C
-[mq]
-secret = True
-.ft P
-.fi
-.sp
You will by default be managing a patch queue named "patches". You can
create other, independent patch queues with the \%\fBhg qqueue\fP\: command.
-.sp
-If the working directory contains uncommitted files, qpush, qpop and
-qgoto abort immediately. If \-f/\-\-force is used, the changes are
-discarded. Setting:
-.sp
-.nf
-.ft C
-[mq]
-keepchanges = True
-.ft P
-.fi
-.sp
-make them behave as if \-\-keep\-changes were passed, and non\-conflicting
-local changes will be tolerated and preserved. If incompatible options
-such as \-f/\-\-force or \-\-exact are passed, this setting is ignored.
.SS Commands
.SS qapplied
.sp
@@ -9081,7 +7364,7 @@ Options:
.TP
.B \-1, \-\-last
.
-show only the preceding applied patch
+show only the last patch
.TP
.B \-s, \-\-summary
.
@@ -9161,10 +7444,6 @@ mark new/missing files as added/removed before committing
.
mark a branch as closed, hiding it from the branch list
.TP
-.B \-\-amend
-.
-amend the parent of the working dir
-.TP
.B \-I, \-\-include
.
include names matching the given patterns
@@ -9188,10 +7467,6 @@ record the specified date as commit date
.B \-u, \-\-user
.
record the specified user as committer
-.TP
-.B \-S, \-\-subrepos
-.
-recurse into subrepositories
.sp
aliases: qci
.UNINDENT
@@ -9203,9 +7478,8 @@ hg qdelete [\-k] [PATCH]...
.ft P
.fi
.sp
-The patches must not be applied, and at least one patch is required. Exact
-patch identifiers must be given. With \-k/\-\-keep, the patch files are
-preserved in the patch directory.
+The patches must not be applied, and at least one patch is required. With
+\-k/\-\-keep, the patch files are preserved in the patch directory.
.sp
To stop managing a patch and move it into permanent history,
use the \%\fBhg qfinish\fP\: command.
@@ -9376,17 +7650,9 @@ Returns 0 on success.
Options:
.INDENT 0.0
.TP
-.B \-\-keep\-changes
-.
-tolerate non\-conflicting local changes
-.TP
.B \-f, \-\-force
.
overwrite any local changes
-.TP
-.B \-\-no\-backup
-.
-do not save backup copies of files
.UNINDENT
.SS qguard
.sp
@@ -9443,7 +7709,7 @@ Returns 0 on success.
.sp
.nf
.ft C
-hg qimport [\-e] [\-n NAME] [\-f] [\-g] [\-P] [\-r REV]... [FILE]...
+hg qimport [\-e] [\-n NAME] [\-f] [\-g] [\-P] [\-r REV]... FILE...
.ft P
.fi
.sp
@@ -9634,14 +7900,9 @@ hg qpop [\-a] [\-f] [PATCH | INDEX]
.ft P
.fi
.sp
-Without argument, pops off the top of the patch stack. If given a
-patch name, keeps popping off patches until the named patch is at
-the top of the stack.
-.sp
-By default, abort if the working directory contains uncommitted
-changes. With \-\-keep\-changes, abort only if the uncommitted files
-overlap with patched files. With \-f/\-\-force, backup and discard
-changes made to such files.
+By default, pops off the top of the patch stack. If given a patch
+name, keeps popping off patches until the named patch is at the
+top of the stack.
.sp
Return 0 on success.
.sp
@@ -9656,17 +7917,9 @@ pop all patches
.
queue name to pop (DEPRECATED)
.TP
-.B \-\-keep\-changes
-.
-tolerate non\-conflicting local changes
-.TP
.B \-f, \-\-force
.
forget any local changes to patched files
-.TP
-.B \-\-no\-backup
-.
-do not save backup copies of files
.UNINDENT
.SS qprev
.sp
@@ -9693,20 +7946,14 @@ hg qpush [\-f] [\-l] [\-a] [\-\-move] [PATCH | INDEX]
.ft P
.fi
.sp
-By default, abort if the working directory contains uncommitted
-changes. With \-\-keep\-changes, abort only if the uncommitted files
-overlap with patched files. With \-f/\-\-force, backup and patch over
-uncommitted changes.
+When \-f/\-\-force is applied, all local changes in patched files
+will be lost.
.sp
Return 0 on success.
.sp
Options:
.INDENT 0.0
.TP
-.B \-\-keep\-changes
-.
-tolerate non\-conflicting local changes
-.TP
.B \-f, \-\-force
.
apply on top of local changes
@@ -9734,10 +7981,6 @@ merge queue name (DEPRECATED)
.B \-\-move
.
reorder patch series and apply only the patch
-.TP
-.B \-\-no\-backup
-.
-do not save backup copies of files
.UNINDENT
.SS qqueue
.sp
@@ -9752,8 +7995,7 @@ new patch queues and deleting existing ones.
.sp
Omitting a queue name or specifying \-l/\-\-list will show you the registered
queues \- by default the "normal" patches queue is registered. The currently
-active queue will be marked with "(active)". Specifying \-\-active will print
-only the name of the active queue.
+active queue will be marked with "(active)".
.sp
To create a new queue, use \-c/\-\-create. The queue is automatically made
active, except in the case where there are applied patches from the
@@ -9772,10 +8014,6 @@ Options:
.
list all available queues
.TP
-.B \-\-active
-.
-print name of active queue
-.TP
.B \-c, \-\-create
.
create new queue
@@ -10067,7 +8305,7 @@ print first line of patch header
.sp
.nf
.ft C
-hg strip [\-k] [\-f] [\-n] [\-B bookmark] [\-r] REV...
+hg strip [\-k] [\-f] [\-n] REV...
.ft P
.fi
.sp
@@ -10091,19 +8329,11 @@ restore.
Use the \-\-no\-backup option to discard the backup bundle once the
operation completes.
.sp
-Strip is not a history\-rewriting operation and can be used on
-changesets in the public phase. But if the stripped changesets have
-been pushed to a remote repository you will likely pull them again.
-.sp
Return 0 on success.
.sp
Options:
.INDENT 0.0
.TP
-.B \-r, \-\-rev
-.
-strip specified revision (optional, can specify revisions without this option)
-.TP
.B \-f, \-\-force
.
force removal of changesets, discard uncommitted changes (no backup)
@@ -10112,7 +8342,7 @@ force removal of changesets, discard uncommitted changes (no backup)
.
bundle only changesets with local revision number greater than REV which are not descendants of REV (DEPRECATED)
.TP
-.B \-\-no\-backup
+.B \-n, \-\-no\-backup
.
no backups
.TP
@@ -10120,189 +8350,91 @@ no backups
.
no backups (DEPRECATED)
.TP
-.B \-n
-.
-ignored (DEPRECATED)
-.TP
.B \-k, \-\-keep
.
do not modify working copy during strip
-.TP
-.B \-B, \-\-bookmark
-.
-remove revs only reachable from given bookmark
.UNINDENT
.SS notify
.sp
-hooks for sending email push notifications
+hooks for sending email notifications at commit/push time
.sp
-This extension implements hooks to send email notifications when
-changesets are sent from or received by the local repository.
+Subscriptions can be managed through a hgrc file. Default mode is to
+print messages to stdout, for testing and configuring.
.sp
-First, enable the extension as explained in \%\fBhg help extensions\fP\:, and
-register the hook you want to run. \fBincoming\fP and \fBchangegroup\fP hooks
-are run when changesets are received, while \fBoutgoing\fP hooks are for
-changesets sent to another repository:
+To use, configure the notify extension and enable it in hgrc like
+this:
.sp
.nf
.ft C
+[extensions]
+notify =
+
[hooks]
# one email for each incoming changeset
incoming.notify = python:hgext.notify.hook
-# one email for all incoming changesets
+# batch emails when many changesets incoming at one time
changegroup.notify = python:hgext.notify.hook
-
-# one email for all outgoing changesets
+# batch emails when many changesets outgoing at one time (client side)
outgoing.notify = python:hgext.notify.hook
+
+[notify]
+# config items go here
.ft P
.fi
.sp
-This registers the hooks. To enable notification, subscribers must
-be assigned to repositories. The \fB[usersubs]\fP section maps multiple
-repositories to a given recipient. The \fB[reposubs]\fP section maps
-multiple recipients to a single repository:
+Required configuration items:
.sp
.nf
.ft C
-[usersubs]
-# key is subscriber email, value is a comma\-separated list of repo glob
-# patterns
-user@host = pattern
-
-[reposubs]
-# key is glob pattern, value is a comma\-separated list of subscriber
-# emails
-pattern = user@host
+config = /path/to/file # file containing subscriptions
.ft P
.fi
.sp
-Glob patterns are matched against absolute path to repository
-root.
-.sp
-In order to place them under direct user management, \fB[usersubs]\fP and
-\fB[reposubs]\fP sections may be placed in a separate \fBhgrc\fP file and
-incorporated by reference:
+Optional configuration items:
.sp
.nf
.ft C
-[notify]
-config = /path/to/subscriptionsfile
+test = True # print messages to stdout for testing
+strip = 3 # number of slashes to strip for url paths
+domain = example.com # domain to use if committer missing domain
+style = ... # style file to use when formatting email
+template = ... # template to use when formatting email
+incoming = ... # template to use when run as incoming hook
+outgoing = ... # template to use when run as outgoing hook
+changegroup = ... # template to use when run as changegroup hook
+maxdiff = 300 # max lines of diffs to include (0=none, \-1=all)
+maxsubject = 67 # truncate subject line longer than this
+diffstat = True # add a diffstat before the diff content
+sources = serve # notify if source of incoming changes in this list
+ # (serve == ssh or http, push, pull, bundle)
+merge = False # send notification for merges (default True)
+[email]
+from = user@host.com # email address to send as if none given
+[web]
+baseurl = http://hgserver/... # root of hg web site for browsing commits
.ft P
.fi
.sp
-Notifications will not be sent until the \fBnotify.test\fP value is set
-to \fBFalse\fP; see below.
-.sp
-Notifications content can be tweaked with the following configuration entries:
-.INDENT 0.0
-.TP
-.B notify.test
-.
-If \fBTrue\fP, print messages to stdout instead of sending them. Default: True.
-.TP
-.B notify.sources
-.
-Space\-separated list of change sources. Notifications are activated only
-when a changeset\(aqs source is in this list. Sources may be:
-.INDENT 7.0
-.TP
-.B \fBserve\fP
-.sp
-changesets received via http or ssh
-.TP
-.B \fBpull\fP
-.sp
-changesets received via \fBhg pull\fP
-.TP
-.B \fBunbundle\fP
-.sp
-changesets received via \fBhg unbundle\fP
-.TP
-.B \fBpush\fP
+The notify config file has same format as a regular hgrc file. It has
+two sections so you can express subscriptions in whatever way is
+handier for you.
.sp
-changesets sent or received via \fBhg push\fP
-.TP
-.B \fBbundle\fP
-.sp
-changesets sent via \fBhg unbundle\fP
-.UNINDENT
+.nf
+.ft C
+[usersubs]
+# key is subscriber email, value is ","\-separated list of glob patterns
+user@host = pattern
+
+[reposubs]
+# key is glob pattern, value is ","\-separated list of subscriber emails
+pattern = user@host
+.ft P
+.fi
.sp
-Default: serve.
-.TP
-.B notify.strip
-.
-Number of leading slashes to strip from url paths. By default, notifications
-reference repositories with their absolute path. \fBnotify.strip\fP lets you
-turn them into relative paths. For example, \fBnotify.strip=3\fP will change
-\fB/long/path/repository\fP into \fBrepository\fP. Default: 0.
-.TP
-.B notify.domain
-.
-Default email domain for sender or recipients with no explicit domain.
-.TP
-.B notify.style
-.
-Style file to use when formatting emails.
-.TP
-.B notify.template
-.
-Template to use when formatting emails.
-.TP
-.B notify.incoming
-.
-Template to use when run as an incoming hook, overriding \fBnotify.template\fP.
-.TP
-.B notify.outgoing
-.
-Template to use when run as an outgoing hook, overriding \fBnotify.template\fP.
-.TP
-.B notify.changegroup
-.
-Template to use when running as a changegroup hook, overriding
-\fBnotify.template\fP.
-.TP
-.B notify.maxdiff
-.
-Maximum number of diff lines to include in notification email. Set to 0
-to disable the diff, or \-1 to include all of it. Default: 300.
-.TP
-.B notify.maxsubject
-.
-Maximum number of characters in email\(aqs subject line. Default: 67.
-.TP
-.B notify.diffstat
-.
-Set to True to include a diffstat before diff content. Default: True.
-.TP
-.B notify.merge
-.
-If True, send notifications for merge changesets. Default: True.
-.TP
-.B notify.mbox
-.
-If set, append mails to this mbox file instead of sending. Default: None.
-.TP
-.B notify.fromauthor
-.
-If set, use the committer of the first changeset in a changegroup for
-the "From" field of the notification mail. If not set, take the user
-from the pushing repo. Default: False.
-.UNINDENT
+Glob patterns are matched against path to repository root.
.sp
-If set, the following entries will also be used to customize the
-notifications:
-.INDENT 0.0
-.TP
-.B email.from
-.
-Email \fBFrom\fP address to use if none can be found in the generated
-email content.
-.TP
-.B web.baseurl
-.
-Root repository URL to combine with repository paths when making
-references. See also \fBnotify.strip\fP.
-.UNINDENT
+If you like, you can put notify config file in repository that users
+can push changes to, they can manage their own subscriptions.
.SS pager
.sp
browse command output with an external pager
@@ -10312,13 +8444,23 @@ To set the pager that should be used, set the application variable:
.nf
.ft C
[pager]
-pager = less \-FRX
+pager = less \-FRSX
.ft P
.fi
.sp
If no pager is set, the pager extensions uses the environment variable
$PAGER. If neither pager.pager, nor $PAGER is set, no pager is used.
.sp
+If you notice "BROKEN PIPE" error messages, you can disable them by
+setting:
+.sp
+.nf
+.ft C
+[pager]
+quiet = True
+.ft P
+.fi
+.sp
You can disable the pager for certain commands by adding them to the
pager.ignore list:
.sp
@@ -10431,9 +8573,7 @@ the messages are sent.
By default the patch is included as text in the email body for
easy reviewing. Using the \-a/\-\-attach option will instead create
an attachment for the patch. With \-i/\-\-inline an inline attachment
-will be created. You can include a patch both as text in the email
-body and as a regular or an inline attachment by combining the
-\-a/\-\-attach or \-i/\-\-inline with the \-\-body option.
+will be created.
.sp
With \-o/\-\-outgoing, emails will be generated for patches not found
in the destination repository (or only those which are ancestors
@@ -10528,10 +8668,6 @@ a base changeset to specify instead of a destination (with \-b/\-\-bundle)
.
send an introduction email for a single patch
.TP
-.B \-\-body
-.
-send patches as inline message text (default)
-.TP
.B \-a, \-\-attach
.
send patches as attachments
@@ -10623,9 +8759,6 @@ The following settings are available:
.ft C
[progress]
delay = 3 # number of seconds (float) before showing the progress bar
-changedelay = 1 # changedelay: minimum delay before showing a new topic.
- # If set to less than 3 * refresh, that value will
- # be used instead.
refresh = 0.1 # time in seconds between refreshes of the progress bar
format = topic bar number estimate # format of the progress bar
width = <none> # if set, the maximum width of the progress information
@@ -10732,7 +8865,8 @@ For more information:
.sp
.nf
.ft C
-hg rebase [\-s REV | \-b REV] [\-d REV] [OPTION]
+hg rebase [\-s REV | \-b REV] [\-d REV] [options]
+hg rebase {\-a|\-c}
.ft P
.fi
.sp
@@ -10792,10 +8926,6 @@ rebase from the specified changeset
.
rebase from the base of the specified changeset (up to greatest common ancestor of base and dest)
.TP
-.B \-r, \-\-rev
-.
-rebase these revisions
-.TP
.B \-d, \-\-dest
.
rebase onto the specified changeset
@@ -10808,10 +8938,6 @@ collapse the rebased changesets
.
use text as collapse commit message
.TP
-.B \-e, \-\-edit
-.
-invoke editor on commit messages
-.TP
.B \-l, \-\-logfile
.
read collapse commit message from file
@@ -10824,9 +8950,9 @@ keep original changesets
.
keep original branch names
.TP
-.B \-D, \-\-detach
+.B \-\-detach
.
-(DEPRECATED)
+force detaching of source from its original branch
.TP
.B \-t, \-\-tool
.
@@ -10884,7 +9010,6 @@ possible:
.ft C
y \- record this change
n \- skip this change
-e \- edit this change manually
s \- skip remaining changes to this file
f \- record remaining changes to this file
@@ -10910,10 +9035,6 @@ mark new/missing files as added/removed before committing
.
mark a branch as closed, hiding it from the branch list
.TP
-.B \-\-amend
-.
-amend the parent of the working dir
-.TP
.B \-I, \-\-include
.
include names matching the given patterns
@@ -10938,10 +9059,6 @@ record the specified date as commit date
.
record the specified user as committer
.TP
-.B \-S, \-\-subrepos
-.
-recurse into subrepositories
-.TP
.B \-w, \-\-ignore\-all\-space
.
ignore white space when comparing lines
@@ -11074,15 +9191,6 @@ Options:
.
do not create a working copy
.UNINDENT
-.SS unshare
-.sp
-.nf
-.ft C
-hg unshare
-.ft P
-.fi
-.sp
-Copy the store data to the repo and remove the sharedpath data.
.SS transplant
.sp
command to transplant changesets from another branch
@@ -11126,7 +9234,7 @@ the branch holding the named revision, up to that revision. If
transplanted, otherwise you will be prompted to select the
changesets you want.
.sp
-\%\fBhg transplant \-\-branch REV \-\-all\fP\: will transplant the
+\%\fBhg transplant \-\-branch REVISION \-\-all\fP\: will transplant the
selected branch (up to the named revision) onto your current
working directory.
.sp
@@ -11135,9 +9243,6 @@ changesets. You will not be prompted to transplant any ancestors
of a merged transplant, and you can merge descendants of them
normally instead of transplanting them.
.sp
-Merge changesets may be transplanted directly by specifying the
-proper parent changeset by calling \%\fBhg transplant \-\-parent\fP\:.
-.sp
If no merges or revisions are provided, \%\fBhg transplant\fP\: will
start an interactive changeset browser.
.sp
@@ -11168,14 +9273,6 @@ skip over REV
.
merge at REV
.TP
-.B \-\-parent
-.
-parent to choose when transplanting merge
-.TP
-.B \-e, \-\-edit
-.
-invoke editor on commit messages
-.TP
.B \-\-log
.
append transplant info to log message
@@ -11329,47 +9426,25 @@ zc\-test = http://example.com:8000/test
.SH FILES
.INDENT 0.0
.TP
-.B \fB/etc/mercurial/hgrc\fP, \fB$HOME/.hgrc\fP, \fB.hg/hgrc\fP
-.sp
-This file contains defaults and configuration. Values in
-\fB.hg/hgrc\fP override those in \fB$HOME/.hgrc\fP, and these override
-settings made in the global \fB/etc/mercurial/hgrc\fP configuration.
-See \%\fBhgrc\fP(5)\: for details of the contents and format of these
-files.
-.TP
.B \fB.hgignore\fP
.sp
This file contains regular expressions (one per line) that
describe file names that should be ignored by \fBhg\fP. For details,
see \%\fBhgignore\fP(5)\:.
.TP
-.B \fB.hgsub\fP
-.sp
-This file defines the locations of all subrepositories, and
-tells where the subrepository checkouts came from. For details, see
-\%\fBhg help subrepos\fP\:.
-.TP
-.B \fB.hgsubstate\fP
-.sp
-This file is where Mercurial stores all nested repository states. \fINB: This
-file should not be edited manually.\fP
-.TP
.B \fB.hgtags\fP
.sp
This file contains changeset hash values and text tag names (one
of each separated by spaces) that correspond to tagged versions of
-the repository contents. The file content is encoded using UTF\-8.
-.TP
-.B \fB.hg/last\-message.txt\fP
-.sp
-This file is used by \%\fBhg commit\fP\: to store a backup of the commit message
-in case the commit fails.
+the repository contents.
.TP
-.B \fB.hg/localtags\fP
+.B \fB/etc/mercurial/hgrc\fP, \fB$HOME/.hgrc\fP, \fB.hg/hgrc\fP
.sp
-This file can be used to define local tags which are not shared among
-repositories. The file format is the same as for \fB.hgtags\fP, but it is
-encoded using the local system encoding.
+This file contains defaults and configuration. Values in
+\fB.hg/hgrc\fP override those in \fB$HOME/.hgrc\fP, and these override
+settings made in the global \fB/etc/mercurial/hgrc\fP configuration.
+See \%\fBhgrc\fP(5)\: for details of the contents and format of these
+files.
.UNINDENT
.sp
Some commands (e.g. revert) produce backup files ending in \fB.orig\fP,
@@ -11394,7 +9469,7 @@ Source code repository: \%http://selenic.com/hg\:
Mailing list: \%http://selenic.com/mailman/listinfo/mercurial\:
.SH COPYING
.sp
-Copyright (C) 2005\-2012 Matt Mackall.
+Copyright (C) 2005\-2010 Matt Mackall.
Free use of this software is granted under the terms of the GNU General
Public License version 2 or any later version.
.\" Common link and substitution definitions.