Mercurial > public > mercurial-scm > hg
comparison mercurial/commands.py @ 8779:708938509732
Improve English for help text of many core hg commands.
co-author: Greg Ward <greg-hg@gerg.ca>
author | timeless <timeless@gmail.com> |
---|---|
date | Tue, 09 Jun 2009 21:51:34 -0400 |
parents | c5f36402daad |
children | 2bcef677a6c3 ca14b3982ffe |
comparison
equal
deleted
inserted
replaced
8778:c5f36402daad | 8779:708938509732 |
---|---|
70 if sim < 0 or sim > 100: | 70 if sim < 0 or sim > 100: |
71 raise util.Abort(_('similarity must be between 0 and 100')) | 71 raise util.Abort(_('similarity must be between 0 and 100')) |
72 return cmdutil.addremove(repo, pats, opts, similarity=sim/100.) | 72 return cmdutil.addremove(repo, pats, opts, similarity=sim/100.) |
73 | 73 |
74 def annotate(ui, repo, *pats, **opts): | 74 def annotate(ui, repo, *pats, **opts): |
75 """show changeset information per file line | 75 """show changeset information by line for each file |
76 | 76 |
77 List changes in files, showing the revision id responsible for | 77 List changes in files, showing the revision id responsible for |
78 each line | 78 each line |
79 | 79 |
80 This command is useful to discover who did a change or when a | 80 This command is useful for discovering when a change was made and |
81 change took place. | 81 by whom. |
82 | 82 |
83 Without the -a/--text option, annotate will avoid processing files | 83 Without the -a/--text option, annotate will avoid processing files |
84 it detects as binary. With -a, annotate will generate an | 84 it detects as binary. With -a, annotate will annotate the file |
85 annotation anyway, probably with undesirable results. | 85 anyway, although the results will probably be neither useful |
86 nor desirable. | |
86 """ | 87 """ |
87 datefunc = ui.quiet and util.shortdate or util.datestr | 88 datefunc = ui.quiet and util.shortdate or util.datestr |
88 getdate = util.cachefunc(lambda x: datefunc(x[0].date())) | 89 getdate = util.cachefunc(lambda x: datefunc(x[0].date())) |
89 | 90 |
90 if not pats: | 91 if not pats: |
132 if pieces: | 133 if pieces: |
133 for p, l in zip(zip(*pieces), lines): | 134 for p, l in zip(zip(*pieces), lines): |
134 ui.write("%s: %s" % (" ".join(p), l[1])) | 135 ui.write("%s: %s" % (" ".join(p), l[1])) |
135 | 136 |
136 def archive(ui, repo, dest, **opts): | 137 def archive(ui, repo, dest, **opts): |
137 '''create unversioned archive of a repository revision | 138 '''create an unversioned archive of a repository revision |
138 | 139 |
139 By default, the revision used is the parent of the working | 140 By default, the revision used is the parent of the working |
140 directory; use -r/--rev to specify a different revision. | 141 directory; use -r/--rev to specify a different revision. |
141 | 142 |
142 To specify the type of archive to create, use -t/--type. Valid | 143 To specify the type of archive to create, use -t/--type. Valid |
181 '''reverse effect of earlier changeset | 182 '''reverse effect of earlier changeset |
182 | 183 |
183 Commit the backed out changes as a new changeset. The new | 184 Commit the backed out changes as a new changeset. The new |
184 changeset is a child of the backed out changeset. | 185 changeset is a child of the backed out changeset. |
185 | 186 |
186 If you back out a changeset other than the tip, a new head is | 187 If you backout a changeset other than the tip, a new head is |
187 created. This head will be the new tip and you should merge this | 188 created. This head will be the new tip and you should merge this |
188 backout changeset with another head (current one by default). | 189 backout changeset with another head. |
189 | 190 |
190 The --merge option remembers the parent of the working directory | 191 The --merge option remembers the parent of the working directory |
191 before starting the backout, then merges the new head with that | 192 before starting the backout, then merges the new head with that |
192 changeset afterwards. This saves you from doing the merge by hand. | 193 changeset afterwards. This saves you from doing the merge by hand. |
193 The result of this merge is not committed, as with a normal merge. | 194 The result of this merge is not committed, as with a normal merge. |
211 node = repo.lookup(rev) | 212 node = repo.lookup(rev) |
212 | 213 |
213 op1, op2 = repo.dirstate.parents() | 214 op1, op2 = repo.dirstate.parents() |
214 a = repo.changelog.ancestor(op1, node) | 215 a = repo.changelog.ancestor(op1, node) |
215 if a != node: | 216 if a != node: |
216 raise util.Abort(_('cannot back out change on a different branch')) | 217 raise util.Abort(_('cannot backout change on a different branch')) |
217 | 218 |
218 p1, p2 = repo.changelog.parents(node) | 219 p1, p2 = repo.changelog.parents(node) |
219 if p1 == nullid: | 220 if p1 == nullid: |
220 raise util.Abort(_('cannot back out a change with no parents')) | 221 raise util.Abort(_('cannot backout a change with no parents')) |
221 if p2 != nullid: | 222 if p2 != nullid: |
222 if not opts.get('parent'): | 223 if not opts.get('parent'): |
223 raise util.Abort(_('cannot back out a merge changeset without ' | 224 raise util.Abort(_('cannot backout a merge changeset without ' |
224 '--parent')) | 225 '--parent')) |
225 p = repo.lookup(opts['parent']) | 226 p = repo.lookup(opts['parent']) |
226 if p not in (p1, p2): | 227 if p not in (p1, p2): |
227 raise util.Abort(_('%s is not a parent of %s') % | 228 raise util.Abort(_('%s is not a parent of %s') % |
228 (short(p), short(node))) | 229 (short(p), short(node))) |
270 This command helps to find changesets which introduce problems. To | 271 This command helps to find changesets which introduce problems. To |
271 use, mark the earliest changeset you know exhibits the problem as | 272 use, mark the earliest changeset you know exhibits the problem as |
272 bad, then mark the latest changeset which is free from the problem | 273 bad, then mark the latest changeset which is free from the problem |
273 as good. Bisect will update your working directory to a revision | 274 as good. Bisect will update your working directory to a revision |
274 for testing (unless the -U/--noupdate option is specified). Once | 275 for testing (unless the -U/--noupdate option is specified). Once |
275 you have performed tests, mark the working directory as bad or | 276 you have performed tests, mark the working directory as good or |
276 good and bisect will either update to another candidate changeset | 277 bad, and bisect will either update to another candidate changeset |
277 or announce that it has found the bad revision. | 278 or announce that it has found the bad revision. |
278 | 279 |
279 As a shortcut, you can also use the revision argument to mark a | 280 As a shortcut, you can also use the revision argument to mark a |
280 revision as good or bad without checking it out first. | 281 revision as good or bad without checking it out first. |
281 | 282 |
282 If you supply a command it will be used for automatic bisection. | 283 If you supply a command, it will be used for automatic bisection. |
283 Its exit status will be used as flag to mark revision as bad or | 284 Its exit status will be used to mark revisions as good or bad: |
284 good. In case exit status is 0 the revision is marked as good, 125 | 285 status 0 means good, 125 means to skip the revision, 127 |
285 - skipped, 127 (command not found) - bisection will be aborted; | 286 (command not found) will abort the bisection, and any other |
286 any other status bigger than 0 will mark revision as bad. | 287 non-zero exit status means the revision is bad. |
287 """ | 288 """ |
288 def print_result(nodes, good): | 289 def print_result(nodes, good): |
289 displayer = cmdutil.show_changeset(ui, repo, {}) | 290 displayer = cmdutil.show_changeset(ui, repo, {}) |
290 if len(nodes) == 1: | 291 if len(nodes) == 1: |
291 # narrowed it down to a single revision | 292 # narrowed it down to a single revision |
402 | 403 |
403 def branch(ui, repo, label=None, **opts): | 404 def branch(ui, repo, label=None, **opts): |
404 """set or show the current branch name | 405 """set or show the current branch name |
405 | 406 |
406 With no argument, show the current branch name. With one argument, | 407 With no argument, show the current branch name. With one argument, |
407 set the working directory branch name (the branch does not exist | 408 set the working directory branch name (the branch will not exist |
408 in the repository until the next commit). It is recommended to use | 409 in the repository until the next commit). Standard practice |
409 the 'default' branch as your primary development branch. | 410 recommends that primary development take place on the 'default' |
411 branch. | |
410 | 412 |
411 Unless -f/--force is specified, branch will not let you set a | 413 Unless -f/--force is specified, branch will not let you set a |
412 branch name that shadows an existing branch. | 414 branch name that already exists, even if it's inactive. |
413 | 415 |
414 Use -C/--clean to reset the working directory branch to that of | 416 Use -C/--clean to reset the working directory branch to that of |
415 the parent of the working directory, negating a previous branch | 417 the parent of the working directory, negating a previous branch |
416 change. | 418 change. |
417 | 419 |
588 | 590 |
589 See 'hg help urls' for valid source format details. | 591 See 'hg help urls' for valid source format details. |
590 | 592 |
591 It is possible to specify an ssh:// URL as the destination, but no | 593 It is possible to specify an ssh:// URL as the destination, but no |
592 .hg/hgrc and working directory will be created on the remote side. | 594 .hg/hgrc and working directory will be created on the remote side. |
593 Look at the help text for URLs for important details about ssh:// | 595 Please see 'hg help urls' for important details about ssh:// URLs. |
594 URLs. | |
595 | 596 |
596 For efficiency, hardlinks are used for cloning whenever the source | 597 For efficiency, hardlinks are used for cloning whenever the source |
597 and destination are on the same filesystem (note this applies only | 598 and destination are on the same filesystem (note this applies only |
598 to the repository data, not to the checked out files). Some | 599 to the repository data, not to the checked out files). Some |
599 filesystems, such as AFS, implement hardlinking incorrectly, but | 600 filesystems, such as AFS, implement hardlinking incorrectly, but |
622 def commit(ui, repo, *pats, **opts): | 623 def commit(ui, repo, *pats, **opts): |
623 """commit the specified files or all outstanding changes | 624 """commit the specified files or all outstanding changes |
624 | 625 |
625 Commit changes to the given files into the repository. Unlike a | 626 Commit changes to the given files into the repository. Unlike a |
626 centralized RCS, this operation is a local operation. See hg push | 627 centralized RCS, this operation is a local operation. See hg push |
627 for means to actively distribute your changes. | 628 for a way to actively distribute your changes. |
628 | 629 |
629 If a list of files is omitted, all changes reported by "hg status" | 630 If a list of files is omitted, all changes reported by "hg status" |
630 will be committed. | 631 will be committed. |
631 | 632 |
632 If you are committing the result of a merge, do not provide any | 633 If you are committing the result of a merge, do not provide any |
673 Mark dest as having copies of source files. If dest is a | 674 Mark dest as having copies of source files. If dest is a |
674 directory, copies are put in that directory. If dest is a file, | 675 directory, copies are put in that directory. If dest is a file, |
675 the source must be a single file. | 676 the source must be a single file. |
676 | 677 |
677 By default, this command copies the contents of files as they | 678 By default, this command copies the contents of files as they |
678 stand in the working directory. If invoked with -A/--after, the | 679 exist in the working directory. If invoked with -A/--after, the |
679 operation is recorded, but no copying is performed. | 680 operation is recorded, but no copying is performed. |
680 | 681 |
681 This command takes effect with the next commit. To undo a copy | 682 This command takes effect with the next commit. To undo a copy |
682 before that, see hg revert. | 683 before that, see hg revert. |
683 """ | 684 """ |
786 of that config item. | 787 of that config item. |
787 | 788 |
788 With multiple arguments, print names and values of all config | 789 With multiple arguments, print names and values of all config |
789 items with matching section names. | 790 items with matching section names. |
790 | 791 |
791 With the --debug flag, the source (filename and line number) is | 792 With --debug, the source (filename and line number) is printed |
792 printed for each config item. | 793 for each config item. |
793 """ | 794 """ |
794 | 795 |
795 untrusted = bool(opts.get('untrusted')) | 796 untrusted = bool(opts.get('untrusted')) |
796 if values: | 797 if values: |
797 if len([v for v in values if '.' in v]) > 1: | 798 if len([v for v in values if '.' in v]) > 1: |
884 ui.write("% 6d % 9d % 7d % 6d % 7d %s %s %s\n" % ( | 885 ui.write("% 6d % 9d % 7d % 6d % 7d %s %s %s\n" % ( |
885 i, r.start(i), r.length(i), r.base(i), r.linkrev(i), | 886 i, r.start(i), r.length(i), r.base(i), r.linkrev(i), |
886 short(node), short(pp[0]), short(pp[1]))) | 887 short(node), short(pp[0]), short(pp[1]))) |
887 | 888 |
888 def debugindexdot(ui, file_): | 889 def debugindexdot(ui, file_): |
889 """dump an index DAG as a .dot file""" | 890 """dump an index DAG as a graphviz dot file""" |
890 r = revlog.revlog(util.opener(os.getcwd(), audit=False), file_) | 891 r = revlog.revlog(util.opener(os.getcwd(), audit=False), file_) |
891 ui.write("digraph G {\n") | 892 ui.write("digraph G {\n") |
892 for i in r: | 893 for i in r: |
893 node = r.node(i) | 894 node = r.node(i) |
894 pp = r.parents(node) | 895 pp = r.parents(node) |
1105 Without the -a/--text option, export will avoid generating diffs | 1106 Without the -a/--text option, export will avoid generating diffs |
1106 of files it detects as binary. With -a, export will generate a | 1107 of files it detects as binary. With -a, export will generate a |
1107 diff anyway, probably with undesirable results. | 1108 diff anyway, probably with undesirable results. |
1108 | 1109 |
1109 Use the -g/--git option to generate diffs in the git extended diff | 1110 Use the -g/--git option to generate diffs in the git extended diff |
1110 format. Read the diffs help topic for more information. | 1111 format. See 'hg help diffs' for more information. |
1111 | 1112 |
1112 With the --switch-parent option, the diff will be against the | 1113 With the --switch-parent option, the diff will be against the |
1113 second parent. It can be useful to review a merge. | 1114 second parent. It can be useful to review a merge. |
1114 """ | 1115 """ |
1115 if not changesets: | 1116 if not changesets: |
1299 def heads(ui, repo, *branchrevs, **opts): | 1300 def heads(ui, repo, *branchrevs, **opts): |
1300 """show current repository heads or show branch heads | 1301 """show current repository heads or show branch heads |
1301 | 1302 |
1302 With no arguments, show all repository head changesets. | 1303 With no arguments, show all repository head changesets. |
1303 | 1304 |
1304 If branch or revisions names are given this will show the heads of | 1305 If branch names or revisions are given this will show the heads of |
1305 the specified branches or the branches those revisions are tagged | 1306 the specified branches or the branches those revisions are tagged |
1306 with. | 1307 with. |
1307 | 1308 |
1308 Repository "heads" are changesets that don't have child | 1309 Repository "heads" are changesets that don't have child |
1309 changesets. They are where development generally takes place and | 1310 changesets. They are where development generally takes place and |
1310 are the usual targets for update and merge operations. | 1311 are the usual targets for update and merge operations. |
1311 | 1312 |
1312 Branch heads are changesets that have a given branch tag, but have | 1313 Branch heads are changesets that have a given branch tag, but have |
1313 no child changesets with that tag. They are usually where | 1314 no child changesets with that tag. They are usually where |
1314 development on the given branch takes place. | 1315 development on a given branch takes place. |
1315 """ | 1316 """ |
1316 if opts.get('rev'): | 1317 if opts.get('rev'): |
1317 start = repo.lookup(opts['rev']) | 1318 start = repo.lookup(opts['rev']) |
1318 else: | 1319 else: |
1319 start = None | 1320 start = None |
1351 displayer.show(repo[n]) | 1352 displayer.show(repo[n]) |
1352 | 1353 |
1353 def help_(ui, name=None, with_version=False): | 1354 def help_(ui, name=None, with_version=False): |
1354 """show help for a given topic or a help overview | 1355 """show help for a given topic or a help overview |
1355 | 1356 |
1356 With no arguments, print a list of commands and short help. | 1357 With no arguments, print a list of commands with short help messages. |
1357 | 1358 |
1358 Given a topic, extension, or command name, print help for that | 1359 Given a topic, extension, or command name, print help for that |
1359 topic.""" | 1360 topic.""" |
1360 option_lists = [] | 1361 option_lists = [] |
1361 | 1362 |
1574 """identify the working copy or specified revision | 1575 """identify the working copy or specified revision |
1575 | 1576 |
1576 With no revision, print a summary of the current state of the | 1577 With no revision, print a summary of the current state of the |
1577 repository. | 1578 repository. |
1578 | 1579 |
1579 With a path, do a lookup in another repository. | 1580 Specifying a path to a repository root or Mercurial bundle will |
1581 cause lookup to operate on that repository/bundle. | |
1580 | 1582 |
1581 This summary identifies the repository state using one or two | 1583 This summary identifies the repository state using one or two |
1582 parent hash identifiers, followed by a "+" if there are | 1584 parent hash identifiers, followed by a "+" if there are |
1583 uncommitted changes in the working directory, a list of tags for | 1585 uncommitted changes in the working directory, a list of tags for |
1584 this revision and a branch name for non-default branches. | 1586 this revision and a branch name for non-default branches. |
1650 | 1652 |
1651 If there are outstanding changes in the working directory, import | 1653 If there are outstanding changes in the working directory, import |
1652 will abort unless given the -f/--force flag. | 1654 will abort unless given the -f/--force flag. |
1653 | 1655 |
1654 You can import a patch straight from a mail message. Even patches | 1656 You can import a patch straight from a mail message. Even patches |
1655 as attachments work (body part must be type text/plain or | 1657 as attachments work (to use the body part, it must have type |
1656 text/x-patch to be used). From and Subject headers of email | 1658 text/plain or text/x-patch). From and Subject headers of email |
1657 message are used as default committer and commit message. All | 1659 message are used as default committer and commit message. All |
1658 text/plain body parts before first diff are added to commit | 1660 text/plain body parts before first diff are added to commit |
1659 message. | 1661 message. |
1660 | 1662 |
1661 If the imported patch was generated by hg export, user and | 1663 If the imported patch was generated by hg export, user and |
1670 deficiencies in the text patch format. | 1672 deficiencies in the text patch format. |
1671 | 1673 |
1672 With -s/--similarity, hg will attempt to discover renames and | 1674 With -s/--similarity, hg will attempt to discover renames and |
1673 copies in the patch in the same way as 'addremove'. | 1675 copies in the patch in the same way as 'addremove'. |
1674 | 1676 |
1675 To read a patch from standard input, use patch name "-". See 'hg | 1677 To read a patch from standard input, use "-" as the patch name. |
1676 help dates' for a list of formats valid for -d/--date. | 1678 See 'hg help dates' for a list of formats valid for -d/--date. |
1677 """ | 1679 """ |
1678 patches = (patch1,) + patches | 1680 patches = (patch1,) + patches |
1679 | 1681 |
1680 date = opts.get('date') | 1682 date = opts.get('date') |
1681 if date: | 1683 if date: |
1772 | 1774 |
1773 def incoming(ui, repo, source="default", **opts): | 1775 def incoming(ui, repo, source="default", **opts): |
1774 """show new changesets found in source | 1776 """show new changesets found in source |
1775 | 1777 |
1776 Show new changesets found in the specified path/URL or the default | 1778 Show new changesets found in the specified path/URL or the default |
1777 pull location. These are the changesets that would be pulled if a | 1779 pull location. These are the changesets that would have been pulled |
1778 pull was requested. | 1780 if a pull at the time you issued this command. |
1779 | 1781 |
1780 For remote repository, using --bundle avoids downloading the | 1782 For remote repository, using --bundle avoids downloading the |
1781 changesets twice if the incoming is followed by a pull. | 1783 changesets twice if the incoming is followed by a pull. |
1782 | 1784 |
1783 See pull for valid source format details. | 1785 See pull for valid source format details. |
1841 | 1843 |
1842 def init(ui, dest=".", **opts): | 1844 def init(ui, dest=".", **opts): |
1843 """create a new repository in the given directory | 1845 """create a new repository in the given directory |
1844 | 1846 |
1845 Initialize a new repository in the given directory. If the given | 1847 Initialize a new repository in the given directory. If the given |
1846 directory does not exist, it is created. | 1848 directory does not exist, it will be created. |
1847 | 1849 |
1848 If no directory is given, the current directory is used. | 1850 If no directory is given, the current directory is used. |
1849 | 1851 |
1850 It is possible to specify an ssh:// URL as the destination. | 1852 It is possible to specify an ssh:// URL as the destination. |
1851 See 'hg help urls' for more information. | 1853 See 'hg help urls' for more information. |
1853 hg.repository(cmdutil.remoteui(ui, opts), dest, create=1) | 1855 hg.repository(cmdutil.remoteui(ui, opts), dest, create=1) |
1854 | 1856 |
1855 def locate(ui, repo, *pats, **opts): | 1857 def locate(ui, repo, *pats, **opts): |
1856 """locate files matching specific patterns | 1858 """locate files matching specific patterns |
1857 | 1859 |
1858 Print all files under Mercurial control whose names match the | 1860 Print files under Mercurial control in the working directory whose |
1859 given patterns. | 1861 names match the given patterns. |
1860 | 1862 |
1861 This command searches the entire repository by default. To search | 1863 By default, this command searches all directories in the working |
1862 just the current directory and its subdirectories, use | 1864 directory. To search just the current directory and its |
1863 "--include .". | 1865 subdirectories, use "--include .". |
1864 | 1866 |
1865 If no patterns are given to match, this command prints all file | 1867 If no patterns are given to match, this command prints the names |
1866 names. | 1868 of all files under Mercurial control in the working directory. |
1867 | 1869 |
1868 If you want to feed the output of this command into the "xargs" | 1870 If you want to feed the output of this command into the "xargs" |
1869 command, use the -0 option to both this command and "xargs". This | 1871 command, use the -0 option to both this command and "xargs". This |
1870 will avoid the problem of "xargs" treating single filenames that | 1872 will avoid the problem of "xargs" treating single filenames that |
1871 contain white space as multiple filenames. | 1873 contain whitespace as multiple filenames. |
1872 """ | 1874 """ |
1873 end = opts.get('print0') and '\0' or '\n' | 1875 end = opts.get('print0') and '\0' or '\n' |
1874 rev = opts.get('rev') or None | 1876 rev = opts.get('rev') or None |
1875 | 1877 |
1876 ret = 1 | 1878 ret = 1 |
1903 --follow is set, in which case the working directory parent is | 1905 --follow is set, in which case the working directory parent is |
1904 used as the starting revision. | 1906 used as the starting revision. |
1905 | 1907 |
1906 See 'hg help dates' for a list of formats valid for -d/--date. | 1908 See 'hg help dates' for a list of formats valid for -d/--date. |
1907 | 1909 |
1908 By default this command outputs: changeset id and hash, tags, | 1910 By default this command prints revision number and changeset id, |
1909 non-trivial parents, user, date and time, and a summary for each | 1911 tags, non-trivial parents, user, date and time, and a summary for |
1910 commit. When the -v/--verbose switch is used, the list of changed | 1912 each commit. When the -v/--verbose switch is used, the list of |
1911 files and full commit message is shown. | 1913 changed files and full commit message are shown. |
1912 | 1914 |
1913 NOTE: log -p/--patch may generate unexpected diff output for merge | 1915 NOTE: log -p/--patch may generate unexpected diff output for merge |
1914 changesets, as it will only compare the merge changeset against | 1916 changesets, as it will only compare the merge changeset against |
1915 its first parent. Also, the files: list will only reflect files | 1917 its first parent. Also, only files different from BOTH parents |
1916 that are different from BOTH parents. | 1918 will appear in files:. |
1917 | |
1918 """ | 1919 """ |
1919 | 1920 |
1920 get = util.cachefunc(lambda r: repo[r].changeset()) | 1921 get = util.cachefunc(lambda r: repo[r].changeset()) |
1921 changeiter, matchfn = cmdutil.walkchangerevs(ui, repo, pats, get, opts) | 1922 changeiter, matchfn = cmdutil.walkchangerevs(ui, repo, pats, get, opts) |
1922 | 1923 |
2017 def manifest(ui, repo, node=None, rev=None): | 2018 def manifest(ui, repo, node=None, rev=None): |
2018 """output the current or given revision of the project manifest | 2019 """output the current or given revision of the project manifest |
2019 | 2020 |
2020 Print a list of version controlled files for the given revision. | 2021 Print a list of version controlled files for the given revision. |
2021 If no revision is given, the first parent of the working directory | 2022 If no revision is given, the first parent of the working directory |
2022 is used, or the null revision if none is checked out. | 2023 is used, or the null revision if no revision is checked out. |
2023 | 2024 |
2024 With -v flag, print file permissions, symlink and executable bits. | 2025 With -v, print file permissions, symlink and executable bits. |
2025 With --debug flag, print file revision hashes. | 2026 With --debug, print file revision hashes. |
2026 """ | 2027 """ |
2027 | 2028 |
2028 if rev and node: | 2029 if rev and node: |
2029 raise util.Abort(_("please specify just one revision")) | 2030 raise util.Abort(_("please specify just one revision")) |
2030 | 2031 |
2041 ui.write("%s\n" % f) | 2042 ui.write("%s\n" % f) |
2042 | 2043 |
2043 def merge(ui, repo, node=None, **opts): | 2044 def merge(ui, repo, node=None, **opts): |
2044 """merge working directory with another revision | 2045 """merge working directory with another revision |
2045 | 2046 |
2046 The contents of the current working directory is updated with all | 2047 The current working directory is updated with all changes made in |
2047 changes made in the requested revision since the last common | 2048 the requested revision since the last common predecessor revision. |
2048 predecessor revision. | |
2049 | 2049 |
2050 Files that changed between either parent are marked as changed for | 2050 Files that changed between either parent are marked as changed for |
2051 the next commit and a commit must be performed before any further | 2051 the next commit and a commit must be performed before any further |
2052 updates are allowed. The next commit has two parents. | 2052 updates to the repository are allowed. The next commit will have |
2053 two parents. | |
2053 | 2054 |
2054 If no revision is specified, the working directory's parent is a | 2055 If no revision is specified, the working directory's parent is a |
2055 head revision, and the current branch contains exactly one other | 2056 head revision, and the current branch contains exactly one other |
2056 head, the other head is merged with by default. Otherwise, an | 2057 head, the other head is merged with by default. Otherwise, an |
2057 explicit revision to merge with must be provided. | 2058 explicit revision with which to merge with must be provided. |
2058 """ | 2059 """ |
2059 | 2060 |
2060 if opts.get('rev') and node: | 2061 if opts.get('rev') and node: |
2061 raise util.Abort(_("please specify just one revision")) | 2062 raise util.Abort(_("please specify just one revision")) |
2062 if not node: | 2063 if not node: |
2136 def parents(ui, repo, file_=None, **opts): | 2137 def parents(ui, repo, file_=None, **opts): |
2137 """show the parents of the working directory or revision | 2138 """show the parents of the working directory or revision |
2138 | 2139 |
2139 Print the working directory's parent revisions. If a revision is | 2140 Print the working directory's parent revisions. If a revision is |
2140 given via -r/--rev, the parent of that revision will be printed. | 2141 given via -r/--rev, the parent of that revision will be printed. |
2141 If a file argument is given, revision in which the file was last | 2142 If a file argument is given, the revision in which the file was |
2142 changed (before the working directory revision or the argument to | 2143 last changed (before the working directory revision or the |
2143 --rev if given) is printed. | 2144 argument to --rev if given) is printed. |
2144 """ | 2145 """ |
2145 rev = opts.get('rev') | 2146 rev = opts.get('rev') |
2146 if rev: | 2147 if rev: |
2147 ctx = repo[rev] | 2148 ctx = repo[rev] |
2148 else: | 2149 else: |
2175 | 2176 |
2176 def paths(ui, repo, search=None): | 2177 def paths(ui, repo, search=None): |
2177 """show aliases for remote repositories | 2178 """show aliases for remote repositories |
2178 | 2179 |
2179 Show definition of symbolic path name NAME. If no name is given, | 2180 Show definition of symbolic path name NAME. If no name is given, |
2180 show definition of available names. | 2181 show definition of all available names. |
2181 | 2182 |
2182 Path names are defined in the [paths] section of /etc/mercurial/hgrc | 2183 Path names are defined in the [paths] section of /etc/mercurial/hgrc |
2183 and $HOME/.hgrc. If run inside a repository, .hg/hgrc is used, too. | 2184 and $HOME/.hgrc. If run inside a repository, .hg/hgrc is used, too. |
2184 | 2185 |
2185 See 'hg help urls' for more information. | 2186 See 'hg help urls' for more information. |
2209 ui.status(_("(run 'hg update' to get a working copy)\n")) | 2210 ui.status(_("(run 'hg update' to get a working copy)\n")) |
2210 | 2211 |
2211 def pull(ui, repo, source="default", **opts): | 2212 def pull(ui, repo, source="default", **opts): |
2212 """pull changes from the specified source | 2213 """pull changes from the specified source |
2213 | 2214 |
2214 Pull changes from a remote repository to the local one. | 2215 Pull changes from a remote repository to a local one. |
2215 | 2216 |
2216 This finds all changes from the repository at the specified path | 2217 This finds all changes from the repository at the specified path |
2217 or URL and adds them to the local repository. By default, this | 2218 or URL and adds them to a local repository (the current one unless |
2218 does not update the copy of the project in the working directory. | 2219 -R is specified). By default, this does not update the copy of the |
2219 | 2220 project in the working directory. |
2220 Use hg incoming if you want to see what will be added by the next | 2221 |
2221 pull without actually adding the changes to the repository. | 2222 Use hg incoming if you want to see what would have been added by a |
2223 pull at the time you issued this command. If you then decide to | |
2224 added those changes to the repository, you should use pull -r X | |
2225 where X is the last changeset listed by hg incoming. | |
2222 | 2226 |
2223 If SOURCE is omitted, the 'default' path will be used. | 2227 If SOURCE is omitted, the 'default' path will be used. |
2224 See 'hg help urls' for more information. | 2228 See 'hg help urls' for more information. |
2225 """ | 2229 """ |
2226 source, revs, checkout = hg.parseurl(ui.expandpath(source), opts.get('rev')) | 2230 source, revs, checkout = hg.parseurl(ui.expandpath(source), opts.get('rev')) |
2247 local this is identical to a pull in that directory from the | 2251 local this is identical to a pull in that directory from the |
2248 current one. | 2252 current one. |
2249 | 2253 |
2250 By default, push will refuse to run if it detects the result would | 2254 By default, push will refuse to run if it detects the result would |
2251 increase the number of remote heads. This generally indicates the | 2255 increase the number of remote heads. This generally indicates the |
2252 the client has forgotten to pull and merge before pushing. | 2256 user forgot to pull and merge before pushing. |
2253 | 2257 |
2254 If -r/--rev is used, the named revision and all its ancestors will | 2258 If -r/--rev is used, the named revision and all its ancestors will |
2255 be pushed to the remote repository. | 2259 be pushed to the remote repository. |
2256 | 2260 |
2257 Look at the help text for URLs for important details about ssh:// | 2261 Please see 'hg help urls' for important details about ssh:// |
2258 URLs. If DESTINATION is omitted, a default path will be used. | 2262 URLs. If DESTINATION is omitted, a default path will be used. |
2259 See 'hg help urls' for more information. | 2263 See 'hg help urls' for more information. |
2260 """ | 2264 """ |
2261 dest, revs, checkout = hg.parseurl( | 2265 dest, revs, checkout = hg.parseurl( |
2262 ui.expandpath(dest or 'default-push', dest or 'default'), opts.get('rev')) | 2266 ui.expandpath(dest or 'default-push', dest or 'default'), opts.get('rev')) |
2287 | 2291 |
2288 This only removes files from the current branch, not from the | 2292 This only removes files from the current branch, not from the |
2289 entire project history. -A/--after can be used to remove only | 2293 entire project history. -A/--after can be used to remove only |
2290 files that have already been deleted, -f/--force can be used to | 2294 files that have already been deleted, -f/--force can be used to |
2291 force deletion, and -Af can be used to remove files from the next | 2295 force deletion, and -Af can be used to remove files from the next |
2292 revision without deleting them. | 2296 revision without deleting them from the working directory. |
2293 | 2297 |
2294 The following table details the behavior of remove for different | 2298 The following table details the behavior of remove for different |
2295 file states (columns) and option combinations (rows). The file | 2299 file states (columns) and option combinations (rows). The file |
2296 states are Added, Clean, Modified and Missing (as reported by hg | 2300 states are Added [A], Clean [C], Modified [M] and Missing [!] |
2297 status). The actions are Warn, Remove (from branch) and Delete | 2301 (as reported by hg status). The actions are Warn, Remove (from |
2298 (from disk). | 2302 branch) and Delete (from disk). |
2299 | 2303 |
2300 A C M ! | 2304 A C M ! |
2301 none W RD W R | 2305 none W RD W R |
2302 -f R RD RD R | 2306 -f R RD RD R |
2303 -A W W W R | 2307 -A W W W R |
2370 | 2374 |
2371 If a conflict is resolved manually, please note that the changes | 2375 If a conflict is resolved manually, please note that the changes |
2372 will be overwritten if the merge is retried with resolve. The | 2376 will be overwritten if the merge is retried with resolve. The |
2373 -m/--mark switch should be used to mark the file as resolved. | 2377 -m/--mark switch should be used to mark the file as resolved. |
2374 | 2378 |
2375 This command will also allow listing resolved files and manually | 2379 This command also allows listing resolved files and manually |
2376 marking and unmarking files as resolved. All files must be marked | 2380 indicating whether or not files are resolved. All files must be |
2377 as resolved before the new commits are permitted. | 2381 marked as resolved before a commit is permitted. |
2378 | 2382 |
2379 The codes used to show the status of files are: | 2383 The codes used to show the status of files are: |
2380 U = unresolved | 2384 U = unresolved |
2381 R = resolved | 2385 R = resolved |
2382 """ | 2386 """ |
2735 def status(ui, repo, *pats, **opts): | 2739 def status(ui, repo, *pats, **opts): |
2736 """show changed files in the working directory | 2740 """show changed files in the working directory |
2737 | 2741 |
2738 Show status of files in the repository. If names are given, only | 2742 Show status of files in the repository. If names are given, only |
2739 files that match are shown. Files that are clean or ignored or | 2743 files that match are shown. Files that are clean or ignored or |
2740 source of a copy/move operation, are not listed unless -c/--clean, | 2744 the source of a copy/move operation, are not listed unless |
2741 -i/--ignored, -C/--copies or -A/--all is given. Unless options | 2745 -c/--clean, -i/--ignored, -C/--copies or -A/--all are given. |
2742 described with "show only ..." are given, the options -mardu are | 2746 Unless options described with "show only ..." are given, the |
2743 used. | 2747 options -mardu are used. |
2744 | 2748 |
2745 Option -q/--quiet hides untracked (unknown and ignored) files | 2749 Option -q/--quiet hides untracked (unknown and ignored) files |
2746 unless explicitly requested with -u/--unknown or -i/--ignored. | 2750 unless explicitly requested with -u/--unknown or -i/--ignored. |
2747 | 2751 |
2748 NOTE: status may appear to disagree with diff if permissions have | 2752 NOTE: status may appear to disagree with diff if permissions have |
2749 changed or a merge has occurred. The standard diff format does not | 2753 changed or a merge has occurred. The standard diff format does not |
2750 report permission changes and diff only reports changes relative | 2754 report permission changes and diff only reports changes relative |
2751 to one merge parent. | 2755 to one merge parent. |
2752 | 2756 |
2753 If one revision is given, it is used as the base revision. | 2757 If one revision is given, it is used as the base revision. |
2754 If two revisions are given, the difference between them is shown. | 2758 If two revisions are given, the differences between them are |
2759 shown. | |
2755 | 2760 |
2756 The codes used to show the status of files are: | 2761 The codes used to show the status of files are: |
2757 M = modified | 2762 M = modified |
2758 A = added | 2763 A = added |
2759 R = removed | 2764 R = removed |
2760 C = clean | 2765 C = clean |
2761 ! = missing (deleted by non-hg command, but still tracked) | 2766 ! = missing (deleted by non-hg command, but still tracked) |
2762 ? = not tracked | 2767 ? = not tracked |
2763 I = ignored | 2768 I = ignored |
2764 = the previous added file was copied from here | 2769 = origin of the previous file listed as A (added) |
2765 """ | 2770 """ |
2766 | 2771 |
2767 node1, node2 = cmdutil.revpair(repo, opts.get('rev')) | 2772 node1, node2 = cmdutil.revpair(repo, opts.get('rev')) |
2768 cwd = (pats and repo.getcwd()) or '' | 2773 cwd = (pats and repo.getcwd()) or '' |
2769 end = opts.get('print0') and '\0' or '\n' | 2774 end = opts.get('print0') and '\0' or '\n' |
2900 ui.write("%s%s %s%s\n" % (t, spaces, r, tagtype)) | 2905 ui.write("%s%s %s%s\n" % (t, spaces, r, tagtype)) |
2901 | 2906 |
2902 def tip(ui, repo, **opts): | 2907 def tip(ui, repo, **opts): |
2903 """show the tip revision | 2908 """show the tip revision |
2904 | 2909 |
2905 The tip revision (usually just called the tip) is the most | 2910 The tip revision (usually just called the tip) is the changeset |
2906 recently added changeset in the repository, the most recently | 2911 most recently added to the repository (and therefore the most |
2907 changed head. | 2912 recently changed head). |
2908 | 2913 |
2909 If you have just made a commit, that commit will be the tip. If | 2914 If you have just made a commit, that commit will be the tip. If |
2910 you have just pulled changes from another repository, the tip of | 2915 you have just pulled changes from another repository, the tip of |
2911 that repository becomes the current tip. The "tip" tag is special | 2916 that repository becomes the current tip. The "tip" tag is special |
2912 and cannot be renamed or assigned to a different changeset. | 2917 and cannot be renamed or assigned to a different changeset. |