# HG changeset patch # User mpm@selenic.com # Date 1117225666 28800 # Node ID b3bf5a0edd6930462c0cdb93ba337f02146f9482 # Parent 1d8e9637a0a430129175915c03877bdc1332e147# Parent 91055f795d88d82383cb29b0a93f6182b21d6e16 Merge from Jake's hg docs diff -r 1d8e9637a0a4 -r b3bf5a0edd69 README diff -r 1d8e9637a0a4 -r b3bf5a0edd69 doc/README --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/README Fri May 27 12:27:46 2005 -0800 @@ -0,0 +1,25 @@ +Files in this directory: + +README - this file +hg.1.txt - asciidoc source for the files +hg.1 - groff man page for hg +hg.1.html - man page in html format + +How to generate the man page and html files + +For now we use asciidoc which is available at: + +http://www.methods.co.nz/asciidoc/ + +the file hg.1.txt is the input file, to generate the man page: + +asciidoc.py -d manpage -b docbook hg.1.txt +xmlto man hg.1.xml + +to display: + +groff -mandoc -Tascii hg.1 | more + +to create the html page (without stylesheets): + +asciidoc.py -b html hg.1.txt diff -r 1d8e9637a0a4 -r b3bf5a0edd69 doc/hg.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/hg.1 Fri May 27 12:27:46 2005 -0800 @@ -0,0 +1,209 @@ +.\"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, hg:// which is fast and the 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 +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 +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 + +.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\&. + +.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 1d8e9637a0a4 -r b3bf5a0edd69 doc/hg.1.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/hg.1.html Fri May 27 12:27:46 2005 -0800 @@ -0,0 +1,407 @@ + + + + + + + +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, hg:// which is + fast and the 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) + +
+
+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. + +
+
+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 + +
+
+
+

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. + +
+
+
+

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 08:14:25 MDT +

+ + diff -r 1d8e9637a0a4 -r b3bf5a0edd69 doc/hg.1.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/hg.1.txt Fri May 27 12:27:46 2005 -0800 @@ -0,0 +1,197 @@ +HG(1) +===== +Matt Mackall +v0.5, 27 May 2005 + +NAME +---- +hg - command line interface to the Mercurial source code management system + +SYNOPSIS +-------- +'hg' [-v -d -q -y] [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, hg:// which is + fast and the 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 :: + 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 [revision]:: + print the indicated revision of the file + +dumpmanifest [revision]:: + print the indicated revision of the manifest (list of version controlled + files) + +history:: + print the revision history of the repository + +init:: + initialize a repository in the current directory + +log :: + print the revision history of the specified file + +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. + +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 + +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. + +BUGS +---- +Probably lots, please post them to the mailing list (See Resources below) +when you find them. + +AUTHOR +------ +Written by Matt Mackall + +RESOURCES +--------- +http://selenic.com/mercurial[Main Web Site] + +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). diff -r 1d8e9637a0a4 -r b3bf5a0edd69 mercurial/hg.py