doc/hg.1.html
changeset 178 b3bf5a0edd69
parent 177 91055f795d88
child 182 089594a5bbde
equal deleted inserted replaced
176:1d8e9637a0a4 178:b3bf5a0edd69
       
     1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
       
     2 <html>
       
     3 <head>
       
     4 <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
       
     5 <meta name="generator" content="AsciiDoc 6.0.3">
       
     6 <meta name="author" content="Matt Mackall">
       
     7 <meta name="author-email" content="mpm@selenic.com">
       
     8 <title>HG(1)</title>
       
     9 </head>
       
    10 <body>
       
    11 <h1>HG(1)</h1>
       
    12 <p>
       
    13 <strong>by Matt Mackall</strong><br />
       
    14 <tt>&lt;<a href="mailto:mpm@selenic.com">mpm@selenic.com</a>&gt;</tt><br />
       
    15 v0.5,
       
    16 27 May 2005
       
    17 </p>
       
    18 <hr />
       
    19 <h2>NAME</h2>
       
    20 <p>
       
    21 hg - command line interface to the Mercurial source code management system
       
    22 </p>
       
    23 <hr />
       
    24 <h2>SYNOPSIS</h2>
       
    25 <p>
       
    26 <em>hg</em> [-v -d -q -y] &lt;command&gt; [command options] [files]
       
    27 </p>
       
    28 <hr />
       
    29 <h2>DESCRIPTION</h2>
       
    30 <p>
       
    31 The hg(1) command provides a command line interface to the Mercurial system.
       
    32 </p>
       
    33 <hr />
       
    34 <h2>NOTE</h2>
       
    35 <p>
       
    36 Many of the hg commands are not yet subdirectory and/or working directory
       
    37 aware.  This means that some commands will only work in the top level
       
    38 repository directory or will only accept paths and filenames relative to the
       
    39 top level.  Merges and commits, in particular, should be done in the
       
    40 top-level directory.
       
    41 </p>
       
    42 <hr />
       
    43 <h2>OPTIONS</h2>
       
    44 <dl>
       
    45 <dt>
       
    46 &#8212;debug, -d
       
    47 </dt>
       
    48 <dd>
       
    49 
       
    50     enable debugging output
       
    51 
       
    52 </dd>
       
    53 <dt>
       
    54 &#8212;quiet, -q
       
    55 </dt>
       
    56 <dd>
       
    57 
       
    58     suppress output
       
    59 
       
    60 </dd>
       
    61 <dt>
       
    62 &#8212;verbose, -v
       
    63 </dt>
       
    64 <dd>
       
    65 
       
    66     enable additional output
       
    67 
       
    68 </dd>
       
    69 <dt>
       
    70 &#8212;noninteractive, -y
       
    71 </dt>
       
    72 <dd>
       
    73 
       
    74     do not prompt, assume <em>yes</em> for any required answers
       
    75 
       
    76 </dd>
       
    77 </dl>
       
    78 <hr />
       
    79 <h2>COMMAND ELEMENTS</h2>
       
    80 <dl>
       
    81 <dt>
       
    82 files &#8230;
       
    83 </dt>
       
    84 <dd>
       
    85 
       
    86     indicates one or more filename or relative path filenames
       
    87 
       
    88 </dd>
       
    89 <dt>
       
    90 path
       
    91 </dt>
       
    92 <dd>
       
    93 
       
    94     indicates a path on the local machine
       
    95 
       
    96 </dd>
       
    97 <dt>
       
    98 revision
       
    99 </dt>
       
   100 <dd>
       
   101 
       
   102     indicates a changeset which can be specified as a changeset id (int),
       
   103     a tag, or a unique substring of the changeset hash value
       
   104 
       
   105 </dd>
       
   106 <dt>
       
   107 repository path
       
   108 </dt>
       
   109 <dd>
       
   110 
       
   111     is either the pathname of a local repository of the URI of a remote
       
   112     repository.  There are two available URI protocols, hg:// which is
       
   113     fast and the http:// protocol which is much slower but does not require
       
   114     python on the web host.
       
   115 
       
   116 </dd>
       
   117 </dl>
       
   118 <hr />
       
   119 <h2>COMMANDS</h2>
       
   120 <dl>
       
   121 <dt>
       
   122 add [files &#8230;]
       
   123 </dt>
       
   124 <dd>
       
   125 
       
   126     add the given files to the repository.  Note that this just schedules the
       
   127     files for addition at the next hg commit time.
       
   128 
       
   129 </dd>
       
   130 <dt>
       
   131 addremove
       
   132 </dt>
       
   133 <dd>
       
   134 
       
   135     add all new files and remove all missing files from the repository.  new
       
   136     files are ignored if they match any of the patterns in .hgignore
       
   137 
       
   138 </dd>
       
   139 <dt>
       
   140 annotate [-r revision -u -n -c] [files &#8230;]
       
   141 </dt>
       
   142 <dd>
       
   143 
       
   144     list the files with each line showing the revision id responsible
       
   145     for that line.  -u will add the author to the revision id, -c will
       
   146     print the changeset hash, and -n will &#8230;
       
   147 
       
   148 </dd>
       
   149 <dt>
       
   150 branch &lt;path&gt;
       
   151 </dt>
       
   152 <dd>
       
   153 
       
   154     create a new branch of the repository indicated by path in the current
       
   155     directory.  Note that there should not be a repository already initialized
       
   156     in the current directory
       
   157 
       
   158 </dd>
       
   159 <dt>
       
   160 checkout [revision]
       
   161 </dt>
       
   162 <dd>
       
   163 
       
   164     check out the indicated version of the repository into the working
       
   165     directory.  Note that currently no merge occurs with changed files
       
   166     in the working dir.
       
   167 
       
   168 </dd>
       
   169 <dt>
       
   170 commit
       
   171 </dt>
       
   172 <dd>
       
   173 
       
   174     commit all changed files in the working dir to the repository.  This uses
       
   175     the EDITOR environment variable to bring up an editor to add a commit
       
   176     comment.
       
   177 
       
   178 </dd>
       
   179 <dt>
       
   180 diff [-r revision] [-r revision] [files &#8230;]
       
   181 </dt>
       
   182 <dd>
       
   183 
       
   184     generate a unified diff of the indicated files.  If there are no
       
   185     revisions specified, the working directory file is compared to
       
   186     the tip, one revision specified indicates a comparison between the
       
   187     working directory file and the specified revision, two revisions
       
   188     compares the two versions specified.
       
   189 
       
   190 </dd>
       
   191 <dt>
       
   192 dump &lt;file&gt; [revision]
       
   193 </dt>
       
   194 <dd>
       
   195 
       
   196     print the indicated revision of the file
       
   197 
       
   198 </dd>
       
   199 <dt>
       
   200 dumpmanifest [revision]
       
   201 </dt>
       
   202 <dd>
       
   203 
       
   204     print the indicated revision of the manifest (list of version controlled
       
   205     files)
       
   206 
       
   207 </dd>
       
   208 <dt>
       
   209 history
       
   210 </dt>
       
   211 <dd>
       
   212 
       
   213     print the revision history of the repository
       
   214 
       
   215 </dd>
       
   216 <dt>
       
   217 init
       
   218 </dt>
       
   219 <dd>
       
   220 
       
   221     initialize a repository in the current directory
       
   222 
       
   223 </dd>
       
   224 <dt>
       
   225 log &lt;file&gt;
       
   226 </dt>
       
   227 <dd>
       
   228 
       
   229     print the revision history of the specified file
       
   230 
       
   231 </dd>
       
   232 <dt>
       
   233 merge &lt;repository path&gt;
       
   234 </dt>
       
   235 <dd>
       
   236 
       
   237     pull any changes from the specified repository to the repository in the
       
   238     current directory.  Use the value of the HGMERGE environment variable
       
   239     as a program to resolve any merge conflicts between the two repositories.
       
   240     An implicit commit is done at the end of this process if there were any
       
   241     merge conflicts.  Note that merge does not yet merge with changed files
       
   242     in the working dir.
       
   243 
       
   244 </dd>
       
   245 <dt>
       
   246 remove [files &#8230;]
       
   247 </dt>
       
   248 <dd>
       
   249 
       
   250     schedule the indicated files for removal from the repository at the next
       
   251     commit
       
   252 
       
   253 </dd>
       
   254 <dt>
       
   255 serve [-a addr -n name -p port -t templatedir]
       
   256 </dt>
       
   257 <dd>
       
   258 
       
   259     this will start an http server, by default on port 8000, that will
       
   260     allow browsing the repository using the hgweb interface and will allow
       
   261     merging from the repository.  -a sets the interface address, -p the
       
   262     port to listen on, -n the name of the repository and -t sets the
       
   263     location of the template directory.
       
   264 
       
   265 </dd>
       
   266 <dt>
       
   267 status
       
   268 </dt>
       
   269 <dd>
       
   270 
       
   271     list new, changed, and missing files in the working directory
       
   272 
       
   273 </dd>
       
   274 <dt>
       
   275 tags
       
   276 </dt>
       
   277 <dd>
       
   278 
       
   279     list the current tags
       
   280 
       
   281 </dd>
       
   282 </dl>
       
   283 <hr />
       
   284 <h2>ENVIRONMENT VARIABLES</h2>
       
   285 <dl>
       
   286 <dt>
       
   287 HGMERGE
       
   288 </dt>
       
   289 <dd>
       
   290 
       
   291     points to an executable to use for resolving merge conflicts, the
       
   292     program will be executed with four arguments: local file, remote
       
   293     file, ancestor file, and original filename.
       
   294 
       
   295 </dd>
       
   296 <dt>
       
   297 HGUSER
       
   298 </dt>
       
   299 <dd>
       
   300 
       
   301     this is the string used for the author value of a commit
       
   302 
       
   303 </dd>
       
   304 <dt>
       
   305 HG_OPTS
       
   306 </dt>
       
   307 <dd>
       
   308 
       
   309     this string is used for default arguments to hg
       
   310 
       
   311 </dd>
       
   312 <dt>
       
   313 PYTHONPATH
       
   314 </dt>
       
   315 <dd>
       
   316 
       
   317     this is used by Python to find imported modules and needs to be set
       
   318     appropriately based on where mercurial is installed
       
   319 
       
   320 </dd>
       
   321 <dt>
       
   322 EMAIL
       
   323 </dt>
       
   324 <dd>
       
   325 
       
   326     if HGUSER is not set, this will be used next as the author value for
       
   327     a commit
       
   328 
       
   329 </dd>
       
   330 <dt>
       
   331 LOGNAME
       
   332 </dt>
       
   333 <dd>
       
   334 
       
   335     if neither HGUSER nor EMAIL is set, LOGNAME will be used (with
       
   336     <em>@hostname</em> appended) as the author value for a commit
       
   337 
       
   338 </dd>
       
   339 <dt>
       
   340 EDITOR
       
   341 </dt>
       
   342 <dd>
       
   343 
       
   344     this is the name of the editor to use when committing
       
   345 
       
   346 </dd>
       
   347 </dl>
       
   348 <hr />
       
   349 <h2>FILES</h2>
       
   350 <dl>
       
   351 <dt>
       
   352 .hgignore
       
   353 </dt>
       
   354 <dd>
       
   355 
       
   356     this file contains regular expressions (one per line) that describe file
       
   357     names that should be ignored by hg
       
   358 
       
   359 </dd>
       
   360 <dt>
       
   361 .hgtags
       
   362 </dt>
       
   363 <dd>
       
   364 
       
   365     this file contains changeset hash values and text tag names (one of each
       
   366     seperated by spaces) that correspond to tagged versions of the repository
       
   367     contents.
       
   368 
       
   369 </dd>
       
   370 </dl>
       
   371 <hr />
       
   372 <h2>BUGS</h2>
       
   373 <p>
       
   374 Probably lots, please post them to the mailing list (See Resources below)
       
   375 when you find them.
       
   376 </p>
       
   377 <hr />
       
   378 <h2>AUTHOR</h2>
       
   379 <p>
       
   380 Written by Matt Mackall &lt;mpm@selenic.com&gt;
       
   381 </p>
       
   382 <hr />
       
   383 <h2>RESOURCES</h2>
       
   384 <p>
       
   385 <a href="http://selenic.com/mercurial">Main Web Site</a>
       
   386 </p>
       
   387 <p>
       
   388 <a href="http://selenic.com/hg">Source code repository</a>
       
   389 </p>
       
   390 <p>
       
   391 <a href="http://selenic.com/mailman/listinfo/mercurial">Mailing list</a>
       
   392 </p>
       
   393 <hr />
       
   394 <h2>COPYING</h2>
       
   395 <p>
       
   396 Copyright &#169; 2005 Matt Mackall.
       
   397 Free use of this software is granted under the terms of the GNU General
       
   398 Public License (GPL).
       
   399 </p>
       
   400 <p></p>
       
   401 <p></p>
       
   402 <hr /><p><small>
       
   403 Version 0.5<br />
       
   404 Last updated 27-May-2005 08:14:25 MDT
       
   405 </small></p>
       
   406 </body>
       
   407 </html>