comparison mercurial/commands.py @ 6448:cd3d49ffc6f6

Consistently 1 space after full stops in command doc strings Update test output accordingly.
author Christian Ebert <blacktrash@gmx.net>
date Wed, 02 Apr 2008 14:03:16 +0200
parents fa5454a451c6
children af2edc9c5bb9
comparison
equal deleted inserted replaced
6447:9d2ce19bdacd 6448:cd3d49ffc6f6
51 Add all new files and remove all missing files from the repository. 51 Add all new files and remove all missing files from the repository.
52 52
53 New files are ignored if they match any of the patterns in .hgignore. As 53 New files are ignored if they match any of the patterns in .hgignore. As
54 with add, these changes take effect at the next commit. 54 with add, these changes take effect at the next commit.
55 55
56 Use the -s option to detect renamed files. With a parameter > 0, 56 Use the -s option to detect renamed files. With a parameter > 0,
57 this compares every removed file with every added file and records 57 this compares every removed file with every added file and records
58 those similar enough as renames. This option takes a percentage 58 those similar enough as renames. This option takes a percentage
59 between 0 (disabled) and 100 (files must be identical) as its 59 between 0 (disabled) and 100 (files must be identical) as its
60 parameter. Detecting renamed files this way can be expensive. 60 parameter. Detecting renamed files this way can be expensive.
61 """ 61 """
62 try: 62 try:
63 sim = float(opts.get('similarity') or 0) 63 sim = float(opts.get('similarity') or 0)
64 except ValueError: 64 except ValueError:
65 raise util.Abort(_('similarity must be a number')) 65 raise util.Abort(_('similarity must be a number'))
132 '''create unversioned archive of a repository revision 132 '''create unversioned archive of a repository revision
133 133
134 By default, the revision used is the parent of the working 134 By default, the revision used is the parent of the working
135 directory; use "-r" to specify a different revision. 135 directory; use "-r" to specify a different revision.
136 136
137 To specify the type of archive to create, use "-t". Valid 137 To specify the type of archive to create, use "-t". Valid
138 types are: 138 types are:
139 139
140 "files" (default): a directory full of files 140 "files" (default): a directory full of files
141 "tar": tar archive, uncompressed 141 "tar": tar archive, uncompressed
142 "tbz2": tar archive, compressed using bzip2 142 "tbz2": tar archive, compressed using bzip2
146 146
147 The exact name of the destination archive or directory is given 147 The exact name of the destination archive or directory is given
148 using a format string; see "hg help export" for details. 148 using a format string; see "hg help export" for details.
149 149
150 Each member added to an archive file has a directory prefix 150 Each member added to an archive file has a directory prefix
151 prepended. Use "-p" to specify a format string for the prefix. 151 prepended. Use "-p" to specify a format string for the prefix.
152 The default is the basename of the archive, with suffixes removed. 152 The default is the basename of the archive, with suffixes removed.
153 ''' 153 '''
154 154
155 ctx = repo.changectx(opts['rev']) 155 ctx = repo.changectx(opts['rev'])
156 if not ctx: 156 if not ctx:
172 matchfn, prefix) 172 matchfn, prefix)
173 173
174 def backout(ui, repo, node=None, rev=None, **opts): 174 def backout(ui, repo, node=None, rev=None, **opts):
175 '''reverse effect of earlier changeset 175 '''reverse effect of earlier changeset
176 176
177 Commit the backed out changes as a new changeset. The new 177 Commit the backed out changes as a new changeset. The new
178 changeset is a child of the backed out changeset. 178 changeset is a child of the backed out changeset.
179 179
180 If you back out a changeset other than the tip, a new head is 180 If you back out a changeset other than the tip, a new head is
181 created. This head will be the new tip and you should merge this 181 created. This head will be the new tip and you should merge this
182 backout changeset with another head (current one by default). 182 backout changeset with another head (current one by default).
183 183
184 The --merge option remembers the parent of the working directory 184 The --merge option remembers the parent of the working directory
185 before starting the backout, then merges the new head with that 185 before starting the backout, then merges the new head with that
186 changeset afterwards. This saves you from doing the merge by 186 changeset afterwards. This saves you from doing the merge by
187 hand. The result of this merge is not committed, as for a normal 187 hand. The result of this merge is not committed, as for a normal
188 merge. 188 merge.
189 189
190 See 'hg help dates' for a list of formats valid for -d/--date. 190 See 'hg help dates' for a list of formats valid for -d/--date.
191 ''' 191 '''
192 if rev and node: 192 if rev and node:
367 367
368 def branches(ui, repo, active=False): 368 def branches(ui, repo, active=False):
369 """list repository named branches 369 """list repository named branches
370 370
371 List the repository's named branches, indicating which ones are 371 List the repository's named branches, indicating which ones are
372 inactive. If active is specified, only show active branches. 372 inactive. If active is specified, only show active branches.
373 373
374 A branch is considered active if it contains unmerged heads. 374 A branch is considered active if it contains unmerged heads.
375 375
376 Use the command 'hg update' to switch to an existing branch. 376 Use the command 'hg update' to switch to an existing branch.
377 """ 377 """
402 Generate a compressed changegroup file collecting changesets not 402 Generate a compressed changegroup file collecting changesets not
403 found in the other repository. 403 found in the other repository.
404 404
405 If no destination repository is specified the destination is 405 If no destination repository is specified the destination is
406 assumed to have all the nodes specified by one or more --base 406 assumed to have all the nodes specified by one or more --base
407 parameters. To create a bundle containing all changesets, use 407 parameters. To create a bundle containing all changesets, use
408 --all (or --base null). 408 --all (or --base null).
409 409
410 The bundle file can then be transferred using conventional means and 410 The bundle file can then be transferred using conventional means and
411 applied to another repository with the unbundle or pull command. 411 applied to another repository with the unbundle or pull command.
412 This is useful when direct push and pull are not available or when 412 This is useful when direct push and pull are not available or when
467 Print the specified files as they were at the given revision. 467 Print the specified files as they were at the given revision.
468 If no revision is given, the parent of the working directory is used, 468 If no revision is given, the parent of the working directory is used,
469 or tip if no revision is checked out. 469 or tip if no revision is checked out.
470 470
471 Output may be to a file, in which case the name of the file is 471 Output may be to a file, in which case the name of the file is
472 given using a format string. The formatting rules are the same as 472 given using a format string. The formatting rules are the same as
473 for the export command, with the following additions: 473 for the export command, with the following additions:
474 474
475 %s basename of file being printed 475 %s basename of file being printed
476 %d dirname of file being printed, or '.' if in repo root 476 %d dirname of file being printed, or '.' if in repo root
477 %p root-relative path name of file being printed 477 %p root-relative path name of file being printed
499 The location of the source is added to the new repository's 499 The location of the source is added to the new repository's
500 .hg/hgrc file, as the default to be used for future pulls. 500 .hg/hgrc file, as the default to be used for future pulls.
501 501
502 For efficiency, hardlinks are used for cloning whenever the source 502 For efficiency, hardlinks are used for cloning whenever the source
503 and destination are on the same filesystem (note this applies only 503 and destination are on the same filesystem (note this applies only
504 to the repository data, not to the checked out files). Some 504 to the repository data, not to the checked out files). Some
505 filesystems, such as AFS, implement hardlinking incorrectly, but 505 filesystems, such as AFS, implement hardlinking incorrectly, but
506 do not report errors. In these cases, use the --pull option to 506 do not report errors. In these cases, use the --pull option to
507 avoid hardlinking. 507 avoid hardlinking.
508 508
509 You can safely clone repositories and checked out files using full 509 You can safely clone repositories and checked out files using full
510 hardlinks with 510 hardlinks with
511 511
569 ui.status(_('created new head\n')) 569 ui.status(_('created new head\n'))
570 570
571 def copy(ui, repo, *pats, **opts): 571 def copy(ui, repo, *pats, **opts):
572 """mark files as copied for the next commit 572 """mark files as copied for the next commit
573 573
574 Mark dest as having copies of source files. If dest is a 574 Mark dest as having copies of source files. If dest is a
575 directory, copies are put in that directory. If dest is a file, 575 directory, copies are put in that directory. If dest is a file,
576 there can only be one source. 576 there can only be one source.
577 577
578 By default, this command copies the contents of files as they 578 By default, this command copies the contents of files as they
579 stand in the working directory. If invoked with --after, the 579 stand in the working directory. If invoked with --after, the
580 operation is recorded, but no copying is performed. 580 operation is recorded, but no copying is performed.
581 581
582 This command takes effect in the next commit. To undo a copy 582 This command takes effect in the next commit. To undo a copy
583 before that, see hg revert. 583 before that, see hg revert.
584 """ 584 """
961 961
962 NOTE: export may generate unexpected diff output for merge changesets, 962 NOTE: export may generate unexpected diff output for merge changesets,
963 as it will compare the merge changeset against its first parent only. 963 as it will compare the merge changeset against its first parent only.
964 964
965 Output may be to a file, in which case the name of the file is 965 Output may be to a file, in which case the name of the file is
966 given using a format string. The formatting rules are as follows: 966 given using a format string. The formatting rules are as follows:
967 967
968 %% literal "%" character 968 %% literal "%" character
969 %H changeset hash (40 bytes of hexadecimal) 969 %H changeset hash (40 bytes of hexadecimal)
970 %N number of patches being generated 970 %N number of patches being generated
971 %R changeset revision number 971 %R changeset revision number
995 def grep(ui, repo, pattern, *pats, **opts): 995 def grep(ui, repo, pattern, *pats, **opts):
996 """search for a pattern in specified files and revisions 996 """search for a pattern in specified files and revisions
997 997
998 Search revisions of files for a regular expression. 998 Search revisions of files for a regular expression.
999 999
1000 This command behaves differently than Unix grep. It only accepts 1000 This command behaves differently than Unix grep. It only accepts
1001 Python/Perl regexps. It searches repository history, not the 1001 Python/Perl regexps. It searches repository history, not the
1002 working directory. It always prints the revision number in which 1002 working directory. It always prints the revision number in which
1003 a match appears. 1003 a match appears.
1004 1004
1005 By default, grep only prints output for the first revision of a 1005 By default, grep only prints output for the first revision of a
1006 file in which it finds a match. To get it to print every revision 1006 file in which it finds a match. To get it to print every revision
1007 that contains a change in match status ("-" for a match that 1007 that contains a change in match status ("-" for a match that
1008 becomes a non-match, or "+" for a non-match that becomes a match), 1008 becomes a non-match, or "+" for a non-match that becomes a match),
1009 use the --all flag. 1009 use the --all flag.
1010 """ 1010 """
1011 reflags = 0 1011 reflags = 0
1171 Repository "heads" are changesets that don't have child 1171 Repository "heads" are changesets that don't have child
1172 changesets. They are where development generally takes place and 1172 changesets. They are where development generally takes place and
1173 are the usual targets for update and merge operations. 1173 are the usual targets for update and merge operations.
1174 1174
1175 Branch heads are changesets that have a given branch tag, but have 1175 Branch heads are changesets that have a given branch tag, but have
1176 no child changesets with that tag. They are usually where 1176 no child changesets with that tag. They are usually where
1177 development on the given branch takes place. 1177 development on the given branch takes place.
1178 """ 1178 """
1179 if opts['rev']: 1179 if opts['rev']:
1180 start = repo.lookup(opts['rev']) 1180 start = repo.lookup(opts['rev'])
1181 else: 1181 else:
1464 Import a list of patches and commit them individually. 1464 Import a list of patches and commit them individually.
1465 1465
1466 If there are outstanding changes in the working directory, import 1466 If there are outstanding changes in the working directory, import
1467 will abort unless given the -f flag. 1467 will abort unless given the -f flag.
1468 1468
1469 You can import a patch straight from a mail message. Even patches 1469 You can import a patch straight from a mail message. Even patches
1470 as attachments work (body part must be type text/plain or 1470 as attachments work (body part must be type text/plain or
1471 text/x-patch to be used). From and Subject headers of email 1471 text/x-patch to be used). From and Subject headers of email
1472 message are used as default committer and commit message. All 1472 message are used as default committer and commit message. All
1473 text/plain body parts before first diff are added to commit 1473 text/plain body parts before first diff are added to commit
1474 message. 1474 message.
1475 1475
1476 If the imported patch was generated by hg export, user and description 1476 If the imported patch was generated by hg export, user and description
1477 from patch override values from message headers and body. Values 1477 from patch override values from message headers and body. Values
1478 given on command line with -m and -u override these. 1478 given on command line with -m and -u override these.
1479 1479
1480 If --exact is specified, import will set the working directory 1480 If --exact is specified, import will set the working directory
1481 to the parent of each patch before applying it, and will abort 1481 to the parent of each patch before applying it, and will abort
1482 if the resulting changeset has a different ID than the one 1482 if the resulting changeset has a different ID than the one
1641 os.unlink(cleanup) 1641 os.unlink(cleanup)
1642 1642
1643 def init(ui, dest=".", **opts): 1643 def init(ui, dest=".", **opts):
1644 """create a new repository in the given directory 1644 """create a new repository in the given directory
1645 1645
1646 Initialize a new repository in the given directory. If the given 1646 Initialize a new repository in the given directory. If the given
1647 directory does not exist, it is created. 1647 directory does not exist, it is created.
1648 1648
1649 If no directory is given, the current directory is used. 1649 If no directory is given, the current directory is used.
1650 1650
1651 It is possible to specify an ssh:// URL as the destination. 1651 It is possible to specify an ssh:// URL as the destination.
1659 """locate files matching specific patterns 1659 """locate files matching specific patterns
1660 1660
1661 Print all files under Mercurial control whose names match the 1661 Print all files under Mercurial control whose names match the
1662 given patterns. 1662 given patterns.
1663 1663
1664 This command searches the entire repository by default. To search 1664 This command searches the entire repository by default. To search
1665 just the current directory and its subdirectories, use 1665 just the current directory and its subdirectories, use
1666 "--include .". 1666 "--include .".
1667 1667
1668 If no patterns are given to match, this command prints all file 1668 If no patterns are given to match, this command prints all file
1669 names. 1669 names.
1701 1701
1702 Print the revision history of the specified files or the entire 1702 Print the revision history of the specified files or the entire
1703 project. 1703 project.
1704 1704
1705 File history is shown without following rename or copy history of 1705 File history is shown without following rename or copy history of
1706 files. Use -f/--follow with a file name to follow history across 1706 files. Use -f/--follow with a file name to follow history across
1707 renames and copies. --follow without a file name will only show 1707 renames and copies. --follow without a file name will only show
1708 ancestors or descendants of the starting revision. --follow-first 1708 ancestors or descendants of the starting revision. --follow-first
1709 only follows the first parent of merge revisions. 1709 only follows the first parent of merge revisions.
1710 1710
1711 If no revision range is specified, the default is tip:0 unless 1711 If no revision range is specified, the default is tip:0 unless
1860 marked as changed for the next commit and a commit must be 1860 marked as changed for the next commit and a commit must be
1861 performed before any further updates are allowed. 1861 performed before any further updates are allowed.
1862 1862
1863 If no revision is specified, the working directory's parent is a 1863 If no revision is specified, the working directory's parent is a
1864 head revision, and the repository contains exactly one other head, 1864 head revision, and the repository contains exactly one other head,
1865 the other head is merged with by default. Otherwise, an explicit 1865 the other head is merged with by default. Otherwise, an explicit
1866 revision to merge with must be provided. 1866 revision to merge with must be provided.
1867 """ 1867 """
1868 1868
1869 if rev and node: 1869 if rev and node:
1870 raise util.Abort(_("please specify just one revision")) 1870 raise util.Abort(_("please specify just one revision"))
1971 1971
1972 Show definition of symbolic path name NAME. If no name is given, show 1972 Show definition of symbolic path name NAME. If no name is given, show
1973 definition of available names. 1973 definition of available names.
1974 1974
1975 Path names are defined in the [paths] section of /etc/mercurial/hgrc 1975 Path names are defined in the [paths] section of /etc/mercurial/hgrc
1976 and $HOME/.hgrc. If run inside a repository, .hg/hgrc is used, too. 1976 and $HOME/.hgrc. If run inside a repository, .hg/hgrc is used, too.
1977 """ 1977 """
1978 if search: 1978 if search:
1979 for name, path in ui.configitems("paths"): 1979 for name, path in ui.configitems("paths"):
1980 if name == search: 1980 if name == search:
1981 ui.write("%s\n" % util.hidepassword(path)) 1981 ui.write("%s\n" % util.hidepassword(path))
2212 repo.remove(remove, unlink=not after) 2212 repo.remove(remove, unlink=not after)
2213 2213
2214 def rename(ui, repo, *pats, **opts): 2214 def rename(ui, repo, *pats, **opts):
2215 """rename files; equivalent of copy + remove 2215 """rename files; equivalent of copy + remove
2216 2216
2217 Mark dest as copies of sources; mark sources for deletion. If 2217 Mark dest as copies of sources; mark sources for deletion. If
2218 dest is a directory, copies are put in that directory. If dest is 2218 dest is a directory, copies are put in that directory. If dest is
2219 a file, there can only be one source. 2219 a file, there can only be one source.
2220 2220
2221 By default, this command copies the contents of files as they 2221 By default, this command copies the contents of files as they
2222 stand in the working directory. If invoked with --after, the 2222 stand in the working directory. If invoked with --after, the
2223 operation is recorded, but no copying is performed. 2223 operation is recorded, but no copying is performed.
2224 2224
2225 This command takes effect in the next commit. To undo a rename 2225 This command takes effect in the next commit. To undo a rename
2226 before that, see hg revert. 2226 before that, see hg revert.
2227 """ 2227 """
2247 Using the -r option, revert the given files or directories to their 2247 Using the -r option, revert the given files or directories to their
2248 contents as of a specific revision. This can be helpful to "roll 2248 contents as of a specific revision. This can be helpful to "roll
2249 back" some or all of an earlier change. 2249 back" some or all of an earlier change.
2250 See 'hg help dates' for a list of formats valid for -d/--date. 2250 See 'hg help dates' for a list of formats valid for -d/--date.
2251 2251
2252 Revert modifies the working directory. It does not commit any 2252 Revert modifies the working directory. It does not commit any
2253 changes, or change the parent of the working directory. If you 2253 changes, or change the parent of the working directory. If you
2254 revert to a revision other than the parent of the working 2254 revert to a revision other than the parent of the working
2255 directory, the reverted files will thus appear modified 2255 directory, the reverted files will thus appear modified
2256 afterwards. 2256 afterwards.
2257 2257
2258 If a file has been deleted, it is restored. If the executable 2258 If a file has been deleted, it is restored. If the executable
2259 mode of a file was changed, it is reset. 2259 mode of a file was changed, it is reset.
2260 2260
2261 If names are given, all files matching the names are reverted. 2261 If names are given, all files matching the names are reverted.
2262 If no arguments are given, no files are reverted. 2262 If no arguments are given, no files are reverted.
2263 2263
2489 """export the repository via HTTP 2489 """export the repository via HTTP
2490 2490
2491 Start a local HTTP repository browser and pull server. 2491 Start a local HTTP repository browser and pull server.
2492 2492
2493 By default, the server logs accesses to stdout and errors to 2493 By default, the server logs accesses to stdout and errors to
2494 stderr. Use the "-A" and "-E" options to log to files. 2494 stderr. Use the "-A" and "-E" options to log to files.
2495 """ 2495 """
2496 2496
2497 if opts["stdio"]: 2497 if opts["stdio"]:
2498 if repo is None: 2498 if repo is None:
2499 raise RepoError(_("There is no Mercurial repository here" 2499 raise RepoError(_("There is no Mercurial repository here"
2550 cmdutil.service(opts, initfn=service.init, runfn=service.run) 2550 cmdutil.service(opts, initfn=service.init, runfn=service.run)
2551 2551
2552 def status(ui, repo, *pats, **opts): 2552 def status(ui, repo, *pats, **opts):
2553 """show changed files in the working directory 2553 """show changed files in the working directory
2554 2554
2555 Show status of files in the repository. If names are given, only 2555 Show status of files in the repository. If names are given, only
2556 files that match are shown. Files that are clean or ignored or 2556 files that match are shown. Files that are clean or ignored or
2557 source of a copy/move operation, are not listed unless -c (clean), 2557 source of a copy/move operation, are not listed unless -c (clean),
2558 -i (ignored), -C (copies) or -A is given. Unless options described 2558 -i (ignored), -C (copies) or -A is given. Unless options described
2559 with "show only ..." are given, the options -mardu are used. 2559 with "show only ..." are given, the options -mardu are used.
2560 2560
2561 Option -q/--quiet hides untracked (unknown and ignored) files 2561 Option -q/--quiet hides untracked (unknown and ignored) files
2562 unless explicitly requested with -u/--unknown or -i/-ignored. 2562 unless explicitly requested with -u/--unknown or -i/-ignored.
2563 2563
2653 or tip if no revision is checked out. 2653 or tip if no revision is checked out.
2654 2654
2655 To facilitate version control, distribution, and merging of tags, 2655 To facilitate version control, distribution, and merging of tags,
2656 they are stored as a file named ".hgtags" which is managed 2656 they are stored as a file named ".hgtags" which is managed
2657 similarly to other project files and can be hand-edited if 2657 similarly to other project files and can be hand-edited if
2658 necessary. The file '.hg/localtags' is used for local tags (not 2658 necessary. The file '.hg/localtags' is used for local tags (not
2659 shared among repositories). 2659 shared among repositories).
2660 2660
2661 See 'hg help dates' for a list of formats valid for -d/--date. 2661 See 'hg help dates' for a list of formats valid for -d/--date.
2662 """ 2662 """
2663 2663