# HG changeset patch # User mpm@selenic.com # Date 1119508410 28800 # Node ID b38deaf7873ed0f82c956eea138a3323a2c9e902 # Parent 5b38a5af4019e1da1ff312c2d27ad7f43889af93 Update docs -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Update docs General editing of man page adding new commands, removing old, updating usage Remove generated docs manifest hash: 68e3fa38e8ec38e80debd95854e1374a9d24fbe0 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) iD8DBQFCule6ywK+sNU5EO8RAm6SAJ0eQwB5eFG1WeswqNMRqUEclmMaNQCeMcYY Y+UCHuN6vQ4PgEUKt91+rEo= =PAAA -----END PGP SIGNATURE----- diff -r 5b38a5af4019 -r b38deaf7873e doc/hg.1 --- a/doc/hg.1 Wed Jun 22 22:31:25 2005 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,225 +0,0 @@ -.\"Generated by db2man.xsl. Don't modify this, modify the source. -.de Sh \" Subsection -.br -.if t .Sp -.ne 5 -.PP -\fB\\$1\fR -.PP -.. -.de Sp \" Vertical space (when we can't use .PP) -.if t .sp .5v -.if n .sp -.. -.de Ip \" List item -.br -.ie \\n(.$>=3 .ne \\$3 -.el .ne 3 -.IP "\\$1" \\$2 -.. -.TH "HG" 1 "" "" "" -.SH NAME -hg \- command line interface to the Mercurial source code management system -.SH "SYNOPSIS" - - -hg [\-v \-d \-q \-y] [command options] [files] - -.SH "DESCRIPTION" - - -The hg(1) command provides a command line interface to the Mercurial system\&. - -.SH "NOTE" - - -Many of the hg commands are not yet subdirectory and/or working directory aware\&. This means that some commands will only work in the top level repository directory or will only accept paths and filenames relative to the top level\&. Merges and commits, in particular, should be done in the top\-level directory\&. - -.SH "OPTIONS" - -.TP ---debug, \-d -enable debugging output - -.TP ---quiet, \-q -suppress output - -.TP ---verbose, \-v -enable additional output - -.TP ---noninteractive, \-y -do not prompt, assume yes for any required answers - -.SH "COMMAND ELEMENTS" - -.TP -files ... -indicates one or more filename or relative path filenames - -.TP -path -indicates a path on the local machine - -.TP -revision -indicates a changeset which can be specified as a changeset id (int), a tag, or a unique substring of the changeset hash value - -.TP -repository path -is either the pathname of a local repository of the URI of a remote repository\&. There are two available URI protocols, http:// which is fast and the old\-http:// protocol which is much slower but does not require python on the web host\&. - -.SH "COMMANDS" - -.TP -add [files ...] -add the given files to the repository\&. Note that this just schedules the files for addition at the next hg commit time\&. - -.TP -addremove -add all new files and remove all missing files from the repository\&. new files are ignored if they match any of the patterns in \&.hgignore - -.TP -annotate [\-r revision \-u \-n \-c] [files ...] -list the files with each line showing the revision id responsible for that line\&. \-u will add the author to the revision id, \-c will print the changeset hash, and \-n will ... - -.TP -branch -create a new branch of the repository indicated by path in the current directory\&. Note that there should not be a repository already initialized in the current directory - -.TP -checkout [revision] -check out the indicated version of the repository into the working directory\&. Note that currently no merge occurs with changed files in the working dir\&. - -.TP -commit -commit all changed files in the working dir to the repository\&. This uses the EDITOR environment variable to bring up an editor to add a commit comment\&. - -.TP -diff [\-r revision] [\-r revision] [files ...] -generate a unified diff of the indicated files\&. If there are no revisions specified, the working directory file is compared to the tip, one revision specified indicates a comparison between the working directory file and the specified revision, two revisions compares the two versions specified\&. - -.TP -dump [revision] -print the indicated revision of the file - -.TP -dumpmanifest [revision] -print the indicated revision of the manifest (list of version controlled files) - -.TP -export [revision] -print the changeset header (author, changeset hash, parent, and commit comment) and the diffs for a particular revision\&. - -.TP -history -print the revision history of the repository - -.TP -init -initialize a repository in the current directory - -.TP -log -print the revision history of the specified file - -.TP -merge -pull any changes from the specified repository to the repository in the current directory\&. Use the value of the HGMERGE environment variable as a program to resolve any merge conflicts between the two repositories\&. An implicit commit is done at the end of this process if there were any merge conflicts\&. Note that merge does not yet merge with changed files in the working dir\&. - -.TP -recover -rollback an interrupted transaction - -.TP -remove [files ...] -schedule the indicated files for removal from the repository at the next commit - -.TP -serve [\-a addr \-n name \-p port \-t templatedir] -this will start an http server, by default on port 8000, that will allow browsing the repository using the hgweb interface and will allow merging from the repository\&. \-a sets the interface address, \-p the port to listen on, \-n the name of the repository and \-t sets the location of the template directory\&. - -.TP -status -list new, changed, and missing files in the working directory - -.TP -tags -list the current tags - -.TP -undo -undo the last transaction - -.SH "ENVIRONMENT VARIABLES" - -.TP -HGMERGE -points to an executable to use for resolving merge conflicts, the program will be executed with four arguments: local file, remote file, ancestor file, and original filename\&. - -.TP -HGUSER -this is the string used for the author value of a commit - -.TP -HG_OPTS -this string is used for default arguments to hg - -.TP -PYTHONPATH -this is used by Python to find imported modules and needs to be set appropriately based on where mercurial is installed - -.TP -EMAIL -if HGUSER is not set, this will be used next as the author value for a commit - -.TP -LOGNAME -if neither HGUSER nor EMAIL is set, LOGNAME will be used (with @hostname appended) as the author value for a commit - -.TP -EDITOR -this is the name of the editor to use when committing - -.SH "FILES" - -.TP -\&.hgignore -this file contains regular expressions (one per line) that describe file names that should be ignored by hg - -.TP -\&.hgtags -this file contains changeset hash values and text tag names (one of each seperated by spaces) that correspond to tagged versions of the repository contents\&. - -.TP -$HOME/\&.hgpaths -this file contains a mapping from a symbolic name to a repository path (which could be a local path or a remote URI), the format is with each mapping on a seperate line - -.SH "BUGS" - - -Probably lots, please post them to the mailing list (See Resources below) when you find them\&. - -.SH "AUTHOR" - - -Written by Matt Mackall - -.SH "RESOURCES" - - -Main Web Site: \fIhttp://selenic.com/mercurial\fR - - -Source code repository: \fIhttp://selenic.com/hg\fR - - -Mailing list: \fIhttp://selenic.com/mailman/listinfo/mercurial\fR - -.SH "COPYING" - - -Copyright (C) 2005 Matt Mackall\&. Free use of this software is granted under the terms of the GNU General Public License (GPL)\&. - diff -r 5b38a5af4019 -r b38deaf7873e doc/hg.1.html --- a/doc/hg.1.html Wed Jun 22 22:31:25 2005 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,442 +0,0 @@ - - - - - - - -HG(1) - - -

HG(1)

-

-by Matt Mackall
-<mpm@selenic.com>
-v0.5, -27 May 2005 -

-
-

NAME

-

-hg - command line interface to the Mercurial source code management system -

-
-

SYNOPSIS

-

-hg [-v -d -q -y] <command> [command options] [files] -

-
-

DESCRIPTION

-

-The hg(1) command provides a command line interface to the Mercurial system. -

-
-

NOTE

-

-Many of the hg commands are not yet subdirectory and/or working directory -aware. This means that some commands will only work in the top level -repository directory or will only accept paths and filenames relative to the -top level. Merges and commits, in particular, should be done in the -top-level directory. -

-
-

OPTIONS

-
-
-—debug, -d -
-
- - enable debugging output - -
-
-—quiet, -q -
-
- - suppress output - -
-
-—verbose, -v -
-
- - enable additional output - -
-
-—noninteractive, -y -
-
- - do not prompt, assume yes for any required answers - -
-
-
-

COMMAND ELEMENTS

-
-
-files … -
-
- - indicates one or more filename or relative path filenames - -
-
-path -
-
- - indicates a path on the local machine - -
-
-revision -
-
- - indicates a changeset which can be specified as a changeset id (int), - a tag, or a unique substring of the changeset hash value - -
-
-repository path -
-
- - is either the pathname of a local repository of the URI of a remote - repository. There are two available URI protocols, http:// which is - fast and the old-http:// protocol which is much slower but does not - require python on the web host. - -
-
-
-

COMMANDS

-
-
-add [files …] -
-
- - add the given files to the repository. Note that this just schedules the - files for addition at the next hg commit time. - -
-
-addremove -
-
- - add all new files and remove all missing files from the repository. new - files are ignored if they match any of the patterns in .hgignore - -
-
-annotate [-r revision -u -n -c] [files …] -
-
- - list the files with each line showing the revision id responsible - for that line. -u will add the author to the revision id, -c will - print the changeset hash, and -n will … - -
-
-branch <path> -
-
- - create a new branch of the repository indicated by path in the current - directory. Note that there should not be a repository already initialized - in the current directory - -
-
-checkout [revision] -
-
- - check out the indicated version of the repository into the working - directory. Note that currently no merge occurs with changed files - in the working dir. - -
-
-commit -
-
- - commit all changed files in the working dir to the repository. This uses - the EDITOR environment variable to bring up an editor to add a commit - comment. - -
-
-diff [-r revision] [-r revision] [files …] -
-
- - generate a unified diff of the indicated files. If there are no - revisions specified, the working directory file is compared to - the tip, one revision specified indicates a comparison between the - working directory file and the specified revision, two revisions - compares the two versions specified. - -
-
-dump <file> [revision] -
-
- - print the indicated revision of the file - -
-
-dumpmanifest [revision] -
-
- - print the indicated revision of the manifest (list of version controlled - files) - -
-
-export [revision] -
-
- - print the changeset header (author, changeset hash, parent, and commit - comment) and the diffs for a particular revision. - -
-
-history -
-
- - print the revision history of the repository - -
-
-init -
-
- - initialize a repository in the current directory - -
-
-log <file> -
-
- - print the revision history of the specified file - -
-
-merge <repository path> -
-
- - pull any changes from the specified repository to the repository in the - current directory. Use the value of the HGMERGE environment variable - as a program to resolve any merge conflicts between the two repositories. - An implicit commit is done at the end of this process if there were any - merge conflicts. Note that merge does not yet merge with changed files - in the working dir. - -
-
-recover -
-
- - rollback an interrupted transaction - -
-
-remove [files …] -
-
- - schedule the indicated files for removal from the repository at the next - commit - -
-
-serve [-a addr -n name -p port -t templatedir] -
-
- - this will start an http server, by default on port 8000, that will - allow browsing the repository using the hgweb interface and will allow - merging from the repository. -a sets the interface address, -p the - port to listen on, -n the name of the repository and -t sets the - location of the template directory. - -
-
-status -
-
- - list new, changed, and missing files in the working directory - -
-
-tags -
-
- - list the current tags - -
-
-undo -
-
- - undo the last transaction - -
-
-
-

ENVIRONMENT VARIABLES

-
-
-HGMERGE -
-
- - points to an executable to use for resolving merge conflicts, the - program will be executed with four arguments: local file, remote - file, ancestor file, and original filename. - -
-
-HGUSER -
-
- - this is the string used for the author value of a commit - -
-
-HG_OPTS -
-
- - this string is used for default arguments to hg - -
-
-PYTHONPATH -
-
- - this is used by Python to find imported modules and needs to be set - appropriately based on where mercurial is installed - -
-
-EMAIL -
-
- - if HGUSER is not set, this will be used next as the author value for - a commit - -
-
-LOGNAME -
-
- - if neither HGUSER nor EMAIL is set, LOGNAME will be used (with - @hostname appended) as the author value for a commit - -
-
-EDITOR -
-
- - this is the name of the editor to use when committing - -
-
-
-

FILES

-
-
-.hgignore -
-
- - this file contains regular expressions (one per line) that describe file - names that should be ignored by hg - -
-
-.hgtags -
-
- - this file contains changeset hash values and text tag names (one of each - seperated by spaces) that correspond to tagged versions of the repository - contents. - -
-
-$HOME/.hgpaths -
-
- - this file contains a mapping from a symbolic name to a repository path - (which could be a local path or a remote URI), the format is - <symbolic name> <repository path> with each mapping on a seperate line - -
-
-
-

BUGS

-

-Probably lots, please post them to the mailing list (See Resources below) -when you find them. -

-
-

AUTHOR

-

-Written by Matt Mackall <mpm@selenic.com> -

-
-

RESOURCES

-

-Main Web Site -

-

-Source code repository -

-

-Mailing list -

-
-

COPYING

-

-Copyright © 2005 Matt Mackall. -Free use of this software is granted under the terms of the GNU General -Public License (GPL). -

-

-

-

-Version 0.5
-Last updated 27-May-2005 15:51:06 MDT -

- - diff -r 5b38a5af4019 -r b38deaf7873e doc/hg.1.txt --- a/doc/hg.1.txt Wed Jun 22 22:31:25 2005 -0800 +++ b/doc/hg.1.txt Wed Jun 22 22:33:30 2005 -0800 @@ -1,11 +1,11 @@ HG(1) ===== Matt Mackall -v0.5, 27 May 2005 +v0.6, 27 May 2005 NAME ---- -hg - command line interface to the Mercurial source code management system +hg - Mercurial source code management system SYNOPSIS -------- @@ -15,16 +15,9 @@ ----------- The hg(1) command provides a command line interface to the Mercurial system. -NOTE ----- -Many of the hg commands are not yet subdirectory and/or working directory -aware. This means that some commands will only work in the top level -repository directory or will only accept paths and filenames relative to the -top level. Merges and commits, in particular, should be done in the -top-level directory. - OPTIONS ------- + --debug, -d:: enable debugging output @@ -46,152 +39,278 @@ path:: indicates a path on the local machine -revision:: - indicates a changeset which can be specified as a changeset id (int), - a tag, or a unique substring of the changeset hash value +revision:: + indicates a changeset which can be specified as a changeset revision + number, a tag, or a unique substring of the changeset hash value repository path:: is either the pathname of a local repository of the URI of a remote repository. There are two available URI protocols, http:// which is fast and the old-http:// protocol which is much slower but does not - require python on the web host. + require a special server on the web host. COMMANDS -------- + add [files ...]:: - add the given files to the repository. Note that this just schedules the + Add the given files to the repository. Note that this just schedules the files for addition at the next hg commit time. addremove:: - add all new files and remove all missing files from the repository. new + Add all new files and remove all missing files from the repository. New files are ignored if they match any of the patterns in .hgignore -annotate [-r revision -u -n -c] [files ...]:: - list the files with each line showing the revision id responsible - for that line. -u will add the author to the revision id, -c will - print the changeset hash, and -n will ... +annotate [-r -u -n -c] [files ...]:: + List the files with each line showing the revision id responsible + for that line. -branch :: - create a new branch of the repository indicated by path in the current - directory. Note that there should not be a repository already initialized - in the current directory + options: + -r, --revision annotate the specified revision + -u, --user list the author + -c, --changeset list the changeset + -n, --number list the revision number (default) -checkout [revision]:: - check out the indicated version of the repository into the working - directory. Note that currently no merge occurs with changed files - in the working dir. +cat [revision]:: + Output the given revision or tip of the specified file to stdout. -commit:: +commit [-A -t -l -t -u -d ] [files...]:: commit all changed files in the working dir to the repository. This uses the EDITOR environment variable to bring up an editor to add a commit comment. + Options: + + -A, --addremove run addremove during commit + -t, --text use as commit message + -l, --logfile read the commit message from the specified + file + -d, --date use the specified date code + -u, --user record commit as the specified user + + aliases: ci + +copy :: + Mark a file as copied or renamed for the next commit. + diff [-r revision] [-r revision] [files ...]:: - generate a unified diff of the indicated files. If there are no + Generate a unified diff of the indicated files. If there are no revisions specified, the working directory file is compared to the tip, one revision specified indicates a comparison between the - working directory file and the specified revision, two revisions + working directory file and the specified revision, and two revisions compares the two versions specified. -dump [revision]:: - print the indicated revision of the file +export [revision]:: + Print the changeset header (author, changeset hash, parent, and commit + comment) and the diffs for a particular revision. -dumpmanifest [revision]:: - print the indicated revision of the manifest (list of version controlled - files) +forget [files]:: + Undo an 'hg add' scheduled for the next commit. -export [revision]:: - print the changeset header (author, changeset hash, parent, and commit - comment) and the diffs for a particular revision. +heads:: + Show all changesets with no children. These are the "heads" of + development branches and are the usual targets for updates and merges. history:: - print the revision history of the repository + Print the revision history of the repository. Use the -v switch + for more detail. + +identify:: + Print a short identifier of the current state of the repo. This + includes 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 + +import [-p -b -q] :: + Import the listed patches and commit them individually. -init:: - initialize a repository in the current directory + options: + -p, --strip directory strip option for patch + -b base directory to read patches from + + aliases: patch + +init [-u] [source]:: + Initialize a repository in the current directory. + + If a source is specified, pull that source into the repository. + This source is added to .hg/hgrc as the default for future pulls + in this repository. + + If the specified source is on the same filesystem, the repository + will be copied via hardlinks. This is the fastest and most + space-efficient mode of operation. + + options: + -u, --update update the working directory to match the tip log :: - print the revision history of the specified file + Print the revision history of the specified file. -merge :: +manifest [revision]:: + Print the indicated revision of the manifest (list of version controlled + files) + +parents:: + Print the working directory's parent revisions. + +pull :: pull any changes from the specified repository to the repository in the - current directory. Use the value of the HGMERGE environment variable - as a program to resolve any merge conflicts between the two repositories. - An implicit commit is done at the end of this process if there were any - merge conflicts. Note that merge does not yet merge with changed files - in the working dir. + current directory. + + options: + -u, --update update the working directory to tip after pull + +push :: + Push changes from the local repository to the specified + destination. If the destination is local, this is identical to a + a pull in that directory from the current directory. + + The other currently available push method is SSH. This requires an + accessible shell account on the destination machine and a copy of + hg in the remote path. Destinations are specified in the following + form: + + ssh://[user@]host[:port]/path + +rawcommit [-p -d -u -F -t -l]:: + Primarily useful for importing from other SCMs. recover:: - rollback an interrupted transaction + Recover from an interrupted commit or pull. This should only be + necessary when Mercurial suggests it. remove [files ...]:: schedule the indicated files for removal from the repository at the next commit + + aliases: rm serve [-a addr -n name -p port -t templatedir]:: - this will start an http server, by default on port 8000, that will - allow browsing the repository using the hgweb interface and will allow - merging from the repository. -a sets the interface address, -p the - port to listen on, -n the name of the repository and -t sets the - location of the template directory. + Start a local HTTP repository browser and pull server. + + options: + -a, --address address to use + -p, --port port to use (default: 8000) + -n, --name name to show in web pages (default: working dir) + -t, --templatedir web templates to use status:: - list new, changed, and missing files in the working directory + Show changed files in the working directory. + + C = changed + A = added + R = removed + ? = not tracked + +tag [-t -d -u ] [revision]:: + Add a tag to the specified revision or the tip. + + options: + -t, --text message for tag commit log entry + -d, --date datecode for commit + -u, --user user for commit tags:: - list the current tags + List the current tags. + +tip:: + Show the tip revision undo:: - undo the last transaction + Undo the last commit or pull transaction. + +update [-m -C] [revision]:: + Update or merge the working directory to a specified revision. + + If there are no outstanding changes in the working directory and + there is a linear relationship between the current version and the + requested version, the result is the requested version. + + Otherwise the result is a merge between the contents of the + current working directory and the requested version. Files that + changed between either parent are marked as changed for the next + commit and a commit must be performed before any further updates + are allowed. Merging will not be performed without the -m flag. + + The -C switch will tell Mercurial to forcibly update to the + specified version, adding, removing, and overwriting locally + changed fils as necessary. + + 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. + ENVIRONMENT VARIABLES --------------------- + HGMERGE:: - points to an executable to use for resolving merge conflicts, the - program will be executed with four arguments: local file, remote - file, ancestor file, and original filename. + An executable to use for resolving merge conflicts. The program , + 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. HGUSER:: - this is the string used for the author value of a commit - -HG_OPTS:: - this string is used for default arguments to hg - -PYTHONPATH:: - this is used by Python to find imported modules and needs to be set - appropriately based on where mercurial is installed + This is the string used for the author of a commit. EMAIL:: - if HGUSER is not set, this will be used next as the author value for - a commit + If HGUSER is not set, this will be used as the author for a commit. LOGNAME:: if neither HGUSER nor EMAIL is set, LOGNAME will be used (with - '@hostname' appended) as the author value for a commit + '@hostname' appended) as the author value for a commit. EDITOR:: - this is the name of the editor to use when committing + This is the name of the editor to use when committing. Defaults to 'vi'. + +PYTHONPATH:: + This is used by Python to find imported modules and may need to be set + appropriately if Mercurial is not installed system-wide. FILES ----- .hgignore:: - this file contains regular expressions (one per line) that describe file + This file contains regular expressions (one per line) that describe file names that should be ignored by hg .hgtags:: - this file contains changeset hash values and text tag names (one of each + This file contains changeset hash values and text tag names (one of each seperated by spaces) that correspond to tagged versions of the repository contents. - $HOME/.hgpaths:: - this file contains a mapping from a symbolic name to a repository path - (which could be a local path or a remote URI), the format is - with each mapping on a seperate line + $HOME/.hgrc, .hg/hgrc:: + This file contains defaults and configuration. Values in .hg/hgrc + override those in .hgrc. + +NAMED REPOSITORIES +------------------ + + To give symbolic names to a repository, create a section in .hgrc + or .hg/hgrc containing assignments of names to paths. + + Example: + +[paths] +hg = http://selenic.com/hg NON_TRANSPARENT PROXY SUPPORT ------ +----------------------------- - To access a mercurial repository through a proxy, + To access a Mercurial repository through a proxy, create a file $HOME/.hgrc in the following format: [http_proxy]