|
1 HG(1) |
|
2 ===== |
|
3 Matt Mackall <mpm@selenic.com> |
|
4 v0.5, 27 May 2005 |
|
5 |
|
6 NAME |
|
7 ---- |
|
8 hg - command line interface to the Mercurial source code management system |
|
9 |
|
10 SYNOPSIS |
|
11 -------- |
|
12 'hg' [-v -d -q -y] <command> [command options] [files] |
|
13 |
|
14 DESCRIPTION |
|
15 ----------- |
|
16 The hg(1) command provides a command line interface to the Mercurial system. |
|
17 |
|
18 NOTE |
|
19 ---- |
|
20 Many of the hg commands are not yet subdirectory and/or working directory |
|
21 aware. This means that some commands will only work in the top level |
|
22 repository directory or will only accept paths and filenames relative to the |
|
23 top level. Merges and commits, in particular, should be done in the |
|
24 top-level directory. |
|
25 |
|
26 OPTIONS |
|
27 ------- |
|
28 --debug, -d:: |
|
29 enable debugging output |
|
30 |
|
31 --quiet, -q:: |
|
32 suppress output |
|
33 |
|
34 --verbose, -v:: |
|
35 enable additional output |
|
36 |
|
37 --noninteractive, -y:: |
|
38 do not prompt, assume 'yes' for any required answers |
|
39 |
|
40 COMMAND ELEMENTS |
|
41 ---------------- |
|
42 |
|
43 files ...:: |
|
44 indicates one or more filename or relative path filenames |
|
45 |
|
46 path:: |
|
47 indicates a path on the local machine |
|
48 |
|
49 revision:: |
|
50 indicates a changeset which can be specified as a changeset id (int), |
|
51 a tag, or a unique substring of the changeset hash value |
|
52 |
|
53 repository path:: |
|
54 is either the pathname of a local repository of the URI of a remote |
|
55 repository. There are two available URI protocols, hg:// which is |
|
56 fast and the http:// protocol which is much slower but does not require |
|
57 python on the web host. |
|
58 |
|
59 COMMANDS |
|
60 -------- |
|
61 add [files ...]:: |
|
62 add the given files to the repository. Note that this just schedules the |
|
63 files for addition at the next hg commit time. |
|
64 |
|
65 addremove:: |
|
66 add all new files and remove all missing files from the repository. new |
|
67 files are ignored if they match any of the patterns in .hgignore |
|
68 |
|
69 annotate [-r revision -u -n -c] [files ...]:: |
|
70 list the files with each line showing the revision id responsible |
|
71 for that line. -u will add the author to the revision id, -c will |
|
72 print the changeset hash, and -n will ... |
|
73 |
|
74 branch <path>:: |
|
75 create a new branch of the repository indicated by path in the current |
|
76 directory. Note that there should not be a repository already initialized |
|
77 in the current directory |
|
78 |
|
79 checkout [revision]:: |
|
80 check out the indicated version of the repository into the working |
|
81 directory. Note that currently no merge occurs with changed files |
|
82 in the working dir. |
|
83 |
|
84 commit:: |
|
85 commit all changed files in the working dir to the repository. This uses |
|
86 the EDITOR environment variable to bring up an editor to add a commit |
|
87 comment. |
|
88 |
|
89 diff [-r revision] [-r revision] [files ...]:: |
|
90 generate a unified diff of the indicated files. If there are no |
|
91 revisions specified, the working directory file is compared to |
|
92 the tip, one revision specified indicates a comparison between the |
|
93 working directory file and the specified revision, two revisions |
|
94 compares the two versions specified. |
|
95 |
|
96 dump <file> [revision]:: |
|
97 print the indicated revision of the file |
|
98 |
|
99 dumpmanifest [revision]:: |
|
100 print the indicated revision of the manifest (list of version controlled |
|
101 files) |
|
102 |
|
103 history:: |
|
104 print the revision history of the repository |
|
105 |
|
106 init:: |
|
107 initialize a repository in the current directory |
|
108 |
|
109 log <file>:: |
|
110 print the revision history of the specified file |
|
111 |
|
112 merge <repository path>:: |
|
113 pull any changes from the specified repository to the repository in the |
|
114 current directory. Use the value of the HGMERGE environment variable |
|
115 as a program to resolve any merge conflicts between the two repositories. |
|
116 An implicit commit is done at the end of this process if there were any |
|
117 merge conflicts. Note that merge does not yet merge with changed files |
|
118 in the working dir. |
|
119 |
|
120 remove [files ...]:: |
|
121 schedule the indicated files for removal from the repository at the next |
|
122 commit |
|
123 |
|
124 serve [-a addr -n name -p port -t templatedir]:: |
|
125 this will start an http server, by default on port 8000, that will |
|
126 allow browsing the repository using the hgweb interface and will allow |
|
127 merging from the repository. -a sets the interface address, -p the |
|
128 port to listen on, -n the name of the repository and -t sets the |
|
129 location of the template directory. |
|
130 |
|
131 status:: |
|
132 list new, changed, and missing files in the working directory |
|
133 |
|
134 tags:: |
|
135 list the current tags |
|
136 |
|
137 ENVIRONMENT VARIABLES |
|
138 --------------------- |
|
139 HGMERGE:: |
|
140 points to an executable to use for resolving merge conflicts, the |
|
141 program will be executed with four arguments: local file, remote |
|
142 file, ancestor file, and original filename. |
|
143 |
|
144 HGUSER:: |
|
145 this is the string used for the author value of a commit |
|
146 |
|
147 HG_OPTS:: |
|
148 this string is used for default arguments to hg |
|
149 |
|
150 PYTHONPATH:: |
|
151 this is used by Python to find imported modules and needs to be set |
|
152 appropriately based on where mercurial is installed |
|
153 |
|
154 EMAIL:: |
|
155 if HGUSER is not set, this will be used next as the author value for |
|
156 a commit |
|
157 |
|
158 LOGNAME:: |
|
159 if neither HGUSER nor EMAIL is set, LOGNAME will be used (with |
|
160 '@hostname' appended) as the author value for a commit |
|
161 |
|
162 EDITOR:: |
|
163 this is the name of the editor to use when committing |
|
164 |
|
165 FILES |
|
166 ----- |
|
167 .hgignore:: |
|
168 this file contains regular expressions (one per line) that describe file |
|
169 names that should be ignored by hg |
|
170 |
|
171 .hgtags:: |
|
172 this file contains changeset hash values and text tag names (one of each |
|
173 seperated by spaces) that correspond to tagged versions of the repository |
|
174 contents. |
|
175 |
|
176 BUGS |
|
177 ---- |
|
178 Probably lots, please post them to the mailing list (See Resources below) |
|
179 when you find them. |
|
180 |
|
181 AUTHOR |
|
182 ------ |
|
183 Written by Matt Mackall <mpm@selenic.com> |
|
184 |
|
185 RESOURCES |
|
186 --------- |
|
187 http://selenic.com/mercurial[Main Web Site] |
|
188 |
|
189 http://selenic.com/hg[Source code repository] |
|
190 |
|
191 http://selenic.com/mailman/listinfo/mercurial[Mailing list] |
|
192 |
|
193 COPYING |
|
194 ------- |
|
195 Copyright (C) 2005 Matt Mackall. |
|
196 Free use of this software is granted under the terms of the GNU General |
|
197 Public License (GPL). |