##// END OF EJS Templates
extensions: mark win32text deprecated...
Matt Mackall -
r20624:23146e4d default
parent child Browse files
Show More
@@ -1,172 +1,172
1 # win32text.py - LF <-> CRLF/CR translation utilities for Windows/Mac users
1 # win32text.py - LF <-> CRLF/CR translation utilities for Windows/Mac users
2 #
2 #
3 # Copyright 2005, 2007-2009 Matt Mackall <mpm@selenic.com> and others
3 # Copyright 2005, 2007-2009 Matt Mackall <mpm@selenic.com> and others
4 #
4 #
5 # This software may be used and distributed according to the terms of the
5 # This software may be used and distributed according to the terms of the
6 # GNU General Public License version 2 or any later version.
6 # GNU General Public License version 2 or any later version.
7
7
8 '''perform automatic newline conversion
8 '''perform automatic newline conversion (DEPRECATED)
9
9
10 Deprecation: The win32text extension requires each user to configure
10 Deprecation: The win32text extension requires each user to configure
11 the extension again and again for each clone since the configuration
11 the extension again and again for each clone since the configuration
12 is not copied when cloning.
12 is not copied when cloning.
13
13
14 We have therefore made the ``eol`` as an alternative. The ``eol``
14 We have therefore made the ``eol`` as an alternative. The ``eol``
15 uses a version controlled file for its configuration and each clone
15 uses a version controlled file for its configuration and each clone
16 will therefore use the right settings from the start.
16 will therefore use the right settings from the start.
17
17
18 To perform automatic newline conversion, use::
18 To perform automatic newline conversion, use::
19
19
20 [extensions]
20 [extensions]
21 win32text =
21 win32text =
22 [encode]
22 [encode]
23 ** = cleverencode:
23 ** = cleverencode:
24 # or ** = macencode:
24 # or ** = macencode:
25
25
26 [decode]
26 [decode]
27 ** = cleverdecode:
27 ** = cleverdecode:
28 # or ** = macdecode:
28 # or ** = macdecode:
29
29
30 If not doing conversion, to make sure you do not commit CRLF/CR by accident::
30 If not doing conversion, to make sure you do not commit CRLF/CR by accident::
31
31
32 [hooks]
32 [hooks]
33 pretxncommit.crlf = python:hgext.win32text.forbidcrlf
33 pretxncommit.crlf = python:hgext.win32text.forbidcrlf
34 # or pretxncommit.cr = python:hgext.win32text.forbidcr
34 # or pretxncommit.cr = python:hgext.win32text.forbidcr
35
35
36 To do the same check on a server to prevent CRLF/CR from being
36 To do the same check on a server to prevent CRLF/CR from being
37 pushed or pulled::
37 pushed or pulled::
38
38
39 [hooks]
39 [hooks]
40 pretxnchangegroup.crlf = python:hgext.win32text.forbidcrlf
40 pretxnchangegroup.crlf = python:hgext.win32text.forbidcrlf
41 # or pretxnchangegroup.cr = python:hgext.win32text.forbidcr
41 # or pretxnchangegroup.cr = python:hgext.win32text.forbidcr
42 '''
42 '''
43
43
44 from mercurial.i18n import _
44 from mercurial.i18n import _
45 from mercurial.node import short
45 from mercurial.node import short
46 from mercurial import util
46 from mercurial import util
47 import re
47 import re
48
48
49 testedwith = 'internal'
49 testedwith = 'internal'
50
50
51 # regexp for single LF without CR preceding.
51 # regexp for single LF without CR preceding.
52 re_single_lf = re.compile('(^|[^\r])\n', re.MULTILINE)
52 re_single_lf = re.compile('(^|[^\r])\n', re.MULTILINE)
53
53
54 newlinestr = {'\r\n': 'CRLF', '\r': 'CR'}
54 newlinestr = {'\r\n': 'CRLF', '\r': 'CR'}
55 filterstr = {'\r\n': 'clever', '\r': 'mac'}
55 filterstr = {'\r\n': 'clever', '\r': 'mac'}
56
56
57 def checknewline(s, newline, ui=None, repo=None, filename=None):
57 def checknewline(s, newline, ui=None, repo=None, filename=None):
58 # warn if already has 'newline' in repository.
58 # warn if already has 'newline' in repository.
59 # it might cause unexpected eol conversion.
59 # it might cause unexpected eol conversion.
60 # see issue 302:
60 # see issue 302:
61 # http://mercurial.selenic.com/bts/issue302
61 # http://mercurial.selenic.com/bts/issue302
62 if newline in s and ui and filename and repo:
62 if newline in s and ui and filename and repo:
63 ui.warn(_('WARNING: %s already has %s line endings\n'
63 ui.warn(_('WARNING: %s already has %s line endings\n'
64 'and does not need EOL conversion by the win32text plugin.\n'
64 'and does not need EOL conversion by the win32text plugin.\n'
65 'Before your next commit, please reconsider your '
65 'Before your next commit, please reconsider your '
66 'encode/decode settings in \nMercurial.ini or %s.\n') %
66 'encode/decode settings in \nMercurial.ini or %s.\n') %
67 (filename, newlinestr[newline], repo.join('hgrc')))
67 (filename, newlinestr[newline], repo.join('hgrc')))
68
68
69 def dumbdecode(s, cmd, **kwargs):
69 def dumbdecode(s, cmd, **kwargs):
70 checknewline(s, '\r\n', **kwargs)
70 checknewline(s, '\r\n', **kwargs)
71 # replace single LF to CRLF
71 # replace single LF to CRLF
72 return re_single_lf.sub('\\1\r\n', s)
72 return re_single_lf.sub('\\1\r\n', s)
73
73
74 def dumbencode(s, cmd):
74 def dumbencode(s, cmd):
75 return s.replace('\r\n', '\n')
75 return s.replace('\r\n', '\n')
76
76
77 def macdumbdecode(s, cmd, **kwargs):
77 def macdumbdecode(s, cmd, **kwargs):
78 checknewline(s, '\r', **kwargs)
78 checknewline(s, '\r', **kwargs)
79 return s.replace('\n', '\r')
79 return s.replace('\n', '\r')
80
80
81 def macdumbencode(s, cmd):
81 def macdumbencode(s, cmd):
82 return s.replace('\r', '\n')
82 return s.replace('\r', '\n')
83
83
84 def cleverdecode(s, cmd, **kwargs):
84 def cleverdecode(s, cmd, **kwargs):
85 if not util.binary(s):
85 if not util.binary(s):
86 return dumbdecode(s, cmd, **kwargs)
86 return dumbdecode(s, cmd, **kwargs)
87 return s
87 return s
88
88
89 def cleverencode(s, cmd):
89 def cleverencode(s, cmd):
90 if not util.binary(s):
90 if not util.binary(s):
91 return dumbencode(s, cmd)
91 return dumbencode(s, cmd)
92 return s
92 return s
93
93
94 def macdecode(s, cmd, **kwargs):
94 def macdecode(s, cmd, **kwargs):
95 if not util.binary(s):
95 if not util.binary(s):
96 return macdumbdecode(s, cmd, **kwargs)
96 return macdumbdecode(s, cmd, **kwargs)
97 return s
97 return s
98
98
99 def macencode(s, cmd):
99 def macencode(s, cmd):
100 if not util.binary(s):
100 if not util.binary(s):
101 return macdumbencode(s, cmd)
101 return macdumbencode(s, cmd)
102 return s
102 return s
103
103
104 _filters = {
104 _filters = {
105 'dumbdecode:': dumbdecode,
105 'dumbdecode:': dumbdecode,
106 'dumbencode:': dumbencode,
106 'dumbencode:': dumbencode,
107 'cleverdecode:': cleverdecode,
107 'cleverdecode:': cleverdecode,
108 'cleverencode:': cleverencode,
108 'cleverencode:': cleverencode,
109 'macdumbdecode:': macdumbdecode,
109 'macdumbdecode:': macdumbdecode,
110 'macdumbencode:': macdumbencode,
110 'macdumbencode:': macdumbencode,
111 'macdecode:': macdecode,
111 'macdecode:': macdecode,
112 'macencode:': macencode,
112 'macencode:': macencode,
113 }
113 }
114
114
115 def forbidnewline(ui, repo, hooktype, node, newline, **kwargs):
115 def forbidnewline(ui, repo, hooktype, node, newline, **kwargs):
116 halt = False
116 halt = False
117 seen = set()
117 seen = set()
118 # we try to walk changesets in reverse order from newest to
118 # we try to walk changesets in reverse order from newest to
119 # oldest, so that if we see a file multiple times, we take the
119 # oldest, so that if we see a file multiple times, we take the
120 # newest version as canonical. this prevents us from blocking a
120 # newest version as canonical. this prevents us from blocking a
121 # changegroup that contains an unacceptable commit followed later
121 # changegroup that contains an unacceptable commit followed later
122 # by a commit that fixes the problem.
122 # by a commit that fixes the problem.
123 tip = repo['tip']
123 tip = repo['tip']
124 for rev in xrange(len(repo) - 1, repo[node].rev() - 1, -1):
124 for rev in xrange(len(repo) - 1, repo[node].rev() - 1, -1):
125 c = repo[rev]
125 c = repo[rev]
126 for f in c.files():
126 for f in c.files():
127 if f in seen or f not in tip or f not in c:
127 if f in seen or f not in tip or f not in c:
128 continue
128 continue
129 seen.add(f)
129 seen.add(f)
130 data = c[f].data()
130 data = c[f].data()
131 if not util.binary(data) and newline in data:
131 if not util.binary(data) and newline in data:
132 if not halt:
132 if not halt:
133 ui.warn(_('attempt to commit or push text file(s) '
133 ui.warn(_('attempt to commit or push text file(s) '
134 'using %s line endings\n') %
134 'using %s line endings\n') %
135 newlinestr[newline])
135 newlinestr[newline])
136 ui.warn(_('in %s: %s\n') % (short(c.node()), f))
136 ui.warn(_('in %s: %s\n') % (short(c.node()), f))
137 halt = True
137 halt = True
138 if halt and hooktype == 'pretxnchangegroup':
138 if halt and hooktype == 'pretxnchangegroup':
139 crlf = newlinestr[newline].lower()
139 crlf = newlinestr[newline].lower()
140 filter = filterstr[newline]
140 filter = filterstr[newline]
141 ui.warn(_('\nTo prevent this mistake in your local repository,\n'
141 ui.warn(_('\nTo prevent this mistake in your local repository,\n'
142 'add to Mercurial.ini or .hg/hgrc:\n'
142 'add to Mercurial.ini or .hg/hgrc:\n'
143 '\n'
143 '\n'
144 '[hooks]\n'
144 '[hooks]\n'
145 'pretxncommit.%s = python:hgext.win32text.forbid%s\n'
145 'pretxncommit.%s = python:hgext.win32text.forbid%s\n'
146 '\n'
146 '\n'
147 'and also consider adding:\n'
147 'and also consider adding:\n'
148 '\n'
148 '\n'
149 '[extensions]\n'
149 '[extensions]\n'
150 'win32text =\n'
150 'win32text =\n'
151 '[encode]\n'
151 '[encode]\n'
152 '** = %sencode:\n'
152 '** = %sencode:\n'
153 '[decode]\n'
153 '[decode]\n'
154 '** = %sdecode:\n') % (crlf, crlf, filter, filter))
154 '** = %sdecode:\n') % (crlf, crlf, filter, filter))
155 return halt
155 return halt
156
156
157 def forbidcrlf(ui, repo, hooktype, node, **kwargs):
157 def forbidcrlf(ui, repo, hooktype, node, **kwargs):
158 return forbidnewline(ui, repo, hooktype, node, '\r\n', **kwargs)
158 return forbidnewline(ui, repo, hooktype, node, '\r\n', **kwargs)
159
159
160 def forbidcr(ui, repo, hooktype, node, **kwargs):
160 def forbidcr(ui, repo, hooktype, node, **kwargs):
161 return forbidnewline(ui, repo, hooktype, node, '\r', **kwargs)
161 return forbidnewline(ui, repo, hooktype, node, '\r', **kwargs)
162
162
163 def reposetup(ui, repo):
163 def reposetup(ui, repo):
164 if not repo.local():
164 if not repo.local():
165 return
165 return
166 for name, fn in _filters.iteritems():
166 for name, fn in _filters.iteritems():
167 repo.adddatafilter(name, fn)
167 repo.adddatafilter(name, fn)
168
168
169 def extsetup(ui):
169 def extsetup(ui):
170 if ui.configbool('win32text', 'warn', True):
170 if ui.configbool('win32text', 'warn', True):
171 ui.warn(_("win32text is deprecated: "
171 ui.warn(_("win32text is deprecated: "
172 "http://mercurial.selenic.com/wiki/Win32TextExtension\n"))
172 "http://mercurial.selenic.com/wiki/Win32TextExtension\n"))
@@ -1,1994 +1,1993
1 Short help:
1 Short help:
2
2
3 $ hg
3 $ hg
4 Mercurial Distributed SCM
4 Mercurial Distributed SCM
5
5
6 basic commands:
6 basic commands:
7
7
8 add add the specified files on the next commit
8 add add the specified files on the next commit
9 annotate show changeset information by line for each file
9 annotate show changeset information by line for each file
10 clone make a copy of an existing repository
10 clone make a copy of an existing repository
11 commit commit the specified files or all outstanding changes
11 commit commit the specified files or all outstanding changes
12 diff diff repository (or selected files)
12 diff diff repository (or selected files)
13 export dump the header and diffs for one or more changesets
13 export dump the header and diffs for one or more changesets
14 forget forget the specified files on the next commit
14 forget forget the specified files on the next commit
15 init create a new repository in the given directory
15 init create a new repository in the given directory
16 log show revision history of entire repository or files
16 log show revision history of entire repository or files
17 merge merge working directory with another revision
17 merge merge working directory with another revision
18 pull pull changes from the specified source
18 pull pull changes from the specified source
19 push push changes to the specified destination
19 push push changes to the specified destination
20 remove remove the specified files on the next commit
20 remove remove the specified files on the next commit
21 serve start stand-alone webserver
21 serve start stand-alone webserver
22 status show changed files in the working directory
22 status show changed files in the working directory
23 summary summarize working directory state
23 summary summarize working directory state
24 update update working directory (or switch revisions)
24 update update working directory (or switch revisions)
25
25
26 use "hg help" for the full list of commands or "hg -v" for details
26 use "hg help" for the full list of commands or "hg -v" for details
27
27
28 $ hg -q
28 $ hg -q
29 add add the specified files on the next commit
29 add add the specified files on the next commit
30 annotate show changeset information by line for each file
30 annotate show changeset information by line for each file
31 clone make a copy of an existing repository
31 clone make a copy of an existing repository
32 commit commit the specified files or all outstanding changes
32 commit commit the specified files or all outstanding changes
33 diff diff repository (or selected files)
33 diff diff repository (or selected files)
34 export dump the header and diffs for one or more changesets
34 export dump the header and diffs for one or more changesets
35 forget forget the specified files on the next commit
35 forget forget the specified files on the next commit
36 init create a new repository in the given directory
36 init create a new repository in the given directory
37 log show revision history of entire repository or files
37 log show revision history of entire repository or files
38 merge merge working directory with another revision
38 merge merge working directory with another revision
39 pull pull changes from the specified source
39 pull pull changes from the specified source
40 push push changes to the specified destination
40 push push changes to the specified destination
41 remove remove the specified files on the next commit
41 remove remove the specified files on the next commit
42 serve start stand-alone webserver
42 serve start stand-alone webserver
43 status show changed files in the working directory
43 status show changed files in the working directory
44 summary summarize working directory state
44 summary summarize working directory state
45 update update working directory (or switch revisions)
45 update update working directory (or switch revisions)
46
46
47 $ hg help
47 $ hg help
48 Mercurial Distributed SCM
48 Mercurial Distributed SCM
49
49
50 list of commands:
50 list of commands:
51
51
52 add add the specified files on the next commit
52 add add the specified files on the next commit
53 addremove add all new files, delete all missing files
53 addremove add all new files, delete all missing files
54 annotate show changeset information by line for each file
54 annotate show changeset information by line for each file
55 archive create an unversioned archive of a repository revision
55 archive create an unversioned archive of a repository revision
56 backout reverse effect of earlier changeset
56 backout reverse effect of earlier changeset
57 bisect subdivision search of changesets
57 bisect subdivision search of changesets
58 bookmarks track a line of development with movable markers
58 bookmarks track a line of development with movable markers
59 branch set or show the current branch name
59 branch set or show the current branch name
60 branches list repository named branches
60 branches list repository named branches
61 bundle create a changegroup file
61 bundle create a changegroup file
62 cat output the current or given revision of files
62 cat output the current or given revision of files
63 clone make a copy of an existing repository
63 clone make a copy of an existing repository
64 commit commit the specified files or all outstanding changes
64 commit commit the specified files or all outstanding changes
65 config show combined config settings from all hgrc files
65 config show combined config settings from all hgrc files
66 copy mark files as copied for the next commit
66 copy mark files as copied for the next commit
67 diff diff repository (or selected files)
67 diff diff repository (or selected files)
68 export dump the header and diffs for one or more changesets
68 export dump the header and diffs for one or more changesets
69 forget forget the specified files on the next commit
69 forget forget the specified files on the next commit
70 graft copy changes from other branches onto the current branch
70 graft copy changes from other branches onto the current branch
71 grep search for a pattern in specified files and revisions
71 grep search for a pattern in specified files and revisions
72 heads show branch heads
72 heads show branch heads
73 help show help for a given topic or a help overview
73 help show help for a given topic or a help overview
74 identify identify the working copy or specified revision
74 identify identify the working copy or specified revision
75 import import an ordered set of patches
75 import import an ordered set of patches
76 incoming show new changesets found in source
76 incoming show new changesets found in source
77 init create a new repository in the given directory
77 init create a new repository in the given directory
78 locate locate files matching specific patterns
78 locate locate files matching specific patterns
79 log show revision history of entire repository or files
79 log show revision history of entire repository or files
80 manifest output the current or given revision of the project manifest
80 manifest output the current or given revision of the project manifest
81 merge merge working directory with another revision
81 merge merge working directory with another revision
82 outgoing show changesets not found in the destination
82 outgoing show changesets not found in the destination
83 parents show the parents of the working directory or revision
83 parents show the parents of the working directory or revision
84 paths show aliases for remote repositories
84 paths show aliases for remote repositories
85 phase set or show the current phase name
85 phase set or show the current phase name
86 pull pull changes from the specified source
86 pull pull changes from the specified source
87 push push changes to the specified destination
87 push push changes to the specified destination
88 recover roll back an interrupted transaction
88 recover roll back an interrupted transaction
89 remove remove the specified files on the next commit
89 remove remove the specified files on the next commit
90 rename rename files; equivalent of copy + remove
90 rename rename files; equivalent of copy + remove
91 resolve redo merges or set/view the merge status of files
91 resolve redo merges or set/view the merge status of files
92 revert restore files to their checkout state
92 revert restore files to their checkout state
93 root print the root (top) of the current working directory
93 root print the root (top) of the current working directory
94 serve start stand-alone webserver
94 serve start stand-alone webserver
95 status show changed files in the working directory
95 status show changed files in the working directory
96 summary summarize working directory state
96 summary summarize working directory state
97 tag add one or more tags for the current or given revision
97 tag add one or more tags for the current or given revision
98 tags list repository tags
98 tags list repository tags
99 unbundle apply one or more changegroup files
99 unbundle apply one or more changegroup files
100 update update working directory (or switch revisions)
100 update update working directory (or switch revisions)
101 verify verify the integrity of the repository
101 verify verify the integrity of the repository
102 version output version and copyright information
102 version output version and copyright information
103
103
104 additional help topics:
104 additional help topics:
105
105
106 config Configuration Files
106 config Configuration Files
107 dates Date Formats
107 dates Date Formats
108 diffs Diff Formats
108 diffs Diff Formats
109 environment Environment Variables
109 environment Environment Variables
110 extensions Using Additional Features
110 extensions Using Additional Features
111 filesets Specifying File Sets
111 filesets Specifying File Sets
112 glossary Glossary
112 glossary Glossary
113 hgignore Syntax for Mercurial Ignore Files
113 hgignore Syntax for Mercurial Ignore Files
114 hgweb Configuring hgweb
114 hgweb Configuring hgweb
115 merge-tools Merge Tools
115 merge-tools Merge Tools
116 multirevs Specifying Multiple Revisions
116 multirevs Specifying Multiple Revisions
117 patterns File Name Patterns
117 patterns File Name Patterns
118 phases Working with Phases
118 phases Working with Phases
119 revisions Specifying Single Revisions
119 revisions Specifying Single Revisions
120 revsets Specifying Revision Sets
120 revsets Specifying Revision Sets
121 subrepos Subrepositories
121 subrepos Subrepositories
122 templating Template Usage
122 templating Template Usage
123 urls URL Paths
123 urls URL Paths
124
124
125 use "hg -v help" to show builtin aliases and global options
125 use "hg -v help" to show builtin aliases and global options
126
126
127 $ hg -q help
127 $ hg -q help
128 add add the specified files on the next commit
128 add add the specified files on the next commit
129 addremove add all new files, delete all missing files
129 addremove add all new files, delete all missing files
130 annotate show changeset information by line for each file
130 annotate show changeset information by line for each file
131 archive create an unversioned archive of a repository revision
131 archive create an unversioned archive of a repository revision
132 backout reverse effect of earlier changeset
132 backout reverse effect of earlier changeset
133 bisect subdivision search of changesets
133 bisect subdivision search of changesets
134 bookmarks track a line of development with movable markers
134 bookmarks track a line of development with movable markers
135 branch set or show the current branch name
135 branch set or show the current branch name
136 branches list repository named branches
136 branches list repository named branches
137 bundle create a changegroup file
137 bundle create a changegroup file
138 cat output the current or given revision of files
138 cat output the current or given revision of files
139 clone make a copy of an existing repository
139 clone make a copy of an existing repository
140 commit commit the specified files or all outstanding changes
140 commit commit the specified files or all outstanding changes
141 config show combined config settings from all hgrc files
141 config show combined config settings from all hgrc files
142 copy mark files as copied for the next commit
142 copy mark files as copied for the next commit
143 diff diff repository (or selected files)
143 diff diff repository (or selected files)
144 export dump the header and diffs for one or more changesets
144 export dump the header and diffs for one or more changesets
145 forget forget the specified files on the next commit
145 forget forget the specified files on the next commit
146 graft copy changes from other branches onto the current branch
146 graft copy changes from other branches onto the current branch
147 grep search for a pattern in specified files and revisions
147 grep search for a pattern in specified files and revisions
148 heads show branch heads
148 heads show branch heads
149 help show help for a given topic or a help overview
149 help show help for a given topic or a help overview
150 identify identify the working copy or specified revision
150 identify identify the working copy or specified revision
151 import import an ordered set of patches
151 import import an ordered set of patches
152 incoming show new changesets found in source
152 incoming show new changesets found in source
153 init create a new repository in the given directory
153 init create a new repository in the given directory
154 locate locate files matching specific patterns
154 locate locate files matching specific patterns
155 log show revision history of entire repository or files
155 log show revision history of entire repository or files
156 manifest output the current or given revision of the project manifest
156 manifest output the current or given revision of the project manifest
157 merge merge working directory with another revision
157 merge merge working directory with another revision
158 outgoing show changesets not found in the destination
158 outgoing show changesets not found in the destination
159 parents show the parents of the working directory or revision
159 parents show the parents of the working directory or revision
160 paths show aliases for remote repositories
160 paths show aliases for remote repositories
161 phase set or show the current phase name
161 phase set or show the current phase name
162 pull pull changes from the specified source
162 pull pull changes from the specified source
163 push push changes to the specified destination
163 push push changes to the specified destination
164 recover roll back an interrupted transaction
164 recover roll back an interrupted transaction
165 remove remove the specified files on the next commit
165 remove remove the specified files on the next commit
166 rename rename files; equivalent of copy + remove
166 rename rename files; equivalent of copy + remove
167 resolve redo merges or set/view the merge status of files
167 resolve redo merges or set/view the merge status of files
168 revert restore files to their checkout state
168 revert restore files to their checkout state
169 root print the root (top) of the current working directory
169 root print the root (top) of the current working directory
170 serve start stand-alone webserver
170 serve start stand-alone webserver
171 status show changed files in the working directory
171 status show changed files in the working directory
172 summary summarize working directory state
172 summary summarize working directory state
173 tag add one or more tags for the current or given revision
173 tag add one or more tags for the current or given revision
174 tags list repository tags
174 tags list repository tags
175 unbundle apply one or more changegroup files
175 unbundle apply one or more changegroup files
176 update update working directory (or switch revisions)
176 update update working directory (or switch revisions)
177 verify verify the integrity of the repository
177 verify verify the integrity of the repository
178 version output version and copyright information
178 version output version and copyright information
179
179
180 additional help topics:
180 additional help topics:
181
181
182 config Configuration Files
182 config Configuration Files
183 dates Date Formats
183 dates Date Formats
184 diffs Diff Formats
184 diffs Diff Formats
185 environment Environment Variables
185 environment Environment Variables
186 extensions Using Additional Features
186 extensions Using Additional Features
187 filesets Specifying File Sets
187 filesets Specifying File Sets
188 glossary Glossary
188 glossary Glossary
189 hgignore Syntax for Mercurial Ignore Files
189 hgignore Syntax for Mercurial Ignore Files
190 hgweb Configuring hgweb
190 hgweb Configuring hgweb
191 merge-tools Merge Tools
191 merge-tools Merge Tools
192 multirevs Specifying Multiple Revisions
192 multirevs Specifying Multiple Revisions
193 patterns File Name Patterns
193 patterns File Name Patterns
194 phases Working with Phases
194 phases Working with Phases
195 revisions Specifying Single Revisions
195 revisions Specifying Single Revisions
196 revsets Specifying Revision Sets
196 revsets Specifying Revision Sets
197 subrepos Subrepositories
197 subrepos Subrepositories
198 templating Template Usage
198 templating Template Usage
199 urls URL Paths
199 urls URL Paths
200
200
201 Test extension help:
201 Test extension help:
202 $ hg help extensions --config extensions.rebase= --config extensions.children=
202 $ hg help extensions --config extensions.rebase= --config extensions.children=
203 Using Additional Features
203 Using Additional Features
204 """""""""""""""""""""""""
204 """""""""""""""""""""""""
205
205
206 Mercurial has the ability to add new features through the use of
206 Mercurial has the ability to add new features through the use of
207 extensions. Extensions may add new commands, add options to existing
207 extensions. Extensions may add new commands, add options to existing
208 commands, change the default behavior of commands, or implement hooks.
208 commands, change the default behavior of commands, or implement hooks.
209
209
210 To enable the "foo" extension, either shipped with Mercurial or in the
210 To enable the "foo" extension, either shipped with Mercurial or in the
211 Python search path, create an entry for it in your configuration file,
211 Python search path, create an entry for it in your configuration file,
212 like this:
212 like this:
213
213
214 [extensions]
214 [extensions]
215 foo =
215 foo =
216
216
217 You may also specify the full path to an extension:
217 You may also specify the full path to an extension:
218
218
219 [extensions]
219 [extensions]
220 myfeature = ~/.hgext/myfeature.py
220 myfeature = ~/.hgext/myfeature.py
221
221
222 See "hg help config" for more information on configuration files.
222 See "hg help config" for more information on configuration files.
223
223
224 Extensions are not loaded by default for a variety of reasons: they can
224 Extensions are not loaded by default for a variety of reasons: they can
225 increase startup overhead; they may be meant for advanced usage only; they
225 increase startup overhead; they may be meant for advanced usage only; they
226 may provide potentially dangerous abilities (such as letting you destroy
226 may provide potentially dangerous abilities (such as letting you destroy
227 or modify history); they might not be ready for prime time; or they may
227 or modify history); they might not be ready for prime time; or they may
228 alter some usual behaviors of stock Mercurial. It is thus up to the user
228 alter some usual behaviors of stock Mercurial. It is thus up to the user
229 to activate extensions as needed.
229 to activate extensions as needed.
230
230
231 To explicitly disable an extension enabled in a configuration file of
231 To explicitly disable an extension enabled in a configuration file of
232 broader scope, prepend its path with !:
232 broader scope, prepend its path with !:
233
233
234 [extensions]
234 [extensions]
235 # disabling extension bar residing in /path/to/extension/bar.py
235 # disabling extension bar residing in /path/to/extension/bar.py
236 bar = !/path/to/extension/bar.py
236 bar = !/path/to/extension/bar.py
237 # ditto, but no path was supplied for extension baz
237 # ditto, but no path was supplied for extension baz
238 baz = !
238 baz = !
239
239
240 enabled extensions:
240 enabled extensions:
241
241
242 children command to display child changesets (DEPRECATED)
242 children command to display child changesets (DEPRECATED)
243 rebase command to move sets of revisions to a different ancestor
243 rebase command to move sets of revisions to a different ancestor
244
244
245 disabled extensions:
245 disabled extensions:
246
246
247 acl hooks for controlling repository access
247 acl hooks for controlling repository access
248 blackbox log repository events to a blackbox for debugging
248 blackbox log repository events to a blackbox for debugging
249 bugzilla hooks for integrating with the Bugzilla bug tracker
249 bugzilla hooks for integrating with the Bugzilla bug tracker
250 churn command to display statistics about repository history
250 churn command to display statistics about repository history
251 color colorize output from some commands
251 color colorize output from some commands
252 convert import revisions from foreign VCS repositories into
252 convert import revisions from foreign VCS repositories into
253 Mercurial
253 Mercurial
254 eol automatically manage newlines in repository files
254 eol automatically manage newlines in repository files
255 extdiff command to allow external programs to compare revisions
255 extdiff command to allow external programs to compare revisions
256 factotum http authentication with factotum
256 factotum http authentication with factotum
257 gpg commands to sign and verify changesets
257 gpg commands to sign and verify changesets
258 hgcia hooks for integrating with the CIA.vc notification service
258 hgcia hooks for integrating with the CIA.vc notification service
259 hgk browse the repository in a graphical way
259 hgk browse the repository in a graphical way
260 highlight syntax highlighting for hgweb (requires Pygments)
260 highlight syntax highlighting for hgweb (requires Pygments)
261 histedit interactive history editing
261 histedit interactive history editing
262 keyword expand keywords in tracked files
262 keyword expand keywords in tracked files
263 largefiles track large binary files
263 largefiles track large binary files
264 mq manage a stack of patches
264 mq manage a stack of patches
265 notify hooks for sending email push notifications
265 notify hooks for sending email push notifications
266 pager browse command output with an external pager
266 pager browse command output with an external pager
267 patchbomb command to send changesets as (a series of) patch emails
267 patchbomb command to send changesets as (a series of) patch emails
268 progress show progress bars for some actions
268 progress show progress bars for some actions
269 purge command to delete untracked files from the working
269 purge command to delete untracked files from the working
270 directory
270 directory
271 record commands to interactively select changes for
271 record commands to interactively select changes for
272 commit/qrefresh
272 commit/qrefresh
273 relink recreates hardlinks between repository clones
273 relink recreates hardlinks between repository clones
274 schemes extend schemes with shortcuts to repository swarms
274 schemes extend schemes with shortcuts to repository swarms
275 share share a common history between several working directories
275 share share a common history between several working directories
276 shelve save and restore changes to the working directory
276 shelve save and restore changes to the working directory
277 strip strip changesets and their descendents from history
277 strip strip changesets and their descendents from history
278 transplant command to transplant changesets from another branch
278 transplant command to transplant changesets from another branch
279 win32mbcs allow the use of MBCS paths with problematic encodings
279 win32mbcs allow the use of MBCS paths with problematic encodings
280 win32text perform automatic newline conversion
281 zeroconf discover and advertise repositories on the local network
280 zeroconf discover and advertise repositories on the local network
282 Test short command list with verbose option
281 Test short command list with verbose option
283
282
284 $ hg -v help shortlist
283 $ hg -v help shortlist
285 Mercurial Distributed SCM
284 Mercurial Distributed SCM
286
285
287 basic commands:
286 basic commands:
288
287
289 add add the specified files on the next commit
288 add add the specified files on the next commit
290 annotate, blame
289 annotate, blame
291 show changeset information by line for each file
290 show changeset information by line for each file
292 clone make a copy of an existing repository
291 clone make a copy of an existing repository
293 commit, ci commit the specified files or all outstanding changes
292 commit, ci commit the specified files or all outstanding changes
294 diff diff repository (or selected files)
293 diff diff repository (or selected files)
295 export dump the header and diffs for one or more changesets
294 export dump the header and diffs for one or more changesets
296 forget forget the specified files on the next commit
295 forget forget the specified files on the next commit
297 init create a new repository in the given directory
296 init create a new repository in the given directory
298 log, history show revision history of entire repository or files
297 log, history show revision history of entire repository or files
299 merge merge working directory with another revision
298 merge merge working directory with another revision
300 pull pull changes from the specified source
299 pull pull changes from the specified source
301 push push changes to the specified destination
300 push push changes to the specified destination
302 remove, rm remove the specified files on the next commit
301 remove, rm remove the specified files on the next commit
303 serve start stand-alone webserver
302 serve start stand-alone webserver
304 status, st show changed files in the working directory
303 status, st show changed files in the working directory
305 summary, sum summarize working directory state
304 summary, sum summarize working directory state
306 update, up, checkout, co
305 update, up, checkout, co
307 update working directory (or switch revisions)
306 update working directory (or switch revisions)
308
307
309 global options:
308 global options:
310
309
311 -R --repository REPO repository root directory or name of overlay bundle
310 -R --repository REPO repository root directory or name of overlay bundle
312 file
311 file
313 --cwd DIR change working directory
312 --cwd DIR change working directory
314 -y --noninteractive do not prompt, automatically pick the first choice for
313 -y --noninteractive do not prompt, automatically pick the first choice for
315 all prompts
314 all prompts
316 -q --quiet suppress output
315 -q --quiet suppress output
317 -v --verbose enable additional output
316 -v --verbose enable additional output
318 --config CONFIG [+] set/override config option (use 'section.name=value')
317 --config CONFIG [+] set/override config option (use 'section.name=value')
319 --debug enable debugging output
318 --debug enable debugging output
320 --debugger start debugger
319 --debugger start debugger
321 --encoding ENCODE set the charset encoding (default: ascii)
320 --encoding ENCODE set the charset encoding (default: ascii)
322 --encodingmode MODE set the charset encoding mode (default: strict)
321 --encodingmode MODE set the charset encoding mode (default: strict)
323 --traceback always print a traceback on exception
322 --traceback always print a traceback on exception
324 --time time how long the command takes
323 --time time how long the command takes
325 --profile print command execution profile
324 --profile print command execution profile
326 --version output version information and exit
325 --version output version information and exit
327 -h --help display help and exit
326 -h --help display help and exit
328 --hidden consider hidden changesets
327 --hidden consider hidden changesets
329
328
330 [+] marked option can be specified multiple times
329 [+] marked option can be specified multiple times
331
330
332 use "hg help" for the full list of commands
331 use "hg help" for the full list of commands
333
332
334 $ hg add -h
333 $ hg add -h
335 hg add [OPTION]... [FILE]...
334 hg add [OPTION]... [FILE]...
336
335
337 add the specified files on the next commit
336 add the specified files on the next commit
338
337
339 Schedule files to be version controlled and added to the repository.
338 Schedule files to be version controlled and added to the repository.
340
339
341 The files will be added to the repository at the next commit. To undo an
340 The files will be added to the repository at the next commit. To undo an
342 add before that, see "hg forget".
341 add before that, see "hg forget".
343
342
344 If no names are given, add all files to the repository.
343 If no names are given, add all files to the repository.
345
344
346 Returns 0 if all files are successfully added.
345 Returns 0 if all files are successfully added.
347
346
348 options:
347 options:
349
348
350 -I --include PATTERN [+] include names matching the given patterns
349 -I --include PATTERN [+] include names matching the given patterns
351 -X --exclude PATTERN [+] exclude names matching the given patterns
350 -X --exclude PATTERN [+] exclude names matching the given patterns
352 -S --subrepos recurse into subrepositories
351 -S --subrepos recurse into subrepositories
353 -n --dry-run do not perform actions, just print output
352 -n --dry-run do not perform actions, just print output
354
353
355 [+] marked option can be specified multiple times
354 [+] marked option can be specified multiple times
356
355
357 use "hg -v help add" to show more complete help and the global options
356 use "hg -v help add" to show more complete help and the global options
358
357
359 Verbose help for add
358 Verbose help for add
360
359
361 $ hg add -hv
360 $ hg add -hv
362 hg add [OPTION]... [FILE]...
361 hg add [OPTION]... [FILE]...
363
362
364 add the specified files on the next commit
363 add the specified files on the next commit
365
364
366 Schedule files to be version controlled and added to the repository.
365 Schedule files to be version controlled and added to the repository.
367
366
368 The files will be added to the repository at the next commit. To undo an
367 The files will be added to the repository at the next commit. To undo an
369 add before that, see "hg forget".
368 add before that, see "hg forget".
370
369
371 If no names are given, add all files to the repository.
370 If no names are given, add all files to the repository.
372
371
373 An example showing how new (unknown) files are added automatically by "hg
372 An example showing how new (unknown) files are added automatically by "hg
374 add":
373 add":
375
374
376 $ ls
375 $ ls
377 foo.c
376 foo.c
378 $ hg status
377 $ hg status
379 ? foo.c
378 ? foo.c
380 $ hg add
379 $ hg add
381 adding foo.c
380 adding foo.c
382 $ hg status
381 $ hg status
383 A foo.c
382 A foo.c
384
383
385 Returns 0 if all files are successfully added.
384 Returns 0 if all files are successfully added.
386
385
387 options:
386 options:
388
387
389 -I --include PATTERN [+] include names matching the given patterns
388 -I --include PATTERN [+] include names matching the given patterns
390 -X --exclude PATTERN [+] exclude names matching the given patterns
389 -X --exclude PATTERN [+] exclude names matching the given patterns
391 -S --subrepos recurse into subrepositories
390 -S --subrepos recurse into subrepositories
392 -n --dry-run do not perform actions, just print output
391 -n --dry-run do not perform actions, just print output
393
392
394 [+] marked option can be specified multiple times
393 [+] marked option can be specified multiple times
395
394
396 global options:
395 global options:
397
396
398 -R --repository REPO repository root directory or name of overlay bundle
397 -R --repository REPO repository root directory or name of overlay bundle
399 file
398 file
400 --cwd DIR change working directory
399 --cwd DIR change working directory
401 -y --noninteractive do not prompt, automatically pick the first choice for
400 -y --noninteractive do not prompt, automatically pick the first choice for
402 all prompts
401 all prompts
403 -q --quiet suppress output
402 -q --quiet suppress output
404 -v --verbose enable additional output
403 -v --verbose enable additional output
405 --config CONFIG [+] set/override config option (use 'section.name=value')
404 --config CONFIG [+] set/override config option (use 'section.name=value')
406 --debug enable debugging output
405 --debug enable debugging output
407 --debugger start debugger
406 --debugger start debugger
408 --encoding ENCODE set the charset encoding (default: ascii)
407 --encoding ENCODE set the charset encoding (default: ascii)
409 --encodingmode MODE set the charset encoding mode (default: strict)
408 --encodingmode MODE set the charset encoding mode (default: strict)
410 --traceback always print a traceback on exception
409 --traceback always print a traceback on exception
411 --time time how long the command takes
410 --time time how long the command takes
412 --profile print command execution profile
411 --profile print command execution profile
413 --version output version information and exit
412 --version output version information and exit
414 -h --help display help and exit
413 -h --help display help and exit
415 --hidden consider hidden changesets
414 --hidden consider hidden changesets
416
415
417 [+] marked option can be specified multiple times
416 [+] marked option can be specified multiple times
418
417
419 Test help option with version option
418 Test help option with version option
420
419
421 $ hg add -h --version
420 $ hg add -h --version
422 Mercurial Distributed SCM (version *) (glob)
421 Mercurial Distributed SCM (version *) (glob)
423 (see http://mercurial.selenic.com for more information)
422 (see http://mercurial.selenic.com for more information)
424
423
425 Copyright (C) 2005-2014 Matt Mackall and others
424 Copyright (C) 2005-2014 Matt Mackall and others
426 This is free software; see the source for copying conditions. There is NO
425 This is free software; see the source for copying conditions. There is NO
427 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
426 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
428
427
429 $ hg add --skjdfks
428 $ hg add --skjdfks
430 hg add: option --skjdfks not recognized
429 hg add: option --skjdfks not recognized
431 hg add [OPTION]... [FILE]...
430 hg add [OPTION]... [FILE]...
432
431
433 add the specified files on the next commit
432 add the specified files on the next commit
434
433
435 options:
434 options:
436
435
437 -I --include PATTERN [+] include names matching the given patterns
436 -I --include PATTERN [+] include names matching the given patterns
438 -X --exclude PATTERN [+] exclude names matching the given patterns
437 -X --exclude PATTERN [+] exclude names matching the given patterns
439 -S --subrepos recurse into subrepositories
438 -S --subrepos recurse into subrepositories
440 -n --dry-run do not perform actions, just print output
439 -n --dry-run do not perform actions, just print output
441
440
442 [+] marked option can be specified multiple times
441 [+] marked option can be specified multiple times
443
442
444 use "hg help add" to show the full help text
443 use "hg help add" to show the full help text
445 [255]
444 [255]
446
445
447 Test ambiguous command help
446 Test ambiguous command help
448
447
449 $ hg help ad
448 $ hg help ad
450 list of commands:
449 list of commands:
451
450
452 add add the specified files on the next commit
451 add add the specified files on the next commit
453 addremove add all new files, delete all missing files
452 addremove add all new files, delete all missing files
454
453
455 use "hg -v help ad" to show builtin aliases and global options
454 use "hg -v help ad" to show builtin aliases and global options
456
455
457 Test command without options
456 Test command without options
458
457
459 $ hg help verify
458 $ hg help verify
460 hg verify
459 hg verify
461
460
462 verify the integrity of the repository
461 verify the integrity of the repository
463
462
464 Verify the integrity of the current repository.
463 Verify the integrity of the current repository.
465
464
466 This will perform an extensive check of the repository's integrity,
465 This will perform an extensive check of the repository's integrity,
467 validating the hashes and checksums of each entry in the changelog,
466 validating the hashes and checksums of each entry in the changelog,
468 manifest, and tracked files, as well as the integrity of their crosslinks
467 manifest, and tracked files, as well as the integrity of their crosslinks
469 and indices.
468 and indices.
470
469
471 Please see http://mercurial.selenic.com/wiki/RepositoryCorruption for more
470 Please see http://mercurial.selenic.com/wiki/RepositoryCorruption for more
472 information about recovery from corruption of the repository.
471 information about recovery from corruption of the repository.
473
472
474 Returns 0 on success, 1 if errors are encountered.
473 Returns 0 on success, 1 if errors are encountered.
475
474
476 use "hg -v help verify" to show the global options
475 use "hg -v help verify" to show the global options
477
476
478 $ hg help diff
477 $ hg help diff
479 hg diff [OPTION]... ([-c REV] | [-r REV1 [-r REV2]]) [FILE]...
478 hg diff [OPTION]... ([-c REV] | [-r REV1 [-r REV2]]) [FILE]...
480
479
481 diff repository (or selected files)
480 diff repository (or selected files)
482
481
483 Show differences between revisions for the specified files.
482 Show differences between revisions for the specified files.
484
483
485 Differences between files are shown using the unified diff format.
484 Differences between files are shown using the unified diff format.
486
485
487 Note:
486 Note:
488 diff may generate unexpected results for merges, as it will default to
487 diff may generate unexpected results for merges, as it will default to
489 comparing against the working directory's first parent changeset if no
488 comparing against the working directory's first parent changeset if no
490 revisions are specified.
489 revisions are specified.
491
490
492 When two revision arguments are given, then changes are shown between
491 When two revision arguments are given, then changes are shown between
493 those revisions. If only one revision is specified then that revision is
492 those revisions. If only one revision is specified then that revision is
494 compared to the working directory, and, when no revisions are specified,
493 compared to the working directory, and, when no revisions are specified,
495 the working directory files are compared to its parent.
494 the working directory files are compared to its parent.
496
495
497 Alternatively you can specify -c/--change with a revision to see the
496 Alternatively you can specify -c/--change with a revision to see the
498 changes in that changeset relative to its first parent.
497 changes in that changeset relative to its first parent.
499
498
500 Without the -a/--text option, diff will avoid generating diffs of files it
499 Without the -a/--text option, diff will avoid generating diffs of files it
501 detects as binary. With -a, diff will generate a diff anyway, probably
500 detects as binary. With -a, diff will generate a diff anyway, probably
502 with undesirable results.
501 with undesirable results.
503
502
504 Use the -g/--git option to generate diffs in the git extended diff format.
503 Use the -g/--git option to generate diffs in the git extended diff format.
505 For more information, read "hg help diffs".
504 For more information, read "hg help diffs".
506
505
507 Returns 0 on success.
506 Returns 0 on success.
508
507
509 options:
508 options:
510
509
511 -r --rev REV [+] revision
510 -r --rev REV [+] revision
512 -c --change REV change made by revision
511 -c --change REV change made by revision
513 -a --text treat all files as text
512 -a --text treat all files as text
514 -g --git use git extended diff format
513 -g --git use git extended diff format
515 --nodates omit dates from diff headers
514 --nodates omit dates from diff headers
516 -p --show-function show which function each change is in
515 -p --show-function show which function each change is in
517 --reverse produce a diff that undoes the changes
516 --reverse produce a diff that undoes the changes
518 -w --ignore-all-space ignore white space when comparing lines
517 -w --ignore-all-space ignore white space when comparing lines
519 -b --ignore-space-change ignore changes in the amount of white space
518 -b --ignore-space-change ignore changes in the amount of white space
520 -B --ignore-blank-lines ignore changes whose lines are all blank
519 -B --ignore-blank-lines ignore changes whose lines are all blank
521 -U --unified NUM number of lines of context to show
520 -U --unified NUM number of lines of context to show
522 --stat output diffstat-style summary of changes
521 --stat output diffstat-style summary of changes
523 -I --include PATTERN [+] include names matching the given patterns
522 -I --include PATTERN [+] include names matching the given patterns
524 -X --exclude PATTERN [+] exclude names matching the given patterns
523 -X --exclude PATTERN [+] exclude names matching the given patterns
525 -S --subrepos recurse into subrepositories
524 -S --subrepos recurse into subrepositories
526
525
527 [+] marked option can be specified multiple times
526 [+] marked option can be specified multiple times
528
527
529 use "hg -v help diff" to show more complete help and the global options
528 use "hg -v help diff" to show more complete help and the global options
530
529
531 $ hg help status
530 $ hg help status
532 hg status [OPTION]... [FILE]...
531 hg status [OPTION]... [FILE]...
533
532
534 aliases: st
533 aliases: st
535
534
536 show changed files in the working directory
535 show changed files in the working directory
537
536
538 Show status of files in the repository. If names are given, only files
537 Show status of files in the repository. If names are given, only files
539 that match are shown. Files that are clean or ignored or the source of a
538 that match are shown. Files that are clean or ignored or the source of a
540 copy/move operation, are not listed unless -c/--clean, -i/--ignored,
539 copy/move operation, are not listed unless -c/--clean, -i/--ignored,
541 -C/--copies or -A/--all are given. Unless options described with "show
540 -C/--copies or -A/--all are given. Unless options described with "show
542 only ..." are given, the options -mardu are used.
541 only ..." are given, the options -mardu are used.
543
542
544 Option -q/--quiet hides untracked (unknown and ignored) files unless
543 Option -q/--quiet hides untracked (unknown and ignored) files unless
545 explicitly requested with -u/--unknown or -i/--ignored.
544 explicitly requested with -u/--unknown or -i/--ignored.
546
545
547 Note:
546 Note:
548 status may appear to disagree with diff if permissions have changed or
547 status may appear to disagree with diff if permissions have changed or
549 a merge has occurred. The standard diff format does not report
548 a merge has occurred. The standard diff format does not report
550 permission changes and diff only reports changes relative to one merge
549 permission changes and diff only reports changes relative to one merge
551 parent.
550 parent.
552
551
553 If one revision is given, it is used as the base revision. If two
552 If one revision is given, it is used as the base revision. If two
554 revisions are given, the differences between them are shown. The --change
553 revisions are given, the differences between them are shown. The --change
555 option can also be used as a shortcut to list the changed files of a
554 option can also be used as a shortcut to list the changed files of a
556 revision from its first parent.
555 revision from its first parent.
557
556
558 The codes used to show the status of files are:
557 The codes used to show the status of files are:
559
558
560 M = modified
559 M = modified
561 A = added
560 A = added
562 R = removed
561 R = removed
563 C = clean
562 C = clean
564 ! = missing (deleted by non-hg command, but still tracked)
563 ! = missing (deleted by non-hg command, but still tracked)
565 ? = not tracked
564 ? = not tracked
566 I = ignored
565 I = ignored
567 = origin of the previous file listed as A (added)
566 = origin of the previous file listed as A (added)
568
567
569 Returns 0 on success.
568 Returns 0 on success.
570
569
571 options:
570 options:
572
571
573 -A --all show status of all files
572 -A --all show status of all files
574 -m --modified show only modified files
573 -m --modified show only modified files
575 -a --added show only added files
574 -a --added show only added files
576 -r --removed show only removed files
575 -r --removed show only removed files
577 -d --deleted show only deleted (but tracked) files
576 -d --deleted show only deleted (but tracked) files
578 -c --clean show only files without changes
577 -c --clean show only files without changes
579 -u --unknown show only unknown (not tracked) files
578 -u --unknown show only unknown (not tracked) files
580 -i --ignored show only ignored files
579 -i --ignored show only ignored files
581 -n --no-status hide status prefix
580 -n --no-status hide status prefix
582 -C --copies show source of copied files
581 -C --copies show source of copied files
583 -0 --print0 end filenames with NUL, for use with xargs
582 -0 --print0 end filenames with NUL, for use with xargs
584 --rev REV [+] show difference from revision
583 --rev REV [+] show difference from revision
585 --change REV list the changed files of a revision
584 --change REV list the changed files of a revision
586 -I --include PATTERN [+] include names matching the given patterns
585 -I --include PATTERN [+] include names matching the given patterns
587 -X --exclude PATTERN [+] exclude names matching the given patterns
586 -X --exclude PATTERN [+] exclude names matching the given patterns
588 -S --subrepos recurse into subrepositories
587 -S --subrepos recurse into subrepositories
589
588
590 [+] marked option can be specified multiple times
589 [+] marked option can be specified multiple times
591
590
592 use "hg -v help status" to show more complete help and the global options
591 use "hg -v help status" to show more complete help and the global options
593
592
594 $ hg -q help status
593 $ hg -q help status
595 hg status [OPTION]... [FILE]...
594 hg status [OPTION]... [FILE]...
596
595
597 show changed files in the working directory
596 show changed files in the working directory
598
597
599 $ hg help foo
598 $ hg help foo
600 hg: unknown command 'foo'
599 hg: unknown command 'foo'
601 Mercurial Distributed SCM
600 Mercurial Distributed SCM
602
601
603 basic commands:
602 basic commands:
604
603
605 add add the specified files on the next commit
604 add add the specified files on the next commit
606 annotate show changeset information by line for each file
605 annotate show changeset information by line for each file
607 clone make a copy of an existing repository
606 clone make a copy of an existing repository
608 commit commit the specified files or all outstanding changes
607 commit commit the specified files or all outstanding changes
609 diff diff repository (or selected files)
608 diff diff repository (or selected files)
610 export dump the header and diffs for one or more changesets
609 export dump the header and diffs for one or more changesets
611 forget forget the specified files on the next commit
610 forget forget the specified files on the next commit
612 init create a new repository in the given directory
611 init create a new repository in the given directory
613 log show revision history of entire repository or files
612 log show revision history of entire repository or files
614 merge merge working directory with another revision
613 merge merge working directory with another revision
615 pull pull changes from the specified source
614 pull pull changes from the specified source
616 push push changes to the specified destination
615 push push changes to the specified destination
617 remove remove the specified files on the next commit
616 remove remove the specified files on the next commit
618 serve start stand-alone webserver
617 serve start stand-alone webserver
619 status show changed files in the working directory
618 status show changed files in the working directory
620 summary summarize working directory state
619 summary summarize working directory state
621 update update working directory (or switch revisions)
620 update update working directory (or switch revisions)
622
621
623 use "hg help" for the full list of commands or "hg -v" for details
622 use "hg help" for the full list of commands or "hg -v" for details
624 [255]
623 [255]
625
624
626 $ hg skjdfks
625 $ hg skjdfks
627 hg: unknown command 'skjdfks'
626 hg: unknown command 'skjdfks'
628 Mercurial Distributed SCM
627 Mercurial Distributed SCM
629
628
630 basic commands:
629 basic commands:
631
630
632 add add the specified files on the next commit
631 add add the specified files on the next commit
633 annotate show changeset information by line for each file
632 annotate show changeset information by line for each file
634 clone make a copy of an existing repository
633 clone make a copy of an existing repository
635 commit commit the specified files or all outstanding changes
634 commit commit the specified files or all outstanding changes
636 diff diff repository (or selected files)
635 diff diff repository (or selected files)
637 export dump the header and diffs for one or more changesets
636 export dump the header and diffs for one or more changesets
638 forget forget the specified files on the next commit
637 forget forget the specified files on the next commit
639 init create a new repository in the given directory
638 init create a new repository in the given directory
640 log show revision history of entire repository or files
639 log show revision history of entire repository or files
641 merge merge working directory with another revision
640 merge merge working directory with another revision
642 pull pull changes from the specified source
641 pull pull changes from the specified source
643 push push changes to the specified destination
642 push push changes to the specified destination
644 remove remove the specified files on the next commit
643 remove remove the specified files on the next commit
645 serve start stand-alone webserver
644 serve start stand-alone webserver
646 status show changed files in the working directory
645 status show changed files in the working directory
647 summary summarize working directory state
646 summary summarize working directory state
648 update update working directory (or switch revisions)
647 update update working directory (or switch revisions)
649
648
650 use "hg help" for the full list of commands or "hg -v" for details
649 use "hg help" for the full list of commands or "hg -v" for details
651 [255]
650 [255]
652
651
653 $ cat > helpext.py <<EOF
652 $ cat > helpext.py <<EOF
654 > import os
653 > import os
655 > from mercurial import commands
654 > from mercurial import commands
656 >
655 >
657 > def nohelp(ui, *args, **kwargs):
656 > def nohelp(ui, *args, **kwargs):
658 > pass
657 > pass
659 >
658 >
660 > cmdtable = {
659 > cmdtable = {
661 > "nohelp": (nohelp, [], "hg nohelp"),
660 > "nohelp": (nohelp, [], "hg nohelp"),
662 > }
661 > }
663 >
662 >
664 > commands.norepo += ' nohelp'
663 > commands.norepo += ' nohelp'
665 > EOF
664 > EOF
666 $ echo '[extensions]' >> $HGRCPATH
665 $ echo '[extensions]' >> $HGRCPATH
667 $ echo "helpext = `pwd`/helpext.py" >> $HGRCPATH
666 $ echo "helpext = `pwd`/helpext.py" >> $HGRCPATH
668
667
669 Test command with no help text
668 Test command with no help text
670
669
671 $ hg help nohelp
670 $ hg help nohelp
672 hg nohelp
671 hg nohelp
673
672
674 (no help text available)
673 (no help text available)
675
674
676 use "hg -v help nohelp" to show the global options
675 use "hg -v help nohelp" to show the global options
677
676
678 $ hg help -k nohelp
677 $ hg help -k nohelp
679 Commands:
678 Commands:
680
679
681 nohelp hg nohelp
680 nohelp hg nohelp
682
681
683 Extension Commands:
682 Extension Commands:
684
683
685 nohelp (no help text available)
684 nohelp (no help text available)
686
685
687 Test that default list of commands omits extension commands
686 Test that default list of commands omits extension commands
688
687
689 $ hg help
688 $ hg help
690 Mercurial Distributed SCM
689 Mercurial Distributed SCM
691
690
692 list of commands:
691 list of commands:
693
692
694 add add the specified files on the next commit
693 add add the specified files on the next commit
695 addremove add all new files, delete all missing files
694 addremove add all new files, delete all missing files
696 annotate show changeset information by line for each file
695 annotate show changeset information by line for each file
697 archive create an unversioned archive of a repository revision
696 archive create an unversioned archive of a repository revision
698 backout reverse effect of earlier changeset
697 backout reverse effect of earlier changeset
699 bisect subdivision search of changesets
698 bisect subdivision search of changesets
700 bookmarks track a line of development with movable markers
699 bookmarks track a line of development with movable markers
701 branch set or show the current branch name
700 branch set or show the current branch name
702 branches list repository named branches
701 branches list repository named branches
703 bundle create a changegroup file
702 bundle create a changegroup file
704 cat output the current or given revision of files
703 cat output the current or given revision of files
705 clone make a copy of an existing repository
704 clone make a copy of an existing repository
706 commit commit the specified files or all outstanding changes
705 commit commit the specified files or all outstanding changes
707 config show combined config settings from all hgrc files
706 config show combined config settings from all hgrc files
708 copy mark files as copied for the next commit
707 copy mark files as copied for the next commit
709 diff diff repository (or selected files)
708 diff diff repository (or selected files)
710 export dump the header and diffs for one or more changesets
709 export dump the header and diffs for one or more changesets
711 forget forget the specified files on the next commit
710 forget forget the specified files on the next commit
712 graft copy changes from other branches onto the current branch
711 graft copy changes from other branches onto the current branch
713 grep search for a pattern in specified files and revisions
712 grep search for a pattern in specified files and revisions
714 heads show branch heads
713 heads show branch heads
715 help show help for a given topic or a help overview
714 help show help for a given topic or a help overview
716 identify identify the working copy or specified revision
715 identify identify the working copy or specified revision
717 import import an ordered set of patches
716 import import an ordered set of patches
718 incoming show new changesets found in source
717 incoming show new changesets found in source
719 init create a new repository in the given directory
718 init create a new repository in the given directory
720 locate locate files matching specific patterns
719 locate locate files matching specific patterns
721 log show revision history of entire repository or files
720 log show revision history of entire repository or files
722 manifest output the current or given revision of the project manifest
721 manifest output the current or given revision of the project manifest
723 merge merge working directory with another revision
722 merge merge working directory with another revision
724 outgoing show changesets not found in the destination
723 outgoing show changesets not found in the destination
725 parents show the parents of the working directory or revision
724 parents show the parents of the working directory or revision
726 paths show aliases for remote repositories
725 paths show aliases for remote repositories
727 phase set or show the current phase name
726 phase set or show the current phase name
728 pull pull changes from the specified source
727 pull pull changes from the specified source
729 push push changes to the specified destination
728 push push changes to the specified destination
730 recover roll back an interrupted transaction
729 recover roll back an interrupted transaction
731 remove remove the specified files on the next commit
730 remove remove the specified files on the next commit
732 rename rename files; equivalent of copy + remove
731 rename rename files; equivalent of copy + remove
733 resolve redo merges or set/view the merge status of files
732 resolve redo merges or set/view the merge status of files
734 revert restore files to their checkout state
733 revert restore files to their checkout state
735 root print the root (top) of the current working directory
734 root print the root (top) of the current working directory
736 serve start stand-alone webserver
735 serve start stand-alone webserver
737 status show changed files in the working directory
736 status show changed files in the working directory
738 summary summarize working directory state
737 summary summarize working directory state
739 tag add one or more tags for the current or given revision
738 tag add one or more tags for the current or given revision
740 tags list repository tags
739 tags list repository tags
741 unbundle apply one or more changegroup files
740 unbundle apply one or more changegroup files
742 update update working directory (or switch revisions)
741 update update working directory (or switch revisions)
743 verify verify the integrity of the repository
742 verify verify the integrity of the repository
744 version output version and copyright information
743 version output version and copyright information
745
744
746 enabled extensions:
745 enabled extensions:
747
746
748 helpext (no help text available)
747 helpext (no help text available)
749
748
750 additional help topics:
749 additional help topics:
751
750
752 config Configuration Files
751 config Configuration Files
753 dates Date Formats
752 dates Date Formats
754 diffs Diff Formats
753 diffs Diff Formats
755 environment Environment Variables
754 environment Environment Variables
756 extensions Using Additional Features
755 extensions Using Additional Features
757 filesets Specifying File Sets
756 filesets Specifying File Sets
758 glossary Glossary
757 glossary Glossary
759 hgignore Syntax for Mercurial Ignore Files
758 hgignore Syntax for Mercurial Ignore Files
760 hgweb Configuring hgweb
759 hgweb Configuring hgweb
761 merge-tools Merge Tools
760 merge-tools Merge Tools
762 multirevs Specifying Multiple Revisions
761 multirevs Specifying Multiple Revisions
763 patterns File Name Patterns
762 patterns File Name Patterns
764 phases Working with Phases
763 phases Working with Phases
765 revisions Specifying Single Revisions
764 revisions Specifying Single Revisions
766 revsets Specifying Revision Sets
765 revsets Specifying Revision Sets
767 subrepos Subrepositories
766 subrepos Subrepositories
768 templating Template Usage
767 templating Template Usage
769 urls URL Paths
768 urls URL Paths
770
769
771 use "hg -v help" to show builtin aliases and global options
770 use "hg -v help" to show builtin aliases and global options
772
771
773
772
774
773
775 Test list of commands with command with no help text
774 Test list of commands with command with no help text
776
775
777 $ hg help helpext
776 $ hg help helpext
778 helpext extension - no help text available
777 helpext extension - no help text available
779
778
780 list of commands:
779 list of commands:
781
780
782 nohelp (no help text available)
781 nohelp (no help text available)
783
782
784 use "hg -v help helpext" to show builtin aliases and global options
783 use "hg -v help helpext" to show builtin aliases and global options
785
784
786 Test a help topic
785 Test a help topic
787
786
788 $ hg help revs
787 $ hg help revs
789 Specifying Single Revisions
788 Specifying Single Revisions
790 """""""""""""""""""""""""""
789 """""""""""""""""""""""""""
791
790
792 Mercurial supports several ways to specify individual revisions.
791 Mercurial supports several ways to specify individual revisions.
793
792
794 A plain integer is treated as a revision number. Negative integers are
793 A plain integer is treated as a revision number. Negative integers are
795 treated as sequential offsets from the tip, with -1 denoting the tip, -2
794 treated as sequential offsets from the tip, with -1 denoting the tip, -2
796 denoting the revision prior to the tip, and so forth.
795 denoting the revision prior to the tip, and so forth.
797
796
798 A 40-digit hexadecimal string is treated as a unique revision identifier.
797 A 40-digit hexadecimal string is treated as a unique revision identifier.
799
798
800 A hexadecimal string less than 40 characters long is treated as a unique
799 A hexadecimal string less than 40 characters long is treated as a unique
801 revision identifier and is referred to as a short-form identifier. A
800 revision identifier and is referred to as a short-form identifier. A
802 short-form identifier is only valid if it is the prefix of exactly one
801 short-form identifier is only valid if it is the prefix of exactly one
803 full-length identifier.
802 full-length identifier.
804
803
805 Any other string is treated as a bookmark, tag, or branch name. A bookmark
804 Any other string is treated as a bookmark, tag, or branch name. A bookmark
806 is a movable pointer to a revision. A tag is a permanent name associated
805 is a movable pointer to a revision. A tag is a permanent name associated
807 with a revision. A branch name denotes the tipmost open branch head of
806 with a revision. A branch name denotes the tipmost open branch head of
808 that branch - or if they are all closed, the tipmost closed head of the
807 that branch - or if they are all closed, the tipmost closed head of the
809 branch. Bookmark, tag, and branch names must not contain the ":"
808 branch. Bookmark, tag, and branch names must not contain the ":"
810 character.
809 character.
811
810
812 The reserved name "tip" always identifies the most recent revision.
811 The reserved name "tip" always identifies the most recent revision.
813
812
814 The reserved name "null" indicates the null revision. This is the revision
813 The reserved name "null" indicates the null revision. This is the revision
815 of an empty repository, and the parent of revision 0.
814 of an empty repository, and the parent of revision 0.
816
815
817 The reserved name "." indicates the working directory parent. If no
816 The reserved name "." indicates the working directory parent. If no
818 working directory is checked out, it is equivalent to null. If an
817 working directory is checked out, it is equivalent to null. If an
819 uncommitted merge is in progress, "." is the revision of the first parent.
818 uncommitted merge is in progress, "." is the revision of the first parent.
820
819
821 Test templating help
820 Test templating help
822
821
823 $ hg help templating | egrep '(desc|diffstat|firstline|nonempty) '
822 $ hg help templating | egrep '(desc|diffstat|firstline|nonempty) '
824 desc String. The text of the changeset description.
823 desc String. The text of the changeset description.
825 diffstat String. Statistics of changes with the following format:
824 diffstat String. Statistics of changes with the following format:
826 firstline Any text. Returns the first line of text.
825 firstline Any text. Returns the first line of text.
827 nonempty Any text. Returns '(none)' if the string is empty.
826 nonempty Any text. Returns '(none)' if the string is empty.
828
827
829 Test help hooks
828 Test help hooks
830
829
831 $ cat > helphook1.py <<EOF
830 $ cat > helphook1.py <<EOF
832 > from mercurial import help
831 > from mercurial import help
833 >
832 >
834 > def rewrite(topic, doc):
833 > def rewrite(topic, doc):
835 > return doc + '\nhelphook1\n'
834 > return doc + '\nhelphook1\n'
836 >
835 >
837 > def extsetup(ui):
836 > def extsetup(ui):
838 > help.addtopichook('revsets', rewrite)
837 > help.addtopichook('revsets', rewrite)
839 > EOF
838 > EOF
840 $ cat > helphook2.py <<EOF
839 $ cat > helphook2.py <<EOF
841 > from mercurial import help
840 > from mercurial import help
842 >
841 >
843 > def rewrite(topic, doc):
842 > def rewrite(topic, doc):
844 > return doc + '\nhelphook2\n'
843 > return doc + '\nhelphook2\n'
845 >
844 >
846 > def extsetup(ui):
845 > def extsetup(ui):
847 > help.addtopichook('revsets', rewrite)
846 > help.addtopichook('revsets', rewrite)
848 > EOF
847 > EOF
849 $ echo '[extensions]' >> $HGRCPATH
848 $ echo '[extensions]' >> $HGRCPATH
850 $ echo "helphook1 = `pwd`/helphook1.py" >> $HGRCPATH
849 $ echo "helphook1 = `pwd`/helphook1.py" >> $HGRCPATH
851 $ echo "helphook2 = `pwd`/helphook2.py" >> $HGRCPATH
850 $ echo "helphook2 = `pwd`/helphook2.py" >> $HGRCPATH
852 $ hg help revsets | grep helphook
851 $ hg help revsets | grep helphook
853 helphook1
852 helphook1
854 helphook2
853 helphook2
855
854
856 Test keyword search help
855 Test keyword search help
857
856
858 $ cat > prefixedname.py <<EOF
857 $ cat > prefixedname.py <<EOF
859 > '''matched against word "clone"
858 > '''matched against word "clone"
860 > '''
859 > '''
861 > EOF
860 > EOF
862 $ echo '[extensions]' >> $HGRCPATH
861 $ echo '[extensions]' >> $HGRCPATH
863 $ echo "dot.dot.prefixedname = `pwd`/prefixedname.py" >> $HGRCPATH
862 $ echo "dot.dot.prefixedname = `pwd`/prefixedname.py" >> $HGRCPATH
864 $ hg help -k clone
863 $ hg help -k clone
865 Topics:
864 Topics:
866
865
867 config Configuration Files
866 config Configuration Files
868 extensions Using Additional Features
867 extensions Using Additional Features
869 glossary Glossary
868 glossary Glossary
870 phases Working with Phases
869 phases Working with Phases
871 subrepos Subrepositories
870 subrepos Subrepositories
872 urls URL Paths
871 urls URL Paths
873
872
874 Commands:
873 Commands:
875
874
876 bookmarks track a line of development with movable markers
875 bookmarks track a line of development with movable markers
877 clone make a copy of an existing repository
876 clone make a copy of an existing repository
878 paths show aliases for remote repositories
877 paths show aliases for remote repositories
879 update update working directory (or switch revisions)
878 update update working directory (or switch revisions)
880
879
881 Extensions:
880 Extensions:
882
881
883 prefixedname matched against word "clone"
882 prefixedname matched against word "clone"
884 relink recreates hardlinks between repository clones
883 relink recreates hardlinks between repository clones
885
884
886 Extension Commands:
885 Extension Commands:
887
886
888 qclone clone main and patch repository at same time
887 qclone clone main and patch repository at same time
889
888
890 Test omit indicating for help
889 Test omit indicating for help
891
890
892 $ cat > addverboseitems.py <<EOF
891 $ cat > addverboseitems.py <<EOF
893 > '''extension to test omit indicating.
892 > '''extension to test omit indicating.
894 >
893 >
895 > This paragraph is never omitted (for extension)
894 > This paragraph is never omitted (for extension)
896 >
895 >
897 > .. container:: verbose
896 > .. container:: verbose
898 >
897 >
899 > This paragraph is omitted,
898 > This paragraph is omitted,
900 > if :hg:\`help\` is invoked witout \`\`-v\`\` (for extension)
899 > if :hg:\`help\` is invoked witout \`\`-v\`\` (for extension)
901 >
900 >
902 > This paragraph is never omitted, too (for extension)
901 > This paragraph is never omitted, too (for extension)
903 > '''
902 > '''
904 >
903 >
905 > from mercurial import help, commands
904 > from mercurial import help, commands
906 > testtopic = """This paragraph is never omitted (for topic).
905 > testtopic = """This paragraph is never omitted (for topic).
907 >
906 >
908 > .. container:: verbose
907 > .. container:: verbose
909 >
908 >
910 > This paragraph is omitted,
909 > This paragraph is omitted,
911 > if :hg:\`help\` is invoked witout \`\`-v\`\` (for topic)
910 > if :hg:\`help\` is invoked witout \`\`-v\`\` (for topic)
912 >
911 >
913 > This paragraph is never omitted, too (for topic)
912 > This paragraph is never omitted, too (for topic)
914 > """
913 > """
915 > def extsetup(ui):
914 > def extsetup(ui):
916 > help.helptable.append((["topic-containing-verbose"],
915 > help.helptable.append((["topic-containing-verbose"],
917 > "This is the topic to test omit indicating.",
916 > "This is the topic to test omit indicating.",
918 > lambda : testtopic))
917 > lambda : testtopic))
919 > EOF
918 > EOF
920 $ echo '[extensions]' >> $HGRCPATH
919 $ echo '[extensions]' >> $HGRCPATH
921 $ echo "addverboseitems = `pwd`/addverboseitems.py" >> $HGRCPATH
920 $ echo "addverboseitems = `pwd`/addverboseitems.py" >> $HGRCPATH
922 $ hg help addverboseitems
921 $ hg help addverboseitems
923 addverboseitems extension - extension to test omit indicating.
922 addverboseitems extension - extension to test omit indicating.
924
923
925 This paragraph is never omitted (for extension)
924 This paragraph is never omitted (for extension)
926
925
927 This paragraph is never omitted, too (for extension)
926 This paragraph is never omitted, too (for extension)
928
927
929 use "hg help -v addverboseitems" to show more complete help
928 use "hg help -v addverboseitems" to show more complete help
930
929
931 no commands defined
930 no commands defined
932 $ hg help -v addverboseitems
931 $ hg help -v addverboseitems
933 addverboseitems extension - extension to test omit indicating.
932 addverboseitems extension - extension to test omit indicating.
934
933
935 This paragraph is never omitted (for extension)
934 This paragraph is never omitted (for extension)
936
935
937 This paragraph is omitted, if "hg help" is invoked witout "-v" (for extension)
936 This paragraph is omitted, if "hg help" is invoked witout "-v" (for extension)
938
937
939 This paragraph is never omitted, too (for extension)
938 This paragraph is never omitted, too (for extension)
940
939
941 no commands defined
940 no commands defined
942 $ hg help topic-containing-verbose
941 $ hg help topic-containing-verbose
943 This is the topic to test omit indicating.
942 This is the topic to test omit indicating.
944 """"""""""""""""""""""""""""""""""""""""""
943 """"""""""""""""""""""""""""""""""""""""""
945
944
946 This paragraph is never omitted (for topic).
945 This paragraph is never omitted (for topic).
947
946
948 This paragraph is never omitted, too (for topic)
947 This paragraph is never omitted, too (for topic)
949
948
950 use "hg help -v topic-containing-verbose" to show more complete help
949 use "hg help -v topic-containing-verbose" to show more complete help
951 $ hg help -v topic-containing-verbose
950 $ hg help -v topic-containing-verbose
952 This is the topic to test omit indicating.
951 This is the topic to test omit indicating.
953 """"""""""""""""""""""""""""""""""""""""""
952 """"""""""""""""""""""""""""""""""""""""""
954
953
955 This paragraph is never omitted (for topic).
954 This paragraph is never omitted (for topic).
956
955
957 This paragraph is omitted, if "hg help" is invoked witout "-v" (for topic)
956 This paragraph is omitted, if "hg help" is invoked witout "-v" (for topic)
958
957
959 This paragraph is never omitted, too (for topic)
958 This paragraph is never omitted, too (for topic)
960
959
961 Test usage of section marks in help documents
960 Test usage of section marks in help documents
962
961
963 $ cd "$TESTDIR"/../doc
962 $ cd "$TESTDIR"/../doc
964 $ python check-seclevel.py
963 $ python check-seclevel.py
965 $ cd $TESTTMP
964 $ cd $TESTTMP
966
965
967 #if serve
966 #if serve
968
967
969 Test the help pages in hgweb.
968 Test the help pages in hgweb.
970
969
971 Dish up an empty repo; serve it cold.
970 Dish up an empty repo; serve it cold.
972
971
973 $ hg init "$TESTTMP/test"
972 $ hg init "$TESTTMP/test"
974 $ hg serve -R "$TESTTMP/test" -n test -p $HGPORT -d --pid-file=hg.pid
973 $ hg serve -R "$TESTTMP/test" -n test -p $HGPORT -d --pid-file=hg.pid
975 $ cat hg.pid >> $DAEMON_PIDS
974 $ cat hg.pid >> $DAEMON_PIDS
976
975
977 $ "$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT "help"
976 $ "$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT "help"
978 200 Script output follows
977 200 Script output follows
979
978
980 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
979 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
981 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
980 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
982 <head>
981 <head>
983 <link rel="icon" href="/static/hgicon.png" type="image/png" />
982 <link rel="icon" href="/static/hgicon.png" type="image/png" />
984 <meta name="robots" content="index, nofollow" />
983 <meta name="robots" content="index, nofollow" />
985 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
984 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
986 <script type="text/javascript" src="/static/mercurial.js"></script>
985 <script type="text/javascript" src="/static/mercurial.js"></script>
987
986
988 <title>Help: Index</title>
987 <title>Help: Index</title>
989 </head>
988 </head>
990 <body>
989 <body>
991
990
992 <div class="container">
991 <div class="container">
993 <div class="menu">
992 <div class="menu">
994 <div class="logo">
993 <div class="logo">
995 <a href="http://mercurial.selenic.com/">
994 <a href="http://mercurial.selenic.com/">
996 <img src="/static/hglogo.png" alt="mercurial" /></a>
995 <img src="/static/hglogo.png" alt="mercurial" /></a>
997 </div>
996 </div>
998 <ul>
997 <ul>
999 <li><a href="/shortlog">log</a></li>
998 <li><a href="/shortlog">log</a></li>
1000 <li><a href="/graph">graph</a></li>
999 <li><a href="/graph">graph</a></li>
1001 <li><a href="/tags">tags</a></li>
1000 <li><a href="/tags">tags</a></li>
1002 <li><a href="/bookmarks">bookmarks</a></li>
1001 <li><a href="/bookmarks">bookmarks</a></li>
1003 <li><a href="/branches">branches</a></li>
1002 <li><a href="/branches">branches</a></li>
1004 </ul>
1003 </ul>
1005 <ul>
1004 <ul>
1006 <li class="active">help</li>
1005 <li class="active">help</li>
1007 </ul>
1006 </ul>
1008 </div>
1007 </div>
1009
1008
1010 <div class="main">
1009 <div class="main">
1011 <h2 class="breadcrumb"><a href="/">Mercurial</a> </h2>
1010 <h2 class="breadcrumb"><a href="/">Mercurial</a> </h2>
1012 <form class="search" action="/log">
1011 <form class="search" action="/log">
1013
1012
1014 <p><input name="rev" id="search1" type="text" size="30" /></p>
1013 <p><input name="rev" id="search1" type="text" size="30" /></p>
1015 <div id="hint">Find changesets by keywords (author, files, the commit message), revision
1014 <div id="hint">Find changesets by keywords (author, files, the commit message), revision
1016 number or hash, or <a href="/help/revsets">revset expression</a>.</div>
1015 number or hash, or <a href="/help/revsets">revset expression</a>.</div>
1017 </form>
1016 </form>
1018 <table class="bigtable">
1017 <table class="bigtable">
1019 <tr><td colspan="2"><h2><a name="main" href="#topics">Topics</a></h2></td></tr>
1018 <tr><td colspan="2"><h2><a name="main" href="#topics">Topics</a></h2></td></tr>
1020
1019
1021 <tr><td>
1020 <tr><td>
1022 <a href="/help/config">
1021 <a href="/help/config">
1023 config
1022 config
1024 </a>
1023 </a>
1025 </td><td>
1024 </td><td>
1026 Configuration Files
1025 Configuration Files
1027 </td></tr>
1026 </td></tr>
1028 <tr><td>
1027 <tr><td>
1029 <a href="/help/dates">
1028 <a href="/help/dates">
1030 dates
1029 dates
1031 </a>
1030 </a>
1032 </td><td>
1031 </td><td>
1033 Date Formats
1032 Date Formats
1034 </td></tr>
1033 </td></tr>
1035 <tr><td>
1034 <tr><td>
1036 <a href="/help/diffs">
1035 <a href="/help/diffs">
1037 diffs
1036 diffs
1038 </a>
1037 </a>
1039 </td><td>
1038 </td><td>
1040 Diff Formats
1039 Diff Formats
1041 </td></tr>
1040 </td></tr>
1042 <tr><td>
1041 <tr><td>
1043 <a href="/help/environment">
1042 <a href="/help/environment">
1044 environment
1043 environment
1045 </a>
1044 </a>
1046 </td><td>
1045 </td><td>
1047 Environment Variables
1046 Environment Variables
1048 </td></tr>
1047 </td></tr>
1049 <tr><td>
1048 <tr><td>
1050 <a href="/help/extensions">
1049 <a href="/help/extensions">
1051 extensions
1050 extensions
1052 </a>
1051 </a>
1053 </td><td>
1052 </td><td>
1054 Using Additional Features
1053 Using Additional Features
1055 </td></tr>
1054 </td></tr>
1056 <tr><td>
1055 <tr><td>
1057 <a href="/help/filesets">
1056 <a href="/help/filesets">
1058 filesets
1057 filesets
1059 </a>
1058 </a>
1060 </td><td>
1059 </td><td>
1061 Specifying File Sets
1060 Specifying File Sets
1062 </td></tr>
1061 </td></tr>
1063 <tr><td>
1062 <tr><td>
1064 <a href="/help/glossary">
1063 <a href="/help/glossary">
1065 glossary
1064 glossary
1066 </a>
1065 </a>
1067 </td><td>
1066 </td><td>
1068 Glossary
1067 Glossary
1069 </td></tr>
1068 </td></tr>
1070 <tr><td>
1069 <tr><td>
1071 <a href="/help/hgignore">
1070 <a href="/help/hgignore">
1072 hgignore
1071 hgignore
1073 </a>
1072 </a>
1074 </td><td>
1073 </td><td>
1075 Syntax for Mercurial Ignore Files
1074 Syntax for Mercurial Ignore Files
1076 </td></tr>
1075 </td></tr>
1077 <tr><td>
1076 <tr><td>
1078 <a href="/help/hgweb">
1077 <a href="/help/hgweb">
1079 hgweb
1078 hgweb
1080 </a>
1079 </a>
1081 </td><td>
1080 </td><td>
1082 Configuring hgweb
1081 Configuring hgweb
1083 </td></tr>
1082 </td></tr>
1084 <tr><td>
1083 <tr><td>
1085 <a href="/help/merge-tools">
1084 <a href="/help/merge-tools">
1086 merge-tools
1085 merge-tools
1087 </a>
1086 </a>
1088 </td><td>
1087 </td><td>
1089 Merge Tools
1088 Merge Tools
1090 </td></tr>
1089 </td></tr>
1091 <tr><td>
1090 <tr><td>
1092 <a href="/help/multirevs">
1091 <a href="/help/multirevs">
1093 multirevs
1092 multirevs
1094 </a>
1093 </a>
1095 </td><td>
1094 </td><td>
1096 Specifying Multiple Revisions
1095 Specifying Multiple Revisions
1097 </td></tr>
1096 </td></tr>
1098 <tr><td>
1097 <tr><td>
1099 <a href="/help/patterns">
1098 <a href="/help/patterns">
1100 patterns
1099 patterns
1101 </a>
1100 </a>
1102 </td><td>
1101 </td><td>
1103 File Name Patterns
1102 File Name Patterns
1104 </td></tr>
1103 </td></tr>
1105 <tr><td>
1104 <tr><td>
1106 <a href="/help/phases">
1105 <a href="/help/phases">
1107 phases
1106 phases
1108 </a>
1107 </a>
1109 </td><td>
1108 </td><td>
1110 Working with Phases
1109 Working with Phases
1111 </td></tr>
1110 </td></tr>
1112 <tr><td>
1111 <tr><td>
1113 <a href="/help/revisions">
1112 <a href="/help/revisions">
1114 revisions
1113 revisions
1115 </a>
1114 </a>
1116 </td><td>
1115 </td><td>
1117 Specifying Single Revisions
1116 Specifying Single Revisions
1118 </td></tr>
1117 </td></tr>
1119 <tr><td>
1118 <tr><td>
1120 <a href="/help/revsets">
1119 <a href="/help/revsets">
1121 revsets
1120 revsets
1122 </a>
1121 </a>
1123 </td><td>
1122 </td><td>
1124 Specifying Revision Sets
1123 Specifying Revision Sets
1125 </td></tr>
1124 </td></tr>
1126 <tr><td>
1125 <tr><td>
1127 <a href="/help/subrepos">
1126 <a href="/help/subrepos">
1128 subrepos
1127 subrepos
1129 </a>
1128 </a>
1130 </td><td>
1129 </td><td>
1131 Subrepositories
1130 Subrepositories
1132 </td></tr>
1131 </td></tr>
1133 <tr><td>
1132 <tr><td>
1134 <a href="/help/templating">
1133 <a href="/help/templating">
1135 templating
1134 templating
1136 </a>
1135 </a>
1137 </td><td>
1136 </td><td>
1138 Template Usage
1137 Template Usage
1139 </td></tr>
1138 </td></tr>
1140 <tr><td>
1139 <tr><td>
1141 <a href="/help/urls">
1140 <a href="/help/urls">
1142 urls
1141 urls
1143 </a>
1142 </a>
1144 </td><td>
1143 </td><td>
1145 URL Paths
1144 URL Paths
1146 </td></tr>
1145 </td></tr>
1147 <tr><td>
1146 <tr><td>
1148 <a href="/help/topic-containing-verbose">
1147 <a href="/help/topic-containing-verbose">
1149 topic-containing-verbose
1148 topic-containing-verbose
1150 </a>
1149 </a>
1151 </td><td>
1150 </td><td>
1152 This is the topic to test omit indicating.
1151 This is the topic to test omit indicating.
1153 </td></tr>
1152 </td></tr>
1154
1153
1155 <tr><td colspan="2"><h2><a name="main" href="#main">Main Commands</a></h2></td></tr>
1154 <tr><td colspan="2"><h2><a name="main" href="#main">Main Commands</a></h2></td></tr>
1156
1155
1157 <tr><td>
1156 <tr><td>
1158 <a href="/help/add">
1157 <a href="/help/add">
1159 add
1158 add
1160 </a>
1159 </a>
1161 </td><td>
1160 </td><td>
1162 add the specified files on the next commit
1161 add the specified files on the next commit
1163 </td></tr>
1162 </td></tr>
1164 <tr><td>
1163 <tr><td>
1165 <a href="/help/annotate">
1164 <a href="/help/annotate">
1166 annotate
1165 annotate
1167 </a>
1166 </a>
1168 </td><td>
1167 </td><td>
1169 show changeset information by line for each file
1168 show changeset information by line for each file
1170 </td></tr>
1169 </td></tr>
1171 <tr><td>
1170 <tr><td>
1172 <a href="/help/clone">
1171 <a href="/help/clone">
1173 clone
1172 clone
1174 </a>
1173 </a>
1175 </td><td>
1174 </td><td>
1176 make a copy of an existing repository
1175 make a copy of an existing repository
1177 </td></tr>
1176 </td></tr>
1178 <tr><td>
1177 <tr><td>
1179 <a href="/help/commit">
1178 <a href="/help/commit">
1180 commit
1179 commit
1181 </a>
1180 </a>
1182 </td><td>
1181 </td><td>
1183 commit the specified files or all outstanding changes
1182 commit the specified files or all outstanding changes
1184 </td></tr>
1183 </td></tr>
1185 <tr><td>
1184 <tr><td>
1186 <a href="/help/diff">
1185 <a href="/help/diff">
1187 diff
1186 diff
1188 </a>
1187 </a>
1189 </td><td>
1188 </td><td>
1190 diff repository (or selected files)
1189 diff repository (or selected files)
1191 </td></tr>
1190 </td></tr>
1192 <tr><td>
1191 <tr><td>
1193 <a href="/help/export">
1192 <a href="/help/export">
1194 export
1193 export
1195 </a>
1194 </a>
1196 </td><td>
1195 </td><td>
1197 dump the header and diffs for one or more changesets
1196 dump the header and diffs for one or more changesets
1198 </td></tr>
1197 </td></tr>
1199 <tr><td>
1198 <tr><td>
1200 <a href="/help/forget">
1199 <a href="/help/forget">
1201 forget
1200 forget
1202 </a>
1201 </a>
1203 </td><td>
1202 </td><td>
1204 forget the specified files on the next commit
1203 forget the specified files on the next commit
1205 </td></tr>
1204 </td></tr>
1206 <tr><td>
1205 <tr><td>
1207 <a href="/help/init">
1206 <a href="/help/init">
1208 init
1207 init
1209 </a>
1208 </a>
1210 </td><td>
1209 </td><td>
1211 create a new repository in the given directory
1210 create a new repository in the given directory
1212 </td></tr>
1211 </td></tr>
1213 <tr><td>
1212 <tr><td>
1214 <a href="/help/log">
1213 <a href="/help/log">
1215 log
1214 log
1216 </a>
1215 </a>
1217 </td><td>
1216 </td><td>
1218 show revision history of entire repository or files
1217 show revision history of entire repository or files
1219 </td></tr>
1218 </td></tr>
1220 <tr><td>
1219 <tr><td>
1221 <a href="/help/merge">
1220 <a href="/help/merge">
1222 merge
1221 merge
1223 </a>
1222 </a>
1224 </td><td>
1223 </td><td>
1225 merge working directory with another revision
1224 merge working directory with another revision
1226 </td></tr>
1225 </td></tr>
1227 <tr><td>
1226 <tr><td>
1228 <a href="/help/pull">
1227 <a href="/help/pull">
1229 pull
1228 pull
1230 </a>
1229 </a>
1231 </td><td>
1230 </td><td>
1232 pull changes from the specified source
1231 pull changes from the specified source
1233 </td></tr>
1232 </td></tr>
1234 <tr><td>
1233 <tr><td>
1235 <a href="/help/push">
1234 <a href="/help/push">
1236 push
1235 push
1237 </a>
1236 </a>
1238 </td><td>
1237 </td><td>
1239 push changes to the specified destination
1238 push changes to the specified destination
1240 </td></tr>
1239 </td></tr>
1241 <tr><td>
1240 <tr><td>
1242 <a href="/help/remove">
1241 <a href="/help/remove">
1243 remove
1242 remove
1244 </a>
1243 </a>
1245 </td><td>
1244 </td><td>
1246 remove the specified files on the next commit
1245 remove the specified files on the next commit
1247 </td></tr>
1246 </td></tr>
1248 <tr><td>
1247 <tr><td>
1249 <a href="/help/serve">
1248 <a href="/help/serve">
1250 serve
1249 serve
1251 </a>
1250 </a>
1252 </td><td>
1251 </td><td>
1253 start stand-alone webserver
1252 start stand-alone webserver
1254 </td></tr>
1253 </td></tr>
1255 <tr><td>
1254 <tr><td>
1256 <a href="/help/status">
1255 <a href="/help/status">
1257 status
1256 status
1258 </a>
1257 </a>
1259 </td><td>
1258 </td><td>
1260 show changed files in the working directory
1259 show changed files in the working directory
1261 </td></tr>
1260 </td></tr>
1262 <tr><td>
1261 <tr><td>
1263 <a href="/help/summary">
1262 <a href="/help/summary">
1264 summary
1263 summary
1265 </a>
1264 </a>
1266 </td><td>
1265 </td><td>
1267 summarize working directory state
1266 summarize working directory state
1268 </td></tr>
1267 </td></tr>
1269 <tr><td>
1268 <tr><td>
1270 <a href="/help/update">
1269 <a href="/help/update">
1271 update
1270 update
1272 </a>
1271 </a>
1273 </td><td>
1272 </td><td>
1274 update working directory (or switch revisions)
1273 update working directory (or switch revisions)
1275 </td></tr>
1274 </td></tr>
1276
1275
1277 <tr><td colspan="2"><h2><a name="other" href="#other">Other Commands</a></h2></td></tr>
1276 <tr><td colspan="2"><h2><a name="other" href="#other">Other Commands</a></h2></td></tr>
1278
1277
1279 <tr><td>
1278 <tr><td>
1280 <a href="/help/addremove">
1279 <a href="/help/addremove">
1281 addremove
1280 addremove
1282 </a>
1281 </a>
1283 </td><td>
1282 </td><td>
1284 add all new files, delete all missing files
1283 add all new files, delete all missing files
1285 </td></tr>
1284 </td></tr>
1286 <tr><td>
1285 <tr><td>
1287 <a href="/help/archive">
1286 <a href="/help/archive">
1288 archive
1287 archive
1289 </a>
1288 </a>
1290 </td><td>
1289 </td><td>
1291 create an unversioned archive of a repository revision
1290 create an unversioned archive of a repository revision
1292 </td></tr>
1291 </td></tr>
1293 <tr><td>
1292 <tr><td>
1294 <a href="/help/backout">
1293 <a href="/help/backout">
1295 backout
1294 backout
1296 </a>
1295 </a>
1297 </td><td>
1296 </td><td>
1298 reverse effect of earlier changeset
1297 reverse effect of earlier changeset
1299 </td></tr>
1298 </td></tr>
1300 <tr><td>
1299 <tr><td>
1301 <a href="/help/bisect">
1300 <a href="/help/bisect">
1302 bisect
1301 bisect
1303 </a>
1302 </a>
1304 </td><td>
1303 </td><td>
1305 subdivision search of changesets
1304 subdivision search of changesets
1306 </td></tr>
1305 </td></tr>
1307 <tr><td>
1306 <tr><td>
1308 <a href="/help/bookmarks">
1307 <a href="/help/bookmarks">
1309 bookmarks
1308 bookmarks
1310 </a>
1309 </a>
1311 </td><td>
1310 </td><td>
1312 track a line of development with movable markers
1311 track a line of development with movable markers
1313 </td></tr>
1312 </td></tr>
1314 <tr><td>
1313 <tr><td>
1315 <a href="/help/branch">
1314 <a href="/help/branch">
1316 branch
1315 branch
1317 </a>
1316 </a>
1318 </td><td>
1317 </td><td>
1319 set or show the current branch name
1318 set or show the current branch name
1320 </td></tr>
1319 </td></tr>
1321 <tr><td>
1320 <tr><td>
1322 <a href="/help/branches">
1321 <a href="/help/branches">
1323 branches
1322 branches
1324 </a>
1323 </a>
1325 </td><td>
1324 </td><td>
1326 list repository named branches
1325 list repository named branches
1327 </td></tr>
1326 </td></tr>
1328 <tr><td>
1327 <tr><td>
1329 <a href="/help/bundle">
1328 <a href="/help/bundle">
1330 bundle
1329 bundle
1331 </a>
1330 </a>
1332 </td><td>
1331 </td><td>
1333 create a changegroup file
1332 create a changegroup file
1334 </td></tr>
1333 </td></tr>
1335 <tr><td>
1334 <tr><td>
1336 <a href="/help/cat">
1335 <a href="/help/cat">
1337 cat
1336 cat
1338 </a>
1337 </a>
1339 </td><td>
1338 </td><td>
1340 output the current or given revision of files
1339 output the current or given revision of files
1341 </td></tr>
1340 </td></tr>
1342 <tr><td>
1341 <tr><td>
1343 <a href="/help/config">
1342 <a href="/help/config">
1344 config
1343 config
1345 </a>
1344 </a>
1346 </td><td>
1345 </td><td>
1347 show combined config settings from all hgrc files
1346 show combined config settings from all hgrc files
1348 </td></tr>
1347 </td></tr>
1349 <tr><td>
1348 <tr><td>
1350 <a href="/help/copy">
1349 <a href="/help/copy">
1351 copy
1350 copy
1352 </a>
1351 </a>
1353 </td><td>
1352 </td><td>
1354 mark files as copied for the next commit
1353 mark files as copied for the next commit
1355 </td></tr>
1354 </td></tr>
1356 <tr><td>
1355 <tr><td>
1357 <a href="/help/graft">
1356 <a href="/help/graft">
1358 graft
1357 graft
1359 </a>
1358 </a>
1360 </td><td>
1359 </td><td>
1361 copy changes from other branches onto the current branch
1360 copy changes from other branches onto the current branch
1362 </td></tr>
1361 </td></tr>
1363 <tr><td>
1362 <tr><td>
1364 <a href="/help/grep">
1363 <a href="/help/grep">
1365 grep
1364 grep
1366 </a>
1365 </a>
1367 </td><td>
1366 </td><td>
1368 search for a pattern in specified files and revisions
1367 search for a pattern in specified files and revisions
1369 </td></tr>
1368 </td></tr>
1370 <tr><td>
1369 <tr><td>
1371 <a href="/help/heads">
1370 <a href="/help/heads">
1372 heads
1371 heads
1373 </a>
1372 </a>
1374 </td><td>
1373 </td><td>
1375 show branch heads
1374 show branch heads
1376 </td></tr>
1375 </td></tr>
1377 <tr><td>
1376 <tr><td>
1378 <a href="/help/help">
1377 <a href="/help/help">
1379 help
1378 help
1380 </a>
1379 </a>
1381 </td><td>
1380 </td><td>
1382 show help for a given topic or a help overview
1381 show help for a given topic or a help overview
1383 </td></tr>
1382 </td></tr>
1384 <tr><td>
1383 <tr><td>
1385 <a href="/help/identify">
1384 <a href="/help/identify">
1386 identify
1385 identify
1387 </a>
1386 </a>
1388 </td><td>
1387 </td><td>
1389 identify the working copy or specified revision
1388 identify the working copy or specified revision
1390 </td></tr>
1389 </td></tr>
1391 <tr><td>
1390 <tr><td>
1392 <a href="/help/import">
1391 <a href="/help/import">
1393 import
1392 import
1394 </a>
1393 </a>
1395 </td><td>
1394 </td><td>
1396 import an ordered set of patches
1395 import an ordered set of patches
1397 </td></tr>
1396 </td></tr>
1398 <tr><td>
1397 <tr><td>
1399 <a href="/help/incoming">
1398 <a href="/help/incoming">
1400 incoming
1399 incoming
1401 </a>
1400 </a>
1402 </td><td>
1401 </td><td>
1403 show new changesets found in source
1402 show new changesets found in source
1404 </td></tr>
1403 </td></tr>
1405 <tr><td>
1404 <tr><td>
1406 <a href="/help/locate">
1405 <a href="/help/locate">
1407 locate
1406 locate
1408 </a>
1407 </a>
1409 </td><td>
1408 </td><td>
1410 locate files matching specific patterns
1409 locate files matching specific patterns
1411 </td></tr>
1410 </td></tr>
1412 <tr><td>
1411 <tr><td>
1413 <a href="/help/manifest">
1412 <a href="/help/manifest">
1414 manifest
1413 manifest
1415 </a>
1414 </a>
1416 </td><td>
1415 </td><td>
1417 output the current or given revision of the project manifest
1416 output the current or given revision of the project manifest
1418 </td></tr>
1417 </td></tr>
1419 <tr><td>
1418 <tr><td>
1420 <a href="/help/nohelp">
1419 <a href="/help/nohelp">
1421 nohelp
1420 nohelp
1422 </a>
1421 </a>
1423 </td><td>
1422 </td><td>
1424 (no help text available)
1423 (no help text available)
1425 </td></tr>
1424 </td></tr>
1426 <tr><td>
1425 <tr><td>
1427 <a href="/help/outgoing">
1426 <a href="/help/outgoing">
1428 outgoing
1427 outgoing
1429 </a>
1428 </a>
1430 </td><td>
1429 </td><td>
1431 show changesets not found in the destination
1430 show changesets not found in the destination
1432 </td></tr>
1431 </td></tr>
1433 <tr><td>
1432 <tr><td>
1434 <a href="/help/parents">
1433 <a href="/help/parents">
1435 parents
1434 parents
1436 </a>
1435 </a>
1437 </td><td>
1436 </td><td>
1438 show the parents of the working directory or revision
1437 show the parents of the working directory or revision
1439 </td></tr>
1438 </td></tr>
1440 <tr><td>
1439 <tr><td>
1441 <a href="/help/paths">
1440 <a href="/help/paths">
1442 paths
1441 paths
1443 </a>
1442 </a>
1444 </td><td>
1443 </td><td>
1445 show aliases for remote repositories
1444 show aliases for remote repositories
1446 </td></tr>
1445 </td></tr>
1447 <tr><td>
1446 <tr><td>
1448 <a href="/help/phase">
1447 <a href="/help/phase">
1449 phase
1448 phase
1450 </a>
1449 </a>
1451 </td><td>
1450 </td><td>
1452 set or show the current phase name
1451 set or show the current phase name
1453 </td></tr>
1452 </td></tr>
1454 <tr><td>
1453 <tr><td>
1455 <a href="/help/recover">
1454 <a href="/help/recover">
1456 recover
1455 recover
1457 </a>
1456 </a>
1458 </td><td>
1457 </td><td>
1459 roll back an interrupted transaction
1458 roll back an interrupted transaction
1460 </td></tr>
1459 </td></tr>
1461 <tr><td>
1460 <tr><td>
1462 <a href="/help/rename">
1461 <a href="/help/rename">
1463 rename
1462 rename
1464 </a>
1463 </a>
1465 </td><td>
1464 </td><td>
1466 rename files; equivalent of copy + remove
1465 rename files; equivalent of copy + remove
1467 </td></tr>
1466 </td></tr>
1468 <tr><td>
1467 <tr><td>
1469 <a href="/help/resolve">
1468 <a href="/help/resolve">
1470 resolve
1469 resolve
1471 </a>
1470 </a>
1472 </td><td>
1471 </td><td>
1473 redo merges or set/view the merge status of files
1472 redo merges or set/view the merge status of files
1474 </td></tr>
1473 </td></tr>
1475 <tr><td>
1474 <tr><td>
1476 <a href="/help/revert">
1475 <a href="/help/revert">
1477 revert
1476 revert
1478 </a>
1477 </a>
1479 </td><td>
1478 </td><td>
1480 restore files to their checkout state
1479 restore files to their checkout state
1481 </td></tr>
1480 </td></tr>
1482 <tr><td>
1481 <tr><td>
1483 <a href="/help/root">
1482 <a href="/help/root">
1484 root
1483 root
1485 </a>
1484 </a>
1486 </td><td>
1485 </td><td>
1487 print the root (top) of the current working directory
1486 print the root (top) of the current working directory
1488 </td></tr>
1487 </td></tr>
1489 <tr><td>
1488 <tr><td>
1490 <a href="/help/tag">
1489 <a href="/help/tag">
1491 tag
1490 tag
1492 </a>
1491 </a>
1493 </td><td>
1492 </td><td>
1494 add one or more tags for the current or given revision
1493 add one or more tags for the current or given revision
1495 </td></tr>
1494 </td></tr>
1496 <tr><td>
1495 <tr><td>
1497 <a href="/help/tags">
1496 <a href="/help/tags">
1498 tags
1497 tags
1499 </a>
1498 </a>
1500 </td><td>
1499 </td><td>
1501 list repository tags
1500 list repository tags
1502 </td></tr>
1501 </td></tr>
1503 <tr><td>
1502 <tr><td>
1504 <a href="/help/unbundle">
1503 <a href="/help/unbundle">
1505 unbundle
1504 unbundle
1506 </a>
1505 </a>
1507 </td><td>
1506 </td><td>
1508 apply one or more changegroup files
1507 apply one or more changegroup files
1509 </td></tr>
1508 </td></tr>
1510 <tr><td>
1509 <tr><td>
1511 <a href="/help/verify">
1510 <a href="/help/verify">
1512 verify
1511 verify
1513 </a>
1512 </a>
1514 </td><td>
1513 </td><td>
1515 verify the integrity of the repository
1514 verify the integrity of the repository
1516 </td></tr>
1515 </td></tr>
1517 <tr><td>
1516 <tr><td>
1518 <a href="/help/version">
1517 <a href="/help/version">
1519 version
1518 version
1520 </a>
1519 </a>
1521 </td><td>
1520 </td><td>
1522 output version and copyright information
1521 output version and copyright information
1523 </td></tr>
1522 </td></tr>
1524 </table>
1523 </table>
1525 </div>
1524 </div>
1526 </div>
1525 </div>
1527
1526
1528 <script type="text/javascript">process_dates()</script>
1527 <script type="text/javascript">process_dates()</script>
1529
1528
1530
1529
1531 </body>
1530 </body>
1532 </html>
1531 </html>
1533
1532
1534
1533
1535 $ "$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT "help/add"
1534 $ "$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT "help/add"
1536 200 Script output follows
1535 200 Script output follows
1537
1536
1538 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
1537 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
1539 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
1538 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
1540 <head>
1539 <head>
1541 <link rel="icon" href="/static/hgicon.png" type="image/png" />
1540 <link rel="icon" href="/static/hgicon.png" type="image/png" />
1542 <meta name="robots" content="index, nofollow" />
1541 <meta name="robots" content="index, nofollow" />
1543 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
1542 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
1544 <script type="text/javascript" src="/static/mercurial.js"></script>
1543 <script type="text/javascript" src="/static/mercurial.js"></script>
1545
1544
1546 <title>Help: add</title>
1545 <title>Help: add</title>
1547 </head>
1546 </head>
1548 <body>
1547 <body>
1549
1548
1550 <div class="container">
1549 <div class="container">
1551 <div class="menu">
1550 <div class="menu">
1552 <div class="logo">
1551 <div class="logo">
1553 <a href="http://mercurial.selenic.com/">
1552 <a href="http://mercurial.selenic.com/">
1554 <img src="/static/hglogo.png" alt="mercurial" /></a>
1553 <img src="/static/hglogo.png" alt="mercurial" /></a>
1555 </div>
1554 </div>
1556 <ul>
1555 <ul>
1557 <li><a href="/shortlog">log</a></li>
1556 <li><a href="/shortlog">log</a></li>
1558 <li><a href="/graph">graph</a></li>
1557 <li><a href="/graph">graph</a></li>
1559 <li><a href="/tags">tags</a></li>
1558 <li><a href="/tags">tags</a></li>
1560 <li><a href="/bookmarks">bookmarks</a></li>
1559 <li><a href="/bookmarks">bookmarks</a></li>
1561 <li><a href="/branches">branches</a></li>
1560 <li><a href="/branches">branches</a></li>
1562 </ul>
1561 </ul>
1563 <ul>
1562 <ul>
1564 <li class="active"><a href="/help">help</a></li>
1563 <li class="active"><a href="/help">help</a></li>
1565 </ul>
1564 </ul>
1566 </div>
1565 </div>
1567
1566
1568 <div class="main">
1567 <div class="main">
1569 <h2 class="breadcrumb"><a href="/">Mercurial</a> </h2>
1568 <h2 class="breadcrumb"><a href="/">Mercurial</a> </h2>
1570 <h3>Help: add</h3>
1569 <h3>Help: add</h3>
1571
1570
1572 <form class="search" action="/log">
1571 <form class="search" action="/log">
1573
1572
1574 <p><input name="rev" id="search1" type="text" size="30" /></p>
1573 <p><input name="rev" id="search1" type="text" size="30" /></p>
1575 <div id="hint">Find changesets by keywords (author, files, the commit message), revision
1574 <div id="hint">Find changesets by keywords (author, files, the commit message), revision
1576 number or hash, or <a href="/help/revsets">revset expression</a>.</div>
1575 number or hash, or <a href="/help/revsets">revset expression</a>.</div>
1577 </form>
1576 </form>
1578 <div id="doc">
1577 <div id="doc">
1579 <p>
1578 <p>
1580 hg add [OPTION]... [FILE]...
1579 hg add [OPTION]... [FILE]...
1581 </p>
1580 </p>
1582 <p>
1581 <p>
1583 add the specified files on the next commit
1582 add the specified files on the next commit
1584 </p>
1583 </p>
1585 <p>
1584 <p>
1586 Schedule files to be version controlled and added to the
1585 Schedule files to be version controlled and added to the
1587 repository.
1586 repository.
1588 </p>
1587 </p>
1589 <p>
1588 <p>
1590 The files will be added to the repository at the next commit. To
1589 The files will be added to the repository at the next commit. To
1591 undo an add before that, see &quot;hg forget&quot;.
1590 undo an add before that, see &quot;hg forget&quot;.
1592 </p>
1591 </p>
1593 <p>
1592 <p>
1594 If no names are given, add all files to the repository.
1593 If no names are given, add all files to the repository.
1595 </p>
1594 </p>
1596 <p>
1595 <p>
1597 An example showing how new (unknown) files are added
1596 An example showing how new (unknown) files are added
1598 automatically by &quot;hg add&quot;:
1597 automatically by &quot;hg add&quot;:
1599 </p>
1598 </p>
1600 <pre>
1599 <pre>
1601 \$ ls (re)
1600 \$ ls (re)
1602 foo.c
1601 foo.c
1603 \$ hg status (re)
1602 \$ hg status (re)
1604 ? foo.c
1603 ? foo.c
1605 \$ hg add (re)
1604 \$ hg add (re)
1606 adding foo.c
1605 adding foo.c
1607 \$ hg status (re)
1606 \$ hg status (re)
1608 A foo.c
1607 A foo.c
1609 </pre>
1608 </pre>
1610 <p>
1609 <p>
1611 Returns 0 if all files are successfully added.
1610 Returns 0 if all files are successfully added.
1612 </p>
1611 </p>
1613 <p>
1612 <p>
1614 options:
1613 options:
1615 </p>
1614 </p>
1616 <table>
1615 <table>
1617 <tr><td>-I</td>
1616 <tr><td>-I</td>
1618 <td>--include PATTERN [+]</td>
1617 <td>--include PATTERN [+]</td>
1619 <td>include names matching the given patterns</td></tr>
1618 <td>include names matching the given patterns</td></tr>
1620 <tr><td>-X</td>
1619 <tr><td>-X</td>
1621 <td>--exclude PATTERN [+]</td>
1620 <td>--exclude PATTERN [+]</td>
1622 <td>exclude names matching the given patterns</td></tr>
1621 <td>exclude names matching the given patterns</td></tr>
1623 <tr><td>-S</td>
1622 <tr><td>-S</td>
1624 <td>--subrepos</td>
1623 <td>--subrepos</td>
1625 <td>recurse into subrepositories</td></tr>
1624 <td>recurse into subrepositories</td></tr>
1626 <tr><td>-n</td>
1625 <tr><td>-n</td>
1627 <td>--dry-run</td>
1626 <td>--dry-run</td>
1628 <td>do not perform actions, just print output</td></tr>
1627 <td>do not perform actions, just print output</td></tr>
1629 </table>
1628 </table>
1630 <p>
1629 <p>
1631 [+] marked option can be specified multiple times
1630 [+] marked option can be specified multiple times
1632 </p>
1631 </p>
1633 <p>
1632 <p>
1634 global options:
1633 global options:
1635 </p>
1634 </p>
1636 <table>
1635 <table>
1637 <tr><td>-R</td>
1636 <tr><td>-R</td>
1638 <td>--repository REPO</td>
1637 <td>--repository REPO</td>
1639 <td>repository root directory or name of overlay bundle file</td></tr>
1638 <td>repository root directory or name of overlay bundle file</td></tr>
1640 <tr><td></td>
1639 <tr><td></td>
1641 <td>--cwd DIR</td>
1640 <td>--cwd DIR</td>
1642 <td>change working directory</td></tr>
1641 <td>change working directory</td></tr>
1643 <tr><td>-y</td>
1642 <tr><td>-y</td>
1644 <td>--noninteractive</td>
1643 <td>--noninteractive</td>
1645 <td>do not prompt, automatically pick the first choice for all prompts</td></tr>
1644 <td>do not prompt, automatically pick the first choice for all prompts</td></tr>
1646 <tr><td>-q</td>
1645 <tr><td>-q</td>
1647 <td>--quiet</td>
1646 <td>--quiet</td>
1648 <td>suppress output</td></tr>
1647 <td>suppress output</td></tr>
1649 <tr><td>-v</td>
1648 <tr><td>-v</td>
1650 <td>--verbose</td>
1649 <td>--verbose</td>
1651 <td>enable additional output</td></tr>
1650 <td>enable additional output</td></tr>
1652 <tr><td></td>
1651 <tr><td></td>
1653 <td>--config CONFIG [+]</td>
1652 <td>--config CONFIG [+]</td>
1654 <td>set/override config option (use 'section.name=value')</td></tr>
1653 <td>set/override config option (use 'section.name=value')</td></tr>
1655 <tr><td></td>
1654 <tr><td></td>
1656 <td>--debug</td>
1655 <td>--debug</td>
1657 <td>enable debugging output</td></tr>
1656 <td>enable debugging output</td></tr>
1658 <tr><td></td>
1657 <tr><td></td>
1659 <td>--debugger</td>
1658 <td>--debugger</td>
1660 <td>start debugger</td></tr>
1659 <td>start debugger</td></tr>
1661 <tr><td></td>
1660 <tr><td></td>
1662 <td>--encoding ENCODE</td>
1661 <td>--encoding ENCODE</td>
1663 <td>set the charset encoding (default: ascii)</td></tr>
1662 <td>set the charset encoding (default: ascii)</td></tr>
1664 <tr><td></td>
1663 <tr><td></td>
1665 <td>--encodingmode MODE</td>
1664 <td>--encodingmode MODE</td>
1666 <td>set the charset encoding mode (default: strict)</td></tr>
1665 <td>set the charset encoding mode (default: strict)</td></tr>
1667 <tr><td></td>
1666 <tr><td></td>
1668 <td>--traceback</td>
1667 <td>--traceback</td>
1669 <td>always print a traceback on exception</td></tr>
1668 <td>always print a traceback on exception</td></tr>
1670 <tr><td></td>
1669 <tr><td></td>
1671 <td>--time</td>
1670 <td>--time</td>
1672 <td>time how long the command takes</td></tr>
1671 <td>time how long the command takes</td></tr>
1673 <tr><td></td>
1672 <tr><td></td>
1674 <td>--profile</td>
1673 <td>--profile</td>
1675 <td>print command execution profile</td></tr>
1674 <td>print command execution profile</td></tr>
1676 <tr><td></td>
1675 <tr><td></td>
1677 <td>--version</td>
1676 <td>--version</td>
1678 <td>output version information and exit</td></tr>
1677 <td>output version information and exit</td></tr>
1679 <tr><td>-h</td>
1678 <tr><td>-h</td>
1680 <td>--help</td>
1679 <td>--help</td>
1681 <td>display help and exit</td></tr>
1680 <td>display help and exit</td></tr>
1682 <tr><td></td>
1681 <tr><td></td>
1683 <td>--hidden</td>
1682 <td>--hidden</td>
1684 <td>consider hidden changesets</td></tr>
1683 <td>consider hidden changesets</td></tr>
1685 </table>
1684 </table>
1686 <p>
1685 <p>
1687 [+] marked option can be specified multiple times
1686 [+] marked option can be specified multiple times
1688 </p>
1687 </p>
1689
1688
1690 </div>
1689 </div>
1691 </div>
1690 </div>
1692 </div>
1691 </div>
1693
1692
1694 <script type="text/javascript">process_dates()</script>
1693 <script type="text/javascript">process_dates()</script>
1695
1694
1696
1695
1697 </body>
1696 </body>
1698 </html>
1697 </html>
1699
1698
1700
1699
1701 $ "$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT "help/remove"
1700 $ "$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT "help/remove"
1702 200 Script output follows
1701 200 Script output follows
1703
1702
1704 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
1703 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
1705 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
1704 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
1706 <head>
1705 <head>
1707 <link rel="icon" href="/static/hgicon.png" type="image/png" />
1706 <link rel="icon" href="/static/hgicon.png" type="image/png" />
1708 <meta name="robots" content="index, nofollow" />
1707 <meta name="robots" content="index, nofollow" />
1709 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
1708 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
1710 <script type="text/javascript" src="/static/mercurial.js"></script>
1709 <script type="text/javascript" src="/static/mercurial.js"></script>
1711
1710
1712 <title>Help: remove</title>
1711 <title>Help: remove</title>
1713 </head>
1712 </head>
1714 <body>
1713 <body>
1715
1714
1716 <div class="container">
1715 <div class="container">
1717 <div class="menu">
1716 <div class="menu">
1718 <div class="logo">
1717 <div class="logo">
1719 <a href="http://mercurial.selenic.com/">
1718 <a href="http://mercurial.selenic.com/">
1720 <img src="/static/hglogo.png" alt="mercurial" /></a>
1719 <img src="/static/hglogo.png" alt="mercurial" /></a>
1721 </div>
1720 </div>
1722 <ul>
1721 <ul>
1723 <li><a href="/shortlog">log</a></li>
1722 <li><a href="/shortlog">log</a></li>
1724 <li><a href="/graph">graph</a></li>
1723 <li><a href="/graph">graph</a></li>
1725 <li><a href="/tags">tags</a></li>
1724 <li><a href="/tags">tags</a></li>
1726 <li><a href="/bookmarks">bookmarks</a></li>
1725 <li><a href="/bookmarks">bookmarks</a></li>
1727 <li><a href="/branches">branches</a></li>
1726 <li><a href="/branches">branches</a></li>
1728 </ul>
1727 </ul>
1729 <ul>
1728 <ul>
1730 <li class="active"><a href="/help">help</a></li>
1729 <li class="active"><a href="/help">help</a></li>
1731 </ul>
1730 </ul>
1732 </div>
1731 </div>
1733
1732
1734 <div class="main">
1733 <div class="main">
1735 <h2 class="breadcrumb"><a href="/">Mercurial</a> </h2>
1734 <h2 class="breadcrumb"><a href="/">Mercurial</a> </h2>
1736 <h3>Help: remove</h3>
1735 <h3>Help: remove</h3>
1737
1736
1738 <form class="search" action="/log">
1737 <form class="search" action="/log">
1739
1738
1740 <p><input name="rev" id="search1" type="text" size="30" /></p>
1739 <p><input name="rev" id="search1" type="text" size="30" /></p>
1741 <div id="hint">Find changesets by keywords (author, files, the commit message), revision
1740 <div id="hint">Find changesets by keywords (author, files, the commit message), revision
1742 number or hash, or <a href="/help/revsets">revset expression</a>.</div>
1741 number or hash, or <a href="/help/revsets">revset expression</a>.</div>
1743 </form>
1742 </form>
1744 <div id="doc">
1743 <div id="doc">
1745 <p>
1744 <p>
1746 hg remove [OPTION]... FILE...
1745 hg remove [OPTION]... FILE...
1747 </p>
1746 </p>
1748 <p>
1747 <p>
1749 aliases: rm
1748 aliases: rm
1750 </p>
1749 </p>
1751 <p>
1750 <p>
1752 remove the specified files on the next commit
1751 remove the specified files on the next commit
1753 </p>
1752 </p>
1754 <p>
1753 <p>
1755 Schedule the indicated files for removal from the current branch.
1754 Schedule the indicated files for removal from the current branch.
1756 </p>
1755 </p>
1757 <p>
1756 <p>
1758 This command schedules the files to be removed at the next commit.
1757 This command schedules the files to be removed at the next commit.
1759 To undo a remove before that, see &quot;hg revert&quot;. To undo added
1758 To undo a remove before that, see &quot;hg revert&quot;. To undo added
1760 files, see &quot;hg forget&quot;.
1759 files, see &quot;hg forget&quot;.
1761 </p>
1760 </p>
1762 <p>
1761 <p>
1763 -A/--after can be used to remove only files that have already
1762 -A/--after can be used to remove only files that have already
1764 been deleted, -f/--force can be used to force deletion, and -Af
1763 been deleted, -f/--force can be used to force deletion, and -Af
1765 can be used to remove files from the next revision without
1764 can be used to remove files from the next revision without
1766 deleting them from the working directory.
1765 deleting them from the working directory.
1767 </p>
1766 </p>
1768 <p>
1767 <p>
1769 The following table details the behavior of remove for different
1768 The following table details the behavior of remove for different
1770 file states (columns) and option combinations (rows). The file
1769 file states (columns) and option combinations (rows). The file
1771 states are Added [A], Clean [C], Modified [M] and Missing [!]
1770 states are Added [A], Clean [C], Modified [M] and Missing [!]
1772 (as reported by &quot;hg status&quot;). The actions are Warn, Remove
1771 (as reported by &quot;hg status&quot;). The actions are Warn, Remove
1773 (from branch) and Delete (from disk):
1772 (from branch) and Delete (from disk):
1774 </p>
1773 </p>
1775 <table>
1774 <table>
1776 <tr><td>opt/state</td>
1775 <tr><td>opt/state</td>
1777 <td>A</td>
1776 <td>A</td>
1778 <td>C</td>
1777 <td>C</td>
1779 <td>M</td>
1778 <td>M</td>
1780 <td>!</td></tr>
1779 <td>!</td></tr>
1781 <tr><td>none</td>
1780 <tr><td>none</td>
1782 <td>W</td>
1781 <td>W</td>
1783 <td>RD</td>
1782 <td>RD</td>
1784 <td>W</td>
1783 <td>W</td>
1785 <td>R</td></tr>
1784 <td>R</td></tr>
1786 <tr><td>-f</td>
1785 <tr><td>-f</td>
1787 <td>R</td>
1786 <td>R</td>
1788 <td>RD</td>
1787 <td>RD</td>
1789 <td>RD</td>
1788 <td>RD</td>
1790 <td>R</td></tr>
1789 <td>R</td></tr>
1791 <tr><td>-A</td>
1790 <tr><td>-A</td>
1792 <td>W</td>
1791 <td>W</td>
1793 <td>W</td>
1792 <td>W</td>
1794 <td>W</td>
1793 <td>W</td>
1795 <td>R</td></tr>
1794 <td>R</td></tr>
1796 <tr><td>-Af</td>
1795 <tr><td>-Af</td>
1797 <td>R</td>
1796 <td>R</td>
1798 <td>R</td>
1797 <td>R</td>
1799 <td>R</td>
1798 <td>R</td>
1800 <td>R</td></tr>
1799 <td>R</td></tr>
1801 </table>
1800 </table>
1802 <p>
1801 <p>
1803 Note that remove never deletes files in Added [A] state from the
1802 Note that remove never deletes files in Added [A] state from the
1804 working directory, not even if option --force is specified.
1803 working directory, not even if option --force is specified.
1805 </p>
1804 </p>
1806 <p>
1805 <p>
1807 Returns 0 on success, 1 if any warnings encountered.
1806 Returns 0 on success, 1 if any warnings encountered.
1808 </p>
1807 </p>
1809 <p>
1808 <p>
1810 options:
1809 options:
1811 </p>
1810 </p>
1812 <table>
1811 <table>
1813 <tr><td>-A</td>
1812 <tr><td>-A</td>
1814 <td>--after</td>
1813 <td>--after</td>
1815 <td>record delete for missing files</td></tr>
1814 <td>record delete for missing files</td></tr>
1816 <tr><td>-f</td>
1815 <tr><td>-f</td>
1817 <td>--force</td>
1816 <td>--force</td>
1818 <td>remove (and delete) file even if added or modified</td></tr>
1817 <td>remove (and delete) file even if added or modified</td></tr>
1819 <tr><td>-I</td>
1818 <tr><td>-I</td>
1820 <td>--include PATTERN [+]</td>
1819 <td>--include PATTERN [+]</td>
1821 <td>include names matching the given patterns</td></tr>
1820 <td>include names matching the given patterns</td></tr>
1822 <tr><td>-X</td>
1821 <tr><td>-X</td>
1823 <td>--exclude PATTERN [+]</td>
1822 <td>--exclude PATTERN [+]</td>
1824 <td>exclude names matching the given patterns</td></tr>
1823 <td>exclude names matching the given patterns</td></tr>
1825 </table>
1824 </table>
1826 <p>
1825 <p>
1827 [+] marked option can be specified multiple times
1826 [+] marked option can be specified multiple times
1828 </p>
1827 </p>
1829 <p>
1828 <p>
1830 global options:
1829 global options:
1831 </p>
1830 </p>
1832 <table>
1831 <table>
1833 <tr><td>-R</td>
1832 <tr><td>-R</td>
1834 <td>--repository REPO</td>
1833 <td>--repository REPO</td>
1835 <td>repository root directory or name of overlay bundle file</td></tr>
1834 <td>repository root directory or name of overlay bundle file</td></tr>
1836 <tr><td></td>
1835 <tr><td></td>
1837 <td>--cwd DIR</td>
1836 <td>--cwd DIR</td>
1838 <td>change working directory</td></tr>
1837 <td>change working directory</td></tr>
1839 <tr><td>-y</td>
1838 <tr><td>-y</td>
1840 <td>--noninteractive</td>
1839 <td>--noninteractive</td>
1841 <td>do not prompt, automatically pick the first choice for all prompts</td></tr>
1840 <td>do not prompt, automatically pick the first choice for all prompts</td></tr>
1842 <tr><td>-q</td>
1841 <tr><td>-q</td>
1843 <td>--quiet</td>
1842 <td>--quiet</td>
1844 <td>suppress output</td></tr>
1843 <td>suppress output</td></tr>
1845 <tr><td>-v</td>
1844 <tr><td>-v</td>
1846 <td>--verbose</td>
1845 <td>--verbose</td>
1847 <td>enable additional output</td></tr>
1846 <td>enable additional output</td></tr>
1848 <tr><td></td>
1847 <tr><td></td>
1849 <td>--config CONFIG [+]</td>
1848 <td>--config CONFIG [+]</td>
1850 <td>set/override config option (use 'section.name=value')</td></tr>
1849 <td>set/override config option (use 'section.name=value')</td></tr>
1851 <tr><td></td>
1850 <tr><td></td>
1852 <td>--debug</td>
1851 <td>--debug</td>
1853 <td>enable debugging output</td></tr>
1852 <td>enable debugging output</td></tr>
1854 <tr><td></td>
1853 <tr><td></td>
1855 <td>--debugger</td>
1854 <td>--debugger</td>
1856 <td>start debugger</td></tr>
1855 <td>start debugger</td></tr>
1857 <tr><td></td>
1856 <tr><td></td>
1858 <td>--encoding ENCODE</td>
1857 <td>--encoding ENCODE</td>
1859 <td>set the charset encoding (default: ascii)</td></tr>
1858 <td>set the charset encoding (default: ascii)</td></tr>
1860 <tr><td></td>
1859 <tr><td></td>
1861 <td>--encodingmode MODE</td>
1860 <td>--encodingmode MODE</td>
1862 <td>set the charset encoding mode (default: strict)</td></tr>
1861 <td>set the charset encoding mode (default: strict)</td></tr>
1863 <tr><td></td>
1862 <tr><td></td>
1864 <td>--traceback</td>
1863 <td>--traceback</td>
1865 <td>always print a traceback on exception</td></tr>
1864 <td>always print a traceback on exception</td></tr>
1866 <tr><td></td>
1865 <tr><td></td>
1867 <td>--time</td>
1866 <td>--time</td>
1868 <td>time how long the command takes</td></tr>
1867 <td>time how long the command takes</td></tr>
1869 <tr><td></td>
1868 <tr><td></td>
1870 <td>--profile</td>
1869 <td>--profile</td>
1871 <td>print command execution profile</td></tr>
1870 <td>print command execution profile</td></tr>
1872 <tr><td></td>
1871 <tr><td></td>
1873 <td>--version</td>
1872 <td>--version</td>
1874 <td>output version information and exit</td></tr>
1873 <td>output version information and exit</td></tr>
1875 <tr><td>-h</td>
1874 <tr><td>-h</td>
1876 <td>--help</td>
1875 <td>--help</td>
1877 <td>display help and exit</td></tr>
1876 <td>display help and exit</td></tr>
1878 <tr><td></td>
1877 <tr><td></td>
1879 <td>--hidden</td>
1878 <td>--hidden</td>
1880 <td>consider hidden changesets</td></tr>
1879 <td>consider hidden changesets</td></tr>
1881 </table>
1880 </table>
1882 <p>
1881 <p>
1883 [+] marked option can be specified multiple times
1882 [+] marked option can be specified multiple times
1884 </p>
1883 </p>
1885
1884
1886 </div>
1885 </div>
1887 </div>
1886 </div>
1888 </div>
1887 </div>
1889
1888
1890 <script type="text/javascript">process_dates()</script>
1889 <script type="text/javascript">process_dates()</script>
1891
1890
1892
1891
1893 </body>
1892 </body>
1894 </html>
1893 </html>
1895
1894
1896
1895
1897 $ "$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT "help/revisions"
1896 $ "$TESTDIR/get-with-headers.py" 127.0.0.1:$HGPORT "help/revisions"
1898 200 Script output follows
1897 200 Script output follows
1899
1898
1900 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
1899 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
1901 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
1900 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US">
1902 <head>
1901 <head>
1903 <link rel="icon" href="/static/hgicon.png" type="image/png" />
1902 <link rel="icon" href="/static/hgicon.png" type="image/png" />
1904 <meta name="robots" content="index, nofollow" />
1903 <meta name="robots" content="index, nofollow" />
1905 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
1904 <link rel="stylesheet" href="/static/style-paper.css" type="text/css" />
1906 <script type="text/javascript" src="/static/mercurial.js"></script>
1905 <script type="text/javascript" src="/static/mercurial.js"></script>
1907
1906
1908 <title>Help: revisions</title>
1907 <title>Help: revisions</title>
1909 </head>
1908 </head>
1910 <body>
1909 <body>
1911
1910
1912 <div class="container">
1911 <div class="container">
1913 <div class="menu">
1912 <div class="menu">
1914 <div class="logo">
1913 <div class="logo">
1915 <a href="http://mercurial.selenic.com/">
1914 <a href="http://mercurial.selenic.com/">
1916 <img src="/static/hglogo.png" alt="mercurial" /></a>
1915 <img src="/static/hglogo.png" alt="mercurial" /></a>
1917 </div>
1916 </div>
1918 <ul>
1917 <ul>
1919 <li><a href="/shortlog">log</a></li>
1918 <li><a href="/shortlog">log</a></li>
1920 <li><a href="/graph">graph</a></li>
1919 <li><a href="/graph">graph</a></li>
1921 <li><a href="/tags">tags</a></li>
1920 <li><a href="/tags">tags</a></li>
1922 <li><a href="/bookmarks">bookmarks</a></li>
1921 <li><a href="/bookmarks">bookmarks</a></li>
1923 <li><a href="/branches">branches</a></li>
1922 <li><a href="/branches">branches</a></li>
1924 </ul>
1923 </ul>
1925 <ul>
1924 <ul>
1926 <li class="active"><a href="/help">help</a></li>
1925 <li class="active"><a href="/help">help</a></li>
1927 </ul>
1926 </ul>
1928 </div>
1927 </div>
1929
1928
1930 <div class="main">
1929 <div class="main">
1931 <h2 class="breadcrumb"><a href="/">Mercurial</a> </h2>
1930 <h2 class="breadcrumb"><a href="/">Mercurial</a> </h2>
1932 <h3>Help: revisions</h3>
1931 <h3>Help: revisions</h3>
1933
1932
1934 <form class="search" action="/log">
1933 <form class="search" action="/log">
1935
1934
1936 <p><input name="rev" id="search1" type="text" size="30" /></p>
1935 <p><input name="rev" id="search1" type="text" size="30" /></p>
1937 <div id="hint">Find changesets by keywords (author, files, the commit message), revision
1936 <div id="hint">Find changesets by keywords (author, files, the commit message), revision
1938 number or hash, or <a href="/help/revsets">revset expression</a>.</div>
1937 number or hash, or <a href="/help/revsets">revset expression</a>.</div>
1939 </form>
1938 </form>
1940 <div id="doc">
1939 <div id="doc">
1941 <h1>Specifying Single Revisions</h1>
1940 <h1>Specifying Single Revisions</h1>
1942 <p>
1941 <p>
1943 Mercurial supports several ways to specify individual revisions.
1942 Mercurial supports several ways to specify individual revisions.
1944 </p>
1943 </p>
1945 <p>
1944 <p>
1946 A plain integer is treated as a revision number. Negative integers are
1945 A plain integer is treated as a revision number. Negative integers are
1947 treated as sequential offsets from the tip, with -1 denoting the tip,
1946 treated as sequential offsets from the tip, with -1 denoting the tip,
1948 -2 denoting the revision prior to the tip, and so forth.
1947 -2 denoting the revision prior to the tip, and so forth.
1949 </p>
1948 </p>
1950 <p>
1949 <p>
1951 A 40-digit hexadecimal string is treated as a unique revision
1950 A 40-digit hexadecimal string is treated as a unique revision
1952 identifier.
1951 identifier.
1953 </p>
1952 </p>
1954 <p>
1953 <p>
1955 A hexadecimal string less than 40 characters long is treated as a
1954 A hexadecimal string less than 40 characters long is treated as a
1956 unique revision identifier and is referred to as a short-form
1955 unique revision identifier and is referred to as a short-form
1957 identifier. A short-form identifier is only valid if it is the prefix
1956 identifier. A short-form identifier is only valid if it is the prefix
1958 of exactly one full-length identifier.
1957 of exactly one full-length identifier.
1959 </p>
1958 </p>
1960 <p>
1959 <p>
1961 Any other string is treated as a bookmark, tag, or branch name. A
1960 Any other string is treated as a bookmark, tag, or branch name. A
1962 bookmark is a movable pointer to a revision. A tag is a permanent name
1961 bookmark is a movable pointer to a revision. A tag is a permanent name
1963 associated with a revision. A branch name denotes the tipmost open branch head
1962 associated with a revision. A branch name denotes the tipmost open branch head
1964 of that branch - or if they are all closed, the tipmost closed head of the
1963 of that branch - or if they are all closed, the tipmost closed head of the
1965 branch. Bookmark, tag, and branch names must not contain the &quot;:&quot; character.
1964 branch. Bookmark, tag, and branch names must not contain the &quot;:&quot; character.
1966 </p>
1965 </p>
1967 <p>
1966 <p>
1968 The reserved name &quot;tip&quot; always identifies the most recent revision.
1967 The reserved name &quot;tip&quot; always identifies the most recent revision.
1969 </p>
1968 </p>
1970 <p>
1969 <p>
1971 The reserved name &quot;null&quot; indicates the null revision. This is the
1970 The reserved name &quot;null&quot; indicates the null revision. This is the
1972 revision of an empty repository, and the parent of revision 0.
1971 revision of an empty repository, and the parent of revision 0.
1973 </p>
1972 </p>
1974 <p>
1973 <p>
1975 The reserved name &quot;.&quot; indicates the working directory parent. If no
1974 The reserved name &quot;.&quot; indicates the working directory parent. If no
1976 working directory is checked out, it is equivalent to null. If an
1975 working directory is checked out, it is equivalent to null. If an
1977 uncommitted merge is in progress, &quot;.&quot; is the revision of the first
1976 uncommitted merge is in progress, &quot;.&quot; is the revision of the first
1978 parent.
1977 parent.
1979 </p>
1978 </p>
1980
1979
1981 </div>
1980 </div>
1982 </div>
1981 </div>
1983 </div>
1982 </div>
1984
1983
1985 <script type="text/javascript">process_dates()</script>
1984 <script type="text/javascript">process_dates()</script>
1986
1985
1987
1986
1988 </body>
1987 </body>
1989 </html>
1988 </html>
1990
1989
1991
1990
1992 $ "$TESTDIR/killdaemons.py" $DAEMON_PIDS
1991 $ "$TESTDIR/killdaemons.py" $DAEMON_PIDS
1993
1992
1994 #endif
1993 #endif
General Comments 0
You need to be logged in to leave comments. Login now