hg.1.txt
807 lines
| 27.2 KiB
| text/plain
|
TextLexer
/ doc / hg.1.txt
|
r177 | HG(1) | ||
===== | ||||
Matt Mackall <mpm@selenic.com> | ||||
NAME | ||||
---- | ||||
|
r438 | hg - Mercurial source code management system | ||
|
r177 | |||
SYNOPSIS | ||||
-------- | ||||
'hg' [-v -d -q -y] <command> [command options] [files] | ||||
DESCRIPTION | ||||
----------- | ||||
The hg(1) command provides a command line interface to the Mercurial system. | ||||
OPTIONS | ||||
------- | ||||
|
r438 | |||
|
r1084 | -R, --repository:: | ||
repository root directory | ||||
|
r1216 | |||
|
r1084 | --cwd:: | ||
change working directory | ||||
|
r177 | |||
|
r1084 | -y, --noninteractive:: | ||
do not prompt, assume 'yes' for any required answers | ||||
-q, --quiet:: | ||||
|
r177 | suppress output | ||
|
r1084 | -v, --verbose:: | ||
|
r177 | enable additional output | ||
|
r1084 | --debug:: | ||
enable debugging output | ||||
--traceback:: | ||||
print traceback on exception | ||||
--time:: | ||||
time how long the command takes | ||||
--profile:: | ||||
print command execution profile | ||||
--version:: | ||||
output version information and exit | ||||
-h, --help:: | ||||
display help and exit | ||||
|
r177 | |||
COMMAND ELEMENTS | ||||
---------------- | ||||
files ...:: | ||||
|
r724 | indicates one or more filename or relative path filenames; see | ||
"FILE NAME PATTERNS" for information on pattern matching | ||||
|
r177 | |||
path:: | ||||
indicates a path on the local machine | ||||
|
r478 | revision:: | ||
|
r438 | indicates a changeset which can be specified as a changeset revision | ||
number, a tag, or a unique substring of the changeset hash value | ||||
|
r177 | |||
repository path:: | ||||
|
r498 | either the pathname of a local repository or the URI of a remote | ||
|
r181 | repository. There are two available URI protocols, http:// which is | ||
|
r478 | fast and the old-http:// protocol which is much slower but does not | ||
|
r438 | require a special server on the web host. | ||
|
r177 | |||
COMMANDS | ||||
-------- | ||||
|
r438 | |||
|
r724 | add [options] [files ...]:: | ||
|
r497 | Schedule files to be version controlled and added to the repository. | ||
|
r1216 | |||
|
r498 | The files will be added to the repository at the next commit. | ||
|
r177 | |||
|
r724 | If no names are given, add all files in the current directory and | ||
|
r728 | its subdirectories. | ||
|
r724 | |||
|
r766 | addremove [options] [files ...]:: | ||
|
r497 | Add all new files and remove all missing files from the repository. | ||
|
r1216 | |||
|
r497 | New files are ignored if they match any of the patterns in .hgignore. As | ||
|
r498 | with add, these changes take effect at the next commit. | ||
|
r177 | |||
|
r438 | annotate [-r <rev> -u -n -c] [files ...]:: | ||
|
r497 | List changes in files, showing the revision id responsible for each line | ||
|
r1216 | |||
|
r497 | This command is useful to discover who did a change or when a change took | ||
place. | ||||
|
r1016 | |||
Without the -a option, annotate will avoid processing files it | ||||
detects as binary. With -a, annotate will generate an annotation | ||||
anyway, probably with undesirable results. | ||||
|
r1216 | |||
|
r438 | options: | ||
|
r1016 | -a, --text treat all files as text | ||
|
r811 | -I, --include <pat> include names matching the given patterns | ||
-X, --exclude <pat> exclude names matching the given patterns | ||||
|
r438 | -r, --revision <rev> annotate the specified revision | ||
-u, --user list the author | ||||
-c, --changeset list the changeset | ||||
-n, --number list the revision number (default) | ||||
|
r177 | |||
|
r1218 | bundle <file> <other>:: | ||
(EXPERIMENTAL) | ||||
Generate a compressed changegroup file collecting all changesets | ||||
not found in the other repository. | ||||
This file can then be transferred using conventional means and | ||||
applied to another repository with the unbundle command. This is | ||||
useful when native push and pull are not available or when | ||||
exporting an entire repository is undesirable. The standard file | ||||
extension is ".hg". | ||||
Unlike import/export, this exactly preserves all changeset | ||||
contents including permissions, rename data, and revision history. | ||||
|
r1254 | cat [options] <file ...>:: | ||
Print the specified files as they were at the given revision. | ||||
If no revision is given then the tip is used. | ||||
Output may be to a file, in which case the name of the file is | ||||
given using a format string. The formatting rules are the same as | ||||
for the export command, with the following additions: | ||||
|
r497 | |||
|
r1254 | %s basename of file being printed | ||
%d dirname of file being printed, or '.' if in repo root | ||||
%p root-relative path name of file being printed | ||||
options: | ||||
-I, --include <pat> include names matching the given patterns | ||||
-X, --exclude <pat> exclude names matching the given patterns | ||||
-o, --output <filespec> print output to file with formatted name | ||||
-r, --rev <rev> print the given revision | ||||
|
r177 | |||
|
r1281 | clone [options] <source> [dest]:: | ||
|
r497 | Create a copy of an existing repository in a new directory. | ||
|
r523 | If no destination directory name is specified, it defaults to the | ||
basename of the source. | ||||
|
r497 | |||
|
r1281 | The location of the source is added to the new repository's | ||
.hg/hgrc file, as the default to be used for future pulls. | ||||
|
r497 | |||
|
r1281 | For efficiency, hardlinks are used for cloning whenever the source | ||
and destination are on the same filesystem. Some filesystems, | ||||
such as AFS, implement hardlinking incorrectly, but do not report | ||||
errors. In these cases, use the --pull option to avoid | ||||
hardlinking. | ||||
|
r497 | |||
options: | ||||
|
r505 | -U, --noupdate do not update the new working directory | ||
|
r1281 | --pull use pull protocol to copy metadata | ||
|
r963 | -e, --ssh specify ssh command to use | ||
--remotecmd specify hg command to run on the remote side | ||||
|
r497 | |||
|
r813 | commit [options] [files...]:: | ||
|
r498 | Commit changes to the given files into the repository. | ||
|
r1216 | |||
|
r498 | If a list of files is omitted, all changes reported by "hg status" | ||
|
r813 | from the root of the repository will be commited. | ||
|
r1216 | |||
|
r498 | The HGEDITOR or EDITOR environment variables are used to start an | ||
editor to add a commit comment. | ||||
|
r497 | |||
Options: | ||||
-A, --addremove run addremove during commit | ||||
|
r813 | -I, --include <pat> include names matching the given patterns | ||
-X, --exclude <pat> exclude names matching the given patterns | ||||
|
r761 | -m, --message <text> use <text> as commit message | ||
|
r1084 | -l, --logfile <file> read the commit message from <file> | ||
|
r497 | -d, --date <datecode> record datecode as commit date | ||
-u, --user <user> record user as commiter | ||||
aliases: ci | ||||
|
r1249 | copy <source ...> <dest>:: | ||
Mark dest as having copies of source files. If dest is a | ||||
directory, copies are put in that directory. If dest is a file, | ||||
there can only be one source. | ||||
By default, this command copies the contents of files as they | ||||
stand in the working directory. If invoked with --after, the | ||||
operation is recorded, but no copying is performed. | ||||
|
r1216 | |||
|
r1253 | This command takes effect in the next commit. | ||
|
r497 | |||
|
r1256 | NOTE: This command should be treated as experimental. While it | ||
should properly record copied files, this information is not yet | ||||
fully used by merge, nor fully reported by log. | ||||
|
r1249 | Options: | ||
|
r1254 | -A, --after record a copy that has already occurred | ||
-I, --include <pat> include names matching the given patterns | ||||
-X, --exclude <pat> exclude names matching the given patterns | ||||
-f, --force forcibly copy over an existing managed file | ||||
-p, --parents append source path to dest | ||||
|
r1249 | |||
|
r1253 | aliases: cp | ||
|
r1015 | diff [-a] [-r revision] [-r revision] [files ...]:: | ||
|
r497 | Show differences between revisions for the specified files. | ||
|
r1216 | |||
|
r497 | Differences between files are shown using the unified diff format. | ||
|
r1216 | |||
|
r498 | When two revision arguments are given, then changes are shown | ||
between those revisions. If only one revision is specified then | ||||
that revision is compared to the working directory, and, when no | ||||
revisions are specified, the working directory files are compared | ||||
to its parent. | ||||
|
r497 | |||
|
r1015 | Without the -a option, diff will avoid generating diffs of files | ||
it detects as binary. With -a, diff will generate a diff anyway, | ||||
probably with undesirable results. | ||||
|
r734 | options: | ||
|
r1015 | -a, --text treat all files as text | ||
|
r811 | -I, --include <pat> include names matching the given patterns | ||
-X, --exclude <pat> exclude names matching the given patterns | ||||
|
r734 | |||
|
r580 | export [-o filespec] [revision] ...:: | ||
Print the changeset header and diffs for one or more revisions. | ||||
The information shown in the changeset header is: author, | ||||
changeset hash, parent and commit comment. | ||||
Output may be to a file, in which case the name of the file is | ||||
given using a format string. The formatting rules are as follows: | ||||
|
r497 | |||
|
r580 | %% literal "%" character | ||
%H changeset hash (40 bytes of hexadecimal) | ||||
%N number of patches being generated | ||||
%R changeset revision number | ||||
%b basename of the exporting repository | ||||
%h short-form changeset hash (12 bytes of hexadecimal) | ||||
%n zero-padded sequence number, starting at 1 | ||||
%r zero-padded changeset revision number | ||||
|
r1015 | Without the -a option, export will avoid generating diffs of files | ||
it detects as binary. With -a, export will generate a diff anyway, | ||||
probably with undesirable results. | ||||
|
r580 | |||
|
r1015 | options: | ||
-a, --text treat all files as text | ||||
|
r1254 | -o, --output <filespec> print output to file with formatted name | ||
|
r497 | |||
|
r810 | forget [options] [files]:: | ||
|
r497 | Undo an 'hg add' scheduled for the next commit. | ||
|
r810 | options: | ||
|
r811 | -I, --include <pat> include names matching the given patterns | ||
-X, --exclude <pat> exclude names matching the given patterns | ||||
|
r810 | |||
|
r1146 | grep [options] pattern [files]:: | ||
Search revisions of files for a regular expression. | ||||
This command behaves differently than Unix grep. It only accepts | ||||
Python/Perl regexps. It searches repository history, not the | ||||
working directory. It always prints the revision number in which | ||||
a match appears. | ||||
By default, grep only prints output for the first revision of a | ||||
file in which it finds a match. To get it to print every revision | ||||
that contains a change in match status ("-" for a match that | ||||
becomes a non-match, or "+" for a non-match that becomes a match), | ||||
|
r1212 | use the --all flag. | ||
|
r1146 | |||
options: | ||||
-0, --print0 end fields with NUL | ||||
-I, --include <pat> include names matching the given patterns | ||||
-X, --exclude <pat> exclude names matching the given patterns | ||||
|
r1212 | --all print all revisions that match | ||
|
r1146 | -i, --ignore-case ignore case when matching | ||
|
r1274 | -l, --files-with-matches print only filenames and revs that match | ||
|
r1146 | -n, --line-number print matching line numbers | ||
-r <rev>, --rev <rev> search in given revision range | ||||
-u, --user print user who committed change | ||||
|
r497 | heads:: | ||
Show all repository head changesets. | ||||
|
r1216 | |||
|
r498 | Repository "heads" are changesets that don't have children | ||
changesets. They are where development generally takes place and | ||||
are the usual targets for update and merge operations. | ||||
|
r497 | |||
identify:: | ||||
Print a short summary of the current state of the repo. | ||||
|
r1216 | |||
|
r497 | This summary identifies the repository state using one or two parent | ||
hash identifiers, followed by a "+" if there are uncommitted changes | ||||
in the working directory, followed by a list of tags for this revision. | ||||
aliases: id | ||||
|
r966 | import [-p <n> -b <base> -f] <patches>:: | ||
|
r497 | Import a list of patches and commit them individually. | ||
|
r1211 | If there are outstanding changes in the working directory, import | ||
will abort unless given the -f flag. | ||||
|
r1190 | If a patch looks like a mail message (its first line starts with | ||
"From " or looks like an RFC822 header), it will not be applied | ||||
|
r1211 | unless the -f option is used. The importer neither parses nor | ||
discards mail headers, so use -f only to override the "mailness" | ||||
|
r1190 | safety check, not to import a real mail message. | ||
|
r497 | options: | ||
-p, --strip <n> directory strip option for patch. This has the same | ||||
|
r1045 | meaning as the corresponding patch option | ||
|
r497 | -b <path> base directory to read patches from | ||
|
r1216 | -f, --force skip check for outstanding uncommitted changes | ||
|
r497 | |||
aliases: patch | ||||
|
r1192 | incoming [-p] [source]:: | ||
|
r928 | Show new changesets found in the specified repo or the default | ||
pull repo. These are the changesets that would be pulled if a pull | ||||
was requested. | ||||
Currently only local repositories are supported. | ||||
|
r1192 | options: | ||
-p, --patch show patch | ||||
|
r940 | aliases: in | ||
|
r907 | init [dest]:: | ||
Initialize a new repository in the given directory. If the given | ||||
directory does not exist, it is created. | ||||
If no directory is given, the current directory is used. | ||||
|
r177 | |||
|
r724 | locate [options] [files]:: | ||
Print all files under Mercurial control whose names match the | ||||
|
r629 | given patterns. | ||
|
r627 | |||
This command searches the current directory and its | ||||
subdirectories. To search an entire repository, move to the root | ||||
of the repository. | ||||
If no patterns are given to match, this command prints all file | ||||
names. | ||||
If you want to feed the output of this command into the "xargs" | ||||
command, use the "-0" option to both this command and "xargs". | ||||
This will avoid the problem of "xargs" treating single filenames | ||||
|
r1274 | that contain white space as multiple filenames. | ||
|
r627 | |||
options: | ||||
-0, --print0 end filenames with NUL, for use with xargs | ||||
-f, --fullpath print complete paths from the filesystem root | ||||
|
r811 | -I, --include <pat> include names matching the given patterns | ||
|
r627 | -r, --rev <rev> search the repository as it stood at rev | ||
|
r811 | -X, --exclude <pat> exclude names matching the given patterns | ||
|
r627 | |||
|
r1036 | log [-r revision ...] [-p] [files]:: | ||
Print the revision history of the specified files or the entire project. | ||||
|
r177 | |||
|
r509 | By default this command outputs: changeset id and hash, tags, | ||
parents, user, date and time, and a summary for each commit. The | ||||
-v switch adds some more detail, such as changed files, manifest | ||||
hashes or message signatures. | ||||
|
r612 | options: | ||
|
r1036 | -I, --include <pat> include names matching the given patterns | ||
-X, --exclude <pat> exclude names matching the given patterns | ||||
-r, --rev <A> show the specified revision or range | ||||
-p, --patch show patch | ||||
|
r552 | |||
|
r509 | aliases: history | ||
|
r497 | |||
|
r438 | manifest [revision]:: | ||
|
r497 | Print a list of version controlled files for the given revision. | ||
The manifest is the list of files being version controlled. If no revision | ||||
is given then the tip is used. | ||||
|
r438 | |||
|
r1216 | outgoing [-p] [dest]:: | ||
|
r928 | Show changesets not found in the specified destination repo or the | ||
default push repo. These are the changesets that would be pushed | ||||
if a push was requested. | ||||
|
r1192 | options: | ||
-p, --patch show patch | ||||
|
r940 | aliases: out | ||
|
r438 | parents:: | ||
Print the working directory's parent revisions. | ||||
|
r924 | paths [NAME]:: | ||
Show definition of symbolic path name NAME. If no name is given, show | ||||
definition of available names. | ||||
|
r951 | Path names are defined in the [paths] section of /etc/mercurial/hgrc | ||
and $HOME/.hgrc. If run inside a repository, .hg/hgrc is used, too. | ||||
|
r924 | |||
|
r438 | pull <repository path>:: | ||
|
r498 | Pull changes from a remote repository to a local one. | ||
|
r497 | |||
|
r498 | This finds all changes from the repository at the specified path | ||
or URL and adds them to the local repository. By default, this | ||||
does not update the copy of the project in the working directory. | ||||
|
r438 | |||
|
r962 | Valid URLs are of the form: | ||
local/filesystem/path | ||||
http://[user@]host[:port][/path] | ||||
https://[user@]host[:port][/path] | ||||
ssh://[user@]host[:port][/path] | ||||
|
r1265 | SSH requires an accessible shell account on the destination machine | ||
and a copy of hg in the remote path. With SSH, paths are relative | ||||
to the remote user's home directory by default; use two slashes at | ||||
the start of a path to specify it as relative to the filesystem root. | ||||
|
r1216 | |||
|
r438 | options: | ||
-u, --update update the working directory to tip after pull | ||||
|
r963 | -e, --ssh specify ssh command to use | ||
--remotecmd specify hg command to run on the remote side | ||||
|
r438 | |||
push <destination>:: | ||||
|
r497 | Push changes from the local repository to the given destination. | ||
|
r1216 | |||
|
r498 | This is the symmetrical operation for pull. It helps to move | ||
changes from the current repository to a different one. If the | ||||
destination is local this is identical to a pull in that directory | ||||
from the current one. | ||||
|
r438 | |||
|
r962 | By default, push will refuse to run if it detects the result would | ||
increase the number of remote heads. This generally indicates the | ||||
the client has forgotten to sync and merge before pushing. | ||||
Valid URLs are of the form: | ||||
|
r438 | |||
|
r962 | local/filesystem/path | ||
ssh://[user@]host[:port][/path] | ||||
|
r1216 | |||
|
r962 | SSH requires an accessible shell account on the destination | ||
machine and a copy of hg in the remote path. | ||||
options: | ||||
-f, --force force update | ||||
-e, --ssh specify ssh command to use | ||||
--remotecmd specify hg command to run on the remote side | ||||
|
r438 | |||
|
r747 | rawcommit [-p -d -u -F -m -l]:: | ||
|
r497 | Lowlevel commit, for use in helper scripts. | ||
|
r1216 | |||
|
r497 | This command is not intended to be used by normal users, as it is | ||
primarily useful for importing from other SCMs. | ||||
|
r177 | |||
|
r196 | recover:: | ||
|
r497 | Recover from an interrupted commit or pull. | ||
|
r1216 | |||
|
r497 | This command tries to fix the repository status after an interrupted | ||
operation. It should only be necessary when Mercurial suggests it. | ||||
|
r196 | |||
|
r1188 | remove [options] [files ...]:: | ||
|
r497 | Schedule the indicated files for removal from the repository. | ||
|
r1216 | |||
|
r1045 | This command schedules the files to be removed at the next commit. | ||
|
r498 | This only removes files from the current branch, not from the | ||
|
r1247 | entire project history. If the files still exist in the working | ||
directory, they will be deleted from it. | ||||
|
r478 | |||
|
r438 | aliases: rm | ||
|
r177 | |||
|
r1253 | rename <source ...> <dest>:: | ||
Mark dest as copies of sources; mark sources for deletion. If | ||||
dest is a directory, copies are put in that directory. If dest is | ||||
a file, there can only be one source. | ||||
By default, this command copies the contents of files as they | ||||
stand in the working directory. If invoked with --after, the | ||||
operation is recorded, but no copying is performed. | ||||
This command takes effect in the next commit. | ||||
|
r1256 | NOTE: This command should be treated as experimental. While it | ||
should properly record rename files, this information is not yet | ||||
fully used by merge, nor fully reported by log. | ||||
|
r1253 | Options: | ||
-A, --after record a rename that has already occurred | ||||
-f, --force forcibly copy over an existing managed file | ||||
-p, --parents append source path to dest | ||||
aliases: mv | ||||
|
r588 | revert [names ...]:: | ||
Revert any uncommitted modifications made to the named files or | ||||
directories. This restores the contents of the affected files to | ||||
an unmodified state. | ||||
If a file has been deleted, it is recreated. If the executable | ||||
mode of a file was changed, it is reset. | ||||
If a directory is given, all files in that directory and its | ||||
subdirectories are reverted. | ||||
If no arguments are given, all files in the current directory and | ||||
its subdirectories are reverted. | ||||
options: | ||||
-r, --rev <rev> revision to revert to | ||||
-n, --nonrecursive do not recurse into subdirectories | ||||
|
r478 | root:: | ||
Print the root directory of the current repository. | ||||
|
r606 | serve [options]:: | ||
|
r438 | Start a local HTTP repository browser and pull server. | ||
|
r605 | By default, the server logs accesses to stdout and errors to | ||
stderr. Use the "-A" and "-E" options to log to files. | ||||
|
r438 | options: | ||
|
r605 | -A, --accesslog <file> name of access log file to write to | ||
-E, --errorlog <file> name of error log file to write to | ||||
-a, --address <addr> address to use | ||||
-p, --port <n> port to use (default: 8000) | ||||
-n, --name <name> name to show in web pages (default: working dir) | ||||
|
r438 | -t, --templatedir <path> web templates to use | ||
|
r825 | -6, --ipv6 use IPv6 in addition to IPv4 | ||
|
r177 | |||
|
r731 | status [options] [files]:: | ||
Show changed files in the working directory. If no names are | ||||
given, all files are shown. Otherwise, only files matching the | ||||
given names are shown. | ||||
|
r438 | |||
|
r497 | The codes used to show the status of files are: | ||
|
r1216 | |||
|
r746 | M = changed | ||
|
r438 | A = added | ||
R = removed | ||||
? = not tracked | ||||
|
r731 | options: | ||
|
r840 | -m, --modified show only modified files | ||
-a, --added show only added files | ||||
-r, --removed show only removed files | ||||
-u, --unknown show only unknown (not tracked) files | ||||
|
r1113 | -n, --no-status hide status prefix | ||
|
r1088 | -0, --print0 end filenames with NUL, for use with xargs | ||
|
r811 | -I, --include <pat> include names matching the given patterns | ||
-X, --exclude <pat> exclude names matching the given patterns | ||||
|
r731 | |||
|
r750 | tag [-l -m <text> -d <datecode> -u <user>] <name> [revision]:: | ||
|
r497 | Name a particular revision using <name>. | ||
|
r1216 | |||
|
r497 | Tags are used to name particular revisions of the repository and are | ||
very useful to compare different revision, to go back to significant | ||||
|
r498 | earlier versions or to mark branch points as releases, etc. | ||
|
r1216 | |||
|
r498 | If no revision is given, the tip is used. | ||
|
r438 | |||
|
r498 | To facilitate version control, distribution, and merging of tags, | ||
they are stored as a file named ".hgtags" which is managed | ||||
similarly to other project files and can be hand-edited if | ||||
necessary. | ||||
|
r438 | options: | ||
|
r631 | -l, --local make the tag local | ||
|
r761 | -m, --message <text> message for tag commit log entry | ||
|
r438 | -d, --date <datecode> datecode for commit | ||
-u, --user <user> user for commit | ||||
|
r177 | |||
|
r631 | Note: Local tags are not version-controlled or distributed and are | ||
stored in the .hg/localtags file. If there exists a local tag and | ||||
a public tag with the same name, local tag is used. | ||||
|
r498 | |||
|
r177 | tags:: | ||
|
r478 | List the repository tags. | ||
|
r438 | |||
|
r498 | This lists both regular and local tags. | ||
|
r497 | |||
|
r438 | tip:: | ||
|
r478 | Show the tip revision. | ||
|
r177 | |||
|
r1218 | unbundle <file>:: | ||
(EXPERIMENTAL) | ||||
Apply a compressed changegroup file generated by the bundle | ||||
command. | ||||
|
r196 | undo:: | ||
|
r438 | Undo the last commit or pull transaction. | ||
|
r595 | Roll back the last pull or commit transaction on the | ||
repository, restoring the project to its earlier state. | ||||
This command should be used with care. There is only one level of | ||||
undo and there is no redo. | ||||
This command is not intended for use on public repositories. Once | ||||
a change is visible for pull by other users, undoing it locally is | ||||
ineffective. | ||||
|
r438 | update [-m -C] [revision]:: | ||
|
r498 | Update the working directory to the specified revision. | ||
|
r438 | |||
|
r498 | By default, update will refuse to run if doing so would require | ||
merging or discarding local changes. | ||||
With the -m option, a merge will be performed. | ||||
With the -C option, local changes will be lost. | ||||
|
r1216 | |||
|
r438 | options: | ||
-m, --merge allow merging of branches | ||||
-C, --clean overwrite locally modified files | ||||
aliases: up checkout co | ||||
verify:: | ||||
Verify the integrity of the current repository. | ||||
This will perform an extensive check of the repository's | ||||
integrity, validating the hashes and checksums of each entry in | ||||
the changelog, manifest, and tracked files, as well as the | ||||
integrity of their crosslinks and indices. | ||||
|
r724 | FILE NAME PATTERNS | ||
------------------ | ||||
Mercurial accepts several notations for identifying one or more | ||||
|
r1274 | files at a time. | ||
|
r724 | |||
|
r1274 | By default, Mercurial treats filenames as shell-style extended | ||
|
r724 | glob patterns. | ||
Alternate pattern notations must be specified explicitly. | ||||
To use a plain path name without any pattern matching, start a | ||||
name with "path:". These path names must match completely, from | ||||
the root of the current repository. | ||||
To use an extended glob, start a name with "glob:". Globs are | ||||
rooted at the current directory; a glob such as "*.c" will match | ||||
files ending in ".c" in the current directory only. | ||||
The supported glob syntax extensions are "**" to match any string | ||||
across path separators, and "{a,b}" to mean "a or b". | ||||
To use a Perl/Python regular expression, start a name with "re:". | ||||
Regexp pattern matching is anchored at the root of the repository. | ||||
Plain examples: | ||||
path:foo/bar a name bar in a directory named foo in the root of | ||||
the repository | ||||
path:path:name a file or directory named "path:name" | ||||
Glob examples: | ||||
glob:*.c any name ending in ".c" in the current directory | ||||
*.c any name ending in ".c" in the current directory | ||||
**.c any name ending in ".c" in the current directory, or | ||||
any subdirectory | ||||
foo/*.c any name ending in ".c" in the directory foo | ||||
foo/**.c any name ending in ".c" in the directory foo, or any | ||||
subdirectory | ||||
Regexp examples: | ||||
|
r1045 | re:.*\.c$ any name ending in ".c", anywhere in the repository | ||
|
r724 | |||
|
r580 | SPECIFYING SINGLE REVISIONS | ||
--------------------------- | ||||
Mercurial accepts several notations for identifying individual | ||||
revisions. | ||||
A plain integer is treated as a revision number. Negative | ||||
integers are treated as offsets from the tip, with -1 denoting the | ||||
tip. | ||||
A 40-digit hexadecimal string is treated as a unique revision | ||||
identifier. | ||||
A hexadecimal string less than 40 characters long is treated as a | ||||
unique revision identifier, and referred to as a short-form | ||||
identifier. A short-form identifier is only valid if it is the | ||||
prefix of one full-length identifier. | ||||
Any other string is treated as a tag name, which is a symbolic | ||||
name associated with a revision identifier. Tag names may not | ||||
contain the ":" character. | ||||
The reserved name "tip" is a special tag that always identifies | ||||
the most recent revision. | ||||
SPECIFYING MULTIPLE REVISIONS | ||||
----------------------------- | ||||
When Mercurial accepts more than one revision, they may be | ||||
specified individually, or provided as a continuous range, | ||||
separated by the ":" character. | ||||
The syntax of range notation is [BEGIN]:[END], where BEGIN and END | ||||
are revision identifiers. Both BEGIN and END are optional. If | ||||
BEGIN is not specified, it defaults to revision number 0. If END | ||||
is not specified, it defaults to the tip. The range ":" thus | ||||
means "all revisions". | ||||
If BEGIN is greater than END, revisions are treated in reverse | ||||
order. | ||||
|
r860 | A range acts as a closed interval. This means that a range of 3:5 | ||
|
r580 | gives 3, 4 and 5. Similarly, a range of 4:2 gives 4, 3, and 2. | ||
|
r196 | |||
|
r177 | ENVIRONMENT VARIABLES | ||
--------------------- | ||||
|
r438 | |||
|
r478 | HGEDITOR:: | ||
This is the name of the editor to use when committing. Defaults to the | ||||
|
r1216 | value of EDITOR. | ||
|
r608 | |||
(deprecated, use .hgrc) | ||||
|
r478 | |||
|
r177 | HGMERGE:: | ||
|
r498 | An executable to use for resolving merge conflicts. The program | ||
|
r438 | will be executed with three arguments: local file, remote file, | ||
ancestor file. | ||||
The default program is "hgmerge", which is a shell script provided | ||||
by Mercurial with some sensible defaults. | ||||
|
r177 | |||
|
r608 | (deprecated, use .hgrc) | ||
|
r177 | HGUSER:: | ||
|
r438 | This is the string used for the author of a commit. | ||
|
r177 | |||
|
r608 | (deprecated, use .hgrc) | ||
|
r177 | EMAIL:: | ||
|
r438 | If HGUSER is not set, this will be used as the author for a commit. | ||
|
r177 | |||
LOGNAME:: | ||||
|
r478 | If neither HGUSER nor EMAIL is set, LOGNAME will be used (with | ||
|
r438 | '@hostname' appended) as the author value for a commit. | ||
|
r177 | |||
EDITOR:: | ||||
|
r478 | This is the name of the editor used in the hgmerge script. It will be | ||
|
r498 | used for commit messages if HGEDITOR isn't set. Defaults to 'vi'. | ||
|
r438 | |||
PYTHONPATH:: | ||||
This is used by Python to find imported modules and may need to be set | ||||
appropriately if Mercurial is not installed system-wide. | ||||
|
r177 | |||
FILES | ||||
----- | ||||
.hgignore:: | ||||
|
r438 | This file contains regular expressions (one per line) that describe file | ||
|
r478 | names that should be ignored by hg. | ||
|
r177 | |||
.hgtags:: | ||||
|
r438 | This file contains changeset hash values and text tag names (one of each | ||
|
r1045 | separated by spaces) that correspond to tagged versions of the repository | ||
|
r177 | contents. | ||
|
r951 | /etc/mercurial/hgrc, $HOME/.hgrc, .hg/hgrc:: | ||
|
r438 | This file contains defaults and configuration. Values in .hg/hgrc | ||
|
r951 | override those in $HOME/.hgrc, and these override settings made in the | ||
global /etc/mercurial/hgrc configuration. See hgrc(5) for details of | ||||
the contents and format of these files. | ||||
|
r321 | |||
|
r177 | BUGS | ||
---- | ||||
Probably lots, please post them to the mailing list (See Resources below) | ||||
when you find them. | ||||
|
r671 | SEE ALSO | ||
-------- | ||||
hgrc(5) | ||||
|
r177 | AUTHOR | ||
------ | ||||
Written by Matt Mackall <mpm@selenic.com> | ||||
RESOURCES | ||||
--------- | ||||
http://selenic.com/mercurial[Main Web Site] | ||||
|
r671 | http://www.serpentine.com/mercurial[Wiki site] | ||
|
r177 | http://selenic.com/hg[Source code repository] | ||
http://selenic.com/mailman/listinfo/mercurial[Mailing list] | ||||
COPYING | ||||
------- | ||||
Copyright (C) 2005 Matt Mackall. | ||||
Free use of this software is granted under the terms of the GNU General | ||||
Public License (GPL). | ||||