Mercurial > public > mercurial-scm > hg
annotate mercurial/commands.py @ 6182:07f2236c4dee
add a blame alias for annotate
The original cvs command was called blame. SVN has both, and other VC systems
typically also have this as an alias. Makes things easier for converts.
author | Dirkjan Ochtman <dirkjan@ochtman.nl> |
---|---|
date | Thu, 28 Feb 2008 19:08:04 +0100 |
parents | d98ef03893e6 |
children | 3b0c2b71e0d7 |
rev | line source |
---|---|
249 | 1 # commands.py - command processing for mercurial |
2 # | |
4635
63b9d2deed48
Updated copyright notices and add "and others" to "hg version"
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4614
diff
changeset
|
3 # Copyright 2005-2007 Matt Mackall <mpm@selenic.com> |
249 | 4 # |
5 # This software may be used and distributed according to the terms | |
6 # of the GNU General Public License, incorporated herein by reference. | |
7 | |
1092 | 8 from node import * |
3891 | 9 from i18n import _ |
5034
c0417a319e39
commands: move commit to cmdutil as wrapper for commit-like functions
Bryan O'Sullivan <bos@serpentine.com>
parents:
4967
diff
changeset
|
10 import os, re, sys, urllib |
5178
18a9fbb5cd78
dispatch: move command dispatching into its own module
Matt Mackall <mpm@selenic.com>
parents:
5177
diff
changeset
|
11 import hg, util, revlog, bundlerepo, extensions |
3877
abaee83ce0a6
Replace demandload with new demandimport
Matt Mackall <mpm@selenic.com>
parents:
3876
diff
changeset
|
12 import difflib, patch, time, help, mdiff, tempfile |
4549
0c61124ad877
dispatch: move dispatching code to cmdutil
Matt Mackall <mpm@selenic.com>
parents:
4548
diff
changeset
|
13 import errno, version, socket |
5775
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
14 import archival, changegroup, cmdutil, hgweb.server, sshserver, hbisect |
2731
ad4155e757da
Kill ui.setconfig_remoteopts
Matt Mackall <mpm@selenic.com>
parents:
2718
diff
changeset
|
15 |
255 | 16 # Commands start here, listed alphabetically |
209 | 17 |
724
1c0c413cccdd
Get add and locate to use new repo and dirstate walk code.
Bryan O'Sullivan <bos@serpentine.com>
parents:
723
diff
changeset
|
18 def add(ui, repo, *pats, **opts): |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
19 """add the specified files on the next commit |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
20 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
21 Schedule files to be version controlled and added to the repository. |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
22 |
3829
531c116b2028
Add doc notes about revert and hg status vs diff
Matt Mackall <mpm@selenic.com>
parents:
3822
diff
changeset
|
23 The files will be added to the repository at the next commit. To |
531c116b2028
Add doc notes about revert and hg status vs diff
Matt Mackall <mpm@selenic.com>
parents:
3822
diff
changeset
|
24 undo an add before that, see hg revert. |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
25 |
1568
1d7d0c07e8f3
make all commands be repo-wide by default
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1567
diff
changeset
|
26 If no names are given, add all files in the repository. |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
27 """ |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
28 |
5688
883d887c6408
commands: add exits(1) if a specified file cannot be added (issue 891)
Patrick Mezard <pmezard@gmail.com>
parents:
5660
diff
changeset
|
29 rejected = None |
883d887c6408
commands: add exits(1) if a specified file cannot be added (issue 891)
Patrick Mezard <pmezard@gmail.com>
parents:
5660
diff
changeset
|
30 exacts = {} |
724
1c0c413cccdd
Get add and locate to use new repo and dirstate walk code.
Bryan O'Sullivan <bos@serpentine.com>
parents:
723
diff
changeset
|
31 names = [] |
5688
883d887c6408
commands: add exits(1) if a specified file cannot be added (issue 891)
Patrick Mezard <pmezard@gmail.com>
parents:
5660
diff
changeset
|
32 for src, abs, rel, exact in cmdutil.walk(repo, pats, opts, |
883d887c6408
commands: add exits(1) if a specified file cannot be added (issue 891)
Patrick Mezard <pmezard@gmail.com>
parents:
5660
diff
changeset
|
33 badmatch=util.always): |
942
7eb8cbcca7c4
Modify commands.walk to yield a 4-tuple.
Bryan O'Sullivan <bos@serpentine.com>
parents:
940
diff
changeset
|
34 if exact: |
1615
83238c1db6de
Cleanup of indentation, spacing, newlines, strings and line length
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1607
diff
changeset
|
35 if ui.verbose: |
83238c1db6de
Cleanup of indentation, spacing, newlines, strings and line length
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1607
diff
changeset
|
36 ui.status(_('adding %s\n') % rel) |
724
1c0c413cccdd
Get add and locate to use new repo and dirstate walk code.
Bryan O'Sullivan <bos@serpentine.com>
parents:
723
diff
changeset
|
37 names.append(abs) |
5688
883d887c6408
commands: add exits(1) if a specified file cannot be added (issue 891)
Patrick Mezard <pmezard@gmail.com>
parents:
5660
diff
changeset
|
38 exacts[abs] = 1 |
4906
30847b8af7ca
dirstate: add __contains__ and make __getitem__ more useful
Matt Mackall <mpm@selenic.com>
parents:
4904
diff
changeset
|
39 elif abs not in repo.dirstate: |
1402
9d2c2e6b32b5
i18n part2: use '_' for all strings who are part of the user interface
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1400
diff
changeset
|
40 ui.status(_('adding %s\n') % rel) |
724
1c0c413cccdd
Get add and locate to use new repo and dirstate walk code.
Bryan O'Sullivan <bos@serpentine.com>
parents:
723
diff
changeset
|
41 names.append(abs) |
2503
37655f10ced6
Don't require opts['dry_run'] to be set to fix external tools like tailor.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2494
diff
changeset
|
42 if not opts.get('dry_run'): |
5688
883d887c6408
commands: add exits(1) if a specified file cannot be added (issue 891)
Patrick Mezard <pmezard@gmail.com>
parents:
5660
diff
changeset
|
43 rejected = repo.add(names) |
883d887c6408
commands: add exits(1) if a specified file cannot be added (issue 891)
Patrick Mezard <pmezard@gmail.com>
parents:
5660
diff
changeset
|
44 rejected = [p for p in rejected if p in exacts] |
883d887c6408
commands: add exits(1) if a specified file cannot be added (issue 891)
Patrick Mezard <pmezard@gmail.com>
parents:
5660
diff
changeset
|
45 return rejected and 1 or 0 |
213 | 46 |
766
b444a7e053f1
Get addremove to use new walk code.
Bryan O'Sullivan <bos@serpentine.com>
parents:
764
diff
changeset
|
47 def addremove(ui, repo, *pats, **opts): |
3181
3637d5d17cbc
Documentation fixes for addremove.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3172
diff
changeset
|
48 """add all new files, delete all missing files |
2181
690da72b0b16
deprecate addremove command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2179
diff
changeset
|
49 |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
50 Add all new files and remove all missing files from the repository. |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
51 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
52 New files are ignored if they match any of the patterns in .hgignore. As |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
53 with add, these changes take effect at the next commit. |
2958
ff3ea21a981a
addremove: add -s/--similarity option
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2956
diff
changeset
|
54 |
ff3ea21a981a
addremove: add -s/--similarity option
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2956
diff
changeset
|
55 Use the -s option to detect renamed files. With a parameter > 0, |
ff3ea21a981a
addremove: add -s/--similarity option
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2956
diff
changeset
|
56 this compares every removed file with every added file and records |
ff3ea21a981a
addremove: add -s/--similarity option
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2956
diff
changeset
|
57 those similar enough as renames. This option takes a percentage |
ff3ea21a981a
addremove: add -s/--similarity option
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2956
diff
changeset
|
58 between 0 (disabled) and 100 (files must be identical) as its |
ff3ea21a981a
addremove: add -s/--similarity option
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2956
diff
changeset
|
59 parameter. Detecting renamed files this way can be expensive. |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
60 """ |
4966
8d982aef0be1
addremove: print meaningful error message if --similar not numeric
Bryan O'Sullivan <bos@serpentine.com>
parents:
4950
diff
changeset
|
61 try: |
8d982aef0be1
addremove: print meaningful error message if --similar not numeric
Bryan O'Sullivan <bos@serpentine.com>
parents:
4950
diff
changeset
|
62 sim = float(opts.get('similarity') or 0) |
8d982aef0be1
addremove: print meaningful error message if --similar not numeric
Bryan O'Sullivan <bos@serpentine.com>
parents:
4950
diff
changeset
|
63 except ValueError: |
8d982aef0be1
addremove: print meaningful error message if --similar not numeric
Bryan O'Sullivan <bos@serpentine.com>
parents:
4950
diff
changeset
|
64 raise util.Abort(_('similarity must be a number')) |
2958
ff3ea21a981a
addremove: add -s/--similarity option
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2956
diff
changeset
|
65 if sim < 0 or sim > 100: |
ff3ea21a981a
addremove: add -s/--similarity option
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2956
diff
changeset
|
66 raise util.Abort(_('similarity must be between 0 and 100')) |
ff3ea21a981a
addremove: add -s/--similarity option
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2956
diff
changeset
|
67 return cmdutil.addremove(repo, pats, opts, similarity=sim/100.) |
219
8ff4532376a4
hg checkout: refuse to checkout if there are outstanding changes
mpm@selenic.com
parents:
214
diff
changeset
|
68 |
733
1966c553f652
Convert annotate over to walk interface.
Bryan O'Sullivan <bos@serpentine.com>
parents:
732
diff
changeset
|
69 def annotate(ui, repo, *pats, **opts): |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
70 """show changeset information per file line |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
71 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
72 List changes in files, showing the revision id responsible for each line |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
73 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
74 This command is useful to discover who did a change or when a change took |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
75 place. |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
76 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
77 Without the -a option, annotate will avoid processing files it |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
78 detects as binary. With -a, annotate will generate an annotation |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
79 anyway, probably with undesirable results. |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
80 """ |
6134
7b937b26adf7
Make annotae/grep print short dates with -q/--quiet.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6133
diff
changeset
|
81 datefunc = ui.quiet and util.shortdate or util.datestr |
7b937b26adf7
Make annotae/grep print short dates with -q/--quiet.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6133
diff
changeset
|
82 getdate = util.cachefunc(lambda x: datefunc(x[0].date())) |
1522 | 83 |
744 | 84 if not pats: |
1402
9d2c2e6b32b5
i18n part2: use '_' for all strings who are part of the user interface
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1400
diff
changeset
|
85 raise util.Abort(_('at least one file name or pattern required')) |
744 | 86 |
4857
2192001e4bb4
Add --line-number option to hg annotate (issue506)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4849
diff
changeset
|
87 opmap = [('user', lambda x: ui.shortuser(x[0].user())), |
2192001e4bb4
Add --line-number option to hg annotate (issue506)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4849
diff
changeset
|
88 ('number', lambda x: str(x[0].rev())), |
2192001e4bb4
Add --line-number option to hg annotate (issue506)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4849
diff
changeset
|
89 ('changeset', lambda x: short(x[0].node())), |
2192001e4bb4
Add --line-number option to hg annotate (issue506)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4849
diff
changeset
|
90 ('date', getdate), |
2192001e4bb4
Add --line-number option to hg annotate (issue506)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4849
diff
changeset
|
91 ('follow', lambda x: x[0].path()), |
2192001e4bb4
Add --line-number option to hg annotate (issue506)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4849
diff
changeset
|
92 ] |
2192001e4bb4
Add --line-number option to hg annotate (issue506)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4849
diff
changeset
|
93 |
3172
5c93dd0ae413
Refactor annotate copy support.
Brendan Cully <brendan@kublai.com>
parents:
3159
diff
changeset
|
94 if (not opts['user'] and not opts['changeset'] and not opts['date'] |
5c93dd0ae413
Refactor annotate copy support.
Brendan Cully <brendan@kublai.com>
parents:
3159
diff
changeset
|
95 and not opts['follow']): |
714
29fcd195e056
Some cleanups in commands.annotate().
Thomas Arendsen Hein <thomas@intevation.de>
parents:
712
diff
changeset
|
96 opts['number'] = 1 |
209 | 97 |
4857
2192001e4bb4
Add --line-number option to hg annotate (issue506)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4849
diff
changeset
|
98 linenumber = opts.get('line_number') is not None |
2192001e4bb4
Add --line-number option to hg annotate (issue506)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4849
diff
changeset
|
99 if (linenumber and (not opts['changeset']) and (not opts['number'])): |
2192001e4bb4
Add --line-number option to hg annotate (issue506)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4849
diff
changeset
|
100 raise util.Abort(_('at least one of -n/-c is required for -l')) |
2192001e4bb4
Add --line-number option to hg annotate (issue506)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4849
diff
changeset
|
101 |
2192001e4bb4
Add --line-number option to hg annotate (issue506)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4849
diff
changeset
|
102 funcmap = [func for op, func in opmap if opts.get(op)] |
2192001e4bb4
Add --line-number option to hg annotate (issue506)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4849
diff
changeset
|
103 if linenumber: |
2192001e4bb4
Add --line-number option to hg annotate (issue506)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4849
diff
changeset
|
104 lastfunc = funcmap[-1] |
2192001e4bb4
Add --line-number option to hg annotate (issue506)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4849
diff
changeset
|
105 funcmap[-1] = lambda x: "%s:%s" % (lastfunc(x), x[1]) |
2192001e4bb4
Add --line-number option to hg annotate (issue506)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4849
diff
changeset
|
106 |
3132
81da3c45aabd
Move defaultrev into changectx
Brendan Cully <brendan@kublai.com>
parents:
3095
diff
changeset
|
107 ctx = repo.changectx(opts['rev']) |
1016 | 108 |
2882
cf98cd70d2c4
move walk and matchpats from commands to cmdutil.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2878
diff
changeset
|
109 for src, abs, rel, exact in cmdutil.walk(repo, pats, opts, |
cf98cd70d2c4
move walk and matchpats from commands to cmdutil.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2878
diff
changeset
|
110 node=ctx.node()): |
2566
d8560b458f76
Convert hg annotate to context api
Matt Mackall <mpm@selenic.com>
parents:
2565
diff
changeset
|
111 fctx = ctx.filectx(abs) |
d8560b458f76
Convert hg annotate to context api
Matt Mackall <mpm@selenic.com>
parents:
2565
diff
changeset
|
112 if not opts['text'] and util.binary(fctx.data()): |
1625
e1bcf7fa983f
correct the relative path when walking from a subdir
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1622
diff
changeset
|
113 ui.write(_("%s: binary file\n") % ((pats and rel) or abs)) |
1016 | 114 continue |
115 | |
4857
2192001e4bb4
Add --line-number option to hg annotate (issue506)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4849
diff
changeset
|
116 lines = fctx.annotate(follow=opts.get('follow'), |
2192001e4bb4
Add --line-number option to hg annotate (issue506)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4849
diff
changeset
|
117 linenumber=linenumber) |
209 | 118 pieces = [] |
119 | |
4857
2192001e4bb4
Add --line-number option to hg annotate (issue506)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4849
diff
changeset
|
120 for f in funcmap: |
2192001e4bb4
Add --line-number option to hg annotate (issue506)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4849
diff
changeset
|
121 l = [f(n) for n, dummy in lines] |
2192001e4bb4
Add --line-number option to hg annotate (issue506)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4849
diff
changeset
|
122 if l: |
2192001e4bb4
Add --line-number option to hg annotate (issue506)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4849
diff
changeset
|
123 m = max(map(len, l)) |
2192001e4bb4
Add --line-number option to hg annotate (issue506)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4849
diff
changeset
|
124 pieces.append(["%*s" % (m, x) for x in l]) |
209 | 125 |
771 | 126 if pieces: |
127 for p, l in zip(zip(*pieces), lines): | |
128 ui.write("%s: %s" % (" ".join(p), l[1])) | |
209 | 129 |
2112
2b03c6733efa
add "archive" command, like "cvs export" only better.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2092
diff
changeset
|
130 def archive(ui, repo, dest, **opts): |
2b03c6733efa
add "archive" command, like "cvs export" only better.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2092
diff
changeset
|
131 '''create unversioned archive of a repository revision |
2b03c6733efa
add "archive" command, like "cvs export" only better.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2092
diff
changeset
|
132 |
2b03c6733efa
add "archive" command, like "cvs export" only better.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2092
diff
changeset
|
133 By default, the revision used is the parent of the working |
2b03c6733efa
add "archive" command, like "cvs export" only better.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2092
diff
changeset
|
134 directory; use "-r" to specify a different revision. |
2b03c6733efa
add "archive" command, like "cvs export" only better.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2092
diff
changeset
|
135 |
2b03c6733efa
add "archive" command, like "cvs export" only better.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2092
diff
changeset
|
136 To specify the type of archive to create, use "-t". Valid |
2b03c6733efa
add "archive" command, like "cvs export" only better.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2092
diff
changeset
|
137 types are: |
2b03c6733efa
add "archive" command, like "cvs export" only better.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2092
diff
changeset
|
138 |
2b03c6733efa
add "archive" command, like "cvs export" only better.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2092
diff
changeset
|
139 "files" (default): a directory full of files |
2b03c6733efa
add "archive" command, like "cvs export" only better.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2092
diff
changeset
|
140 "tar": tar archive, uncompressed |
2b03c6733efa
add "archive" command, like "cvs export" only better.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2092
diff
changeset
|
141 "tbz2": tar archive, compressed using bzip2 |
2b03c6733efa
add "archive" command, like "cvs export" only better.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2092
diff
changeset
|
142 "tgz": tar archive, compressed using gzip |
2b03c6733efa
add "archive" command, like "cvs export" only better.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2092
diff
changeset
|
143 "uzip": zip archive, uncompressed |
2b03c6733efa
add "archive" command, like "cvs export" only better.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2092
diff
changeset
|
144 "zip": zip archive, compressed using deflate |
2b03c6733efa
add "archive" command, like "cvs export" only better.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2092
diff
changeset
|
145 |
2b03c6733efa
add "archive" command, like "cvs export" only better.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2092
diff
changeset
|
146 The exact name of the destination archive or directory is given |
2b03c6733efa
add "archive" command, like "cvs export" only better.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2092
diff
changeset
|
147 using a format string; see "hg help export" for details. |
2b03c6733efa
add "archive" command, like "cvs export" only better.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2092
diff
changeset
|
148 |
2b03c6733efa
add "archive" command, like "cvs export" only better.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2092
diff
changeset
|
149 Each member added to an archive file has a directory prefix |
2b03c6733efa
add "archive" command, like "cvs export" only better.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2092
diff
changeset
|
150 prepended. Use "-p" to specify a format string for the prefix. |
2b03c6733efa
add "archive" command, like "cvs export" only better.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2092
diff
changeset
|
151 The default is the basename of the archive, with suffixes removed. |
2b03c6733efa
add "archive" command, like "cvs export" only better.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2092
diff
changeset
|
152 ''' |
2b03c6733efa
add "archive" command, like "cvs export" only better.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2092
diff
changeset
|
153 |
5061
a49f2a4d5ff7
archive: abort on empty repository. Fixes #624.
Brendan Cully <brendan@kublai.com>
parents:
4966
diff
changeset
|
154 ctx = repo.changectx(opts['rev']) |
a49f2a4d5ff7
archive: abort on empty repository. Fixes #624.
Brendan Cully <brendan@kublai.com>
parents:
4966
diff
changeset
|
155 if not ctx: |
a49f2a4d5ff7
archive: abort on empty repository. Fixes #624.
Brendan Cully <brendan@kublai.com>
parents:
4966
diff
changeset
|
156 raise util.Abort(_('repository has no revisions')) |
a49f2a4d5ff7
archive: abort on empty repository. Fixes #624.
Brendan Cully <brendan@kublai.com>
parents:
4966
diff
changeset
|
157 node = ctx.node() |
2874
4ec58b157265
refactor text diff/patch code.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2871
diff
changeset
|
158 dest = cmdutil.make_filename(repo, dest, node) |
2112
2b03c6733efa
add "archive" command, like "cvs export" only better.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2092
diff
changeset
|
159 if os.path.realpath(dest) == repo.root: |
2b03c6733efa
add "archive" command, like "cvs export" only better.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2092
diff
changeset
|
160 raise util.Abort(_('repository root cannot be destination')) |
2882
cf98cd70d2c4
move walk and matchpats from commands to cmdutil.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2878
diff
changeset
|
161 dummy, matchfn, dummy = cmdutil.matchpats(repo, [], opts) |
2476
0f7e4a39d9af
archive: make "hg archive -t XXX -" to write to stdout
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2473
diff
changeset
|
162 kind = opts.get('type') or 'files' |
0f7e4a39d9af
archive: make "hg archive -t XXX -" to write to stdout
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2473
diff
changeset
|
163 prefix = opts['prefix'] |
0f7e4a39d9af
archive: make "hg archive -t XXX -" to write to stdout
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2473
diff
changeset
|
164 if dest == '-': |
0f7e4a39d9af
archive: make "hg archive -t XXX -" to write to stdout
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2473
diff
changeset
|
165 if kind == 'files': |
0f7e4a39d9af
archive: make "hg archive -t XXX -" to write to stdout
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2473
diff
changeset
|
166 raise util.Abort(_('cannot archive plain files to stdout')) |
0f7e4a39d9af
archive: make "hg archive -t XXX -" to write to stdout
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2473
diff
changeset
|
167 dest = sys.stdout |
0f7e4a39d9af
archive: make "hg archive -t XXX -" to write to stdout
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2473
diff
changeset
|
168 if not prefix: prefix = os.path.basename(repo.root) + '-%h' |
2874
4ec58b157265
refactor text diff/patch code.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2871
diff
changeset
|
169 prefix = cmdutil.make_filename(repo, prefix, node) |
2476
0f7e4a39d9af
archive: make "hg archive -t XXX -" to write to stdout
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2473
diff
changeset
|
170 archival.archive(repo, dest, node, kind, not opts['no_decode'], |
0f7e4a39d9af
archive: make "hg archive -t XXX -" to write to stdout
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2473
diff
changeset
|
171 matchfn, prefix) |
2112
2b03c6733efa
add "archive" command, like "cvs export" only better.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2092
diff
changeset
|
172 |
4450
8fa54b9c6c5a
accept -r REV in more places
Daniel Holth <dholth@fastmail.fm>
parents:
4445
diff
changeset
|
173 def backout(ui, repo, node=None, rev=None, **opts): |
2158
ec96c4518236
add backout command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2153
diff
changeset
|
174 '''reverse effect of earlier changeset |
ec96c4518236
add backout command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2153
diff
changeset
|
175 |
2254
827fcfe88b14
backout command: better help.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2245
diff
changeset
|
176 Commit the backed out changes as a new changeset. The new |
827fcfe88b14
backout command: better help.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2245
diff
changeset
|
177 changeset is a child of the backed out changeset. |
2158
ec96c4518236
add backout command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2153
diff
changeset
|
178 |
ec96c4518236
add backout command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2153
diff
changeset
|
179 If you back out a changeset other than the tip, a new head is |
6161
bc1ba9124799
Reverse the way backout is doing the merge
Gilles Moris <gilles.moris@free.fr>
parents:
6146
diff
changeset
|
180 created. This head will be the new tip and you should merge this |
bc1ba9124799
Reverse the way backout is doing the merge
Gilles Moris <gilles.moris@free.fr>
parents:
6146
diff
changeset
|
181 backout changeset with another head (current one by default). |
2254
827fcfe88b14
backout command: better help.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2245
diff
changeset
|
182 |
827fcfe88b14
backout command: better help.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2245
diff
changeset
|
183 The --merge option remembers the parent of the working directory |
827fcfe88b14
backout command: better help.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2245
diff
changeset
|
184 before starting the backout, then merges the new head with that |
827fcfe88b14
backout command: better help.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2245
diff
changeset
|
185 changeset afterwards. This saves you from doing the merge by |
827fcfe88b14
backout command: better help.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2245
diff
changeset
|
186 hand. The result of this merge is not committed, as for a normal |
6163
1f733c2f0165
Document log date ranges and mention 'hg help dates' for all commands (issue998)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6161
diff
changeset
|
187 merge. |
1f733c2f0165
Document log date ranges and mention 'hg help dates' for all commands (issue998)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6161
diff
changeset
|
188 |
1f733c2f0165
Document log date ranges and mention 'hg help dates' for all commands (issue998)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6161
diff
changeset
|
189 See 'hg help dates' for a list of formats valid for -d/--date. |
1f733c2f0165
Document log date ranges and mention 'hg help dates' for all commands (issue998)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6161
diff
changeset
|
190 ''' |
4450
8fa54b9c6c5a
accept -r REV in more places
Daniel Holth <dholth@fastmail.fm>
parents:
4445
diff
changeset
|
191 if rev and node: |
8fa54b9c6c5a
accept -r REV in more places
Daniel Holth <dholth@fastmail.fm>
parents:
4445
diff
changeset
|
192 raise util.Abort(_("please specify just one revision")) |
8fa54b9c6c5a
accept -r REV in more places
Daniel Holth <dholth@fastmail.fm>
parents:
4445
diff
changeset
|
193 |
8fa54b9c6c5a
accept -r REV in more places
Daniel Holth <dholth@fastmail.fm>
parents:
4445
diff
changeset
|
194 if not rev: |
8fa54b9c6c5a
accept -r REV in more places
Daniel Holth <dholth@fastmail.fm>
parents:
4445
diff
changeset
|
195 rev = node |
2158
ec96c4518236
add backout command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2153
diff
changeset
|
196 |
4726
f6e961c0155b
Fix and test 'hg backout' without or with too many revisions.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4718
diff
changeset
|
197 if not rev: |
f6e961c0155b
Fix and test 'hg backout' without or with too many revisions.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4718
diff
changeset
|
198 raise util.Abort(_("please specify a revision to backout")) |
f6e961c0155b
Fix and test 'hg backout' without or with too many revisions.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4718
diff
changeset
|
199 |
6139
989467e8e3a9
Fix bad behaviour when specifying an invalid date (issue700)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6134
diff
changeset
|
200 date = opts.get('date') |
989467e8e3a9
Fix bad behaviour when specifying an invalid date (issue700)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6134
diff
changeset
|
201 if date: |
989467e8e3a9
Fix bad behaviour when specifying an invalid date (issue700)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6134
diff
changeset
|
202 opts['date'] = util.parsedate(date) |
989467e8e3a9
Fix bad behaviour when specifying an invalid date (issue700)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6134
diff
changeset
|
203 |
4549
0c61124ad877
dispatch: move dispatching code to cmdutil
Matt Mackall <mpm@selenic.com>
parents:
4548
diff
changeset
|
204 cmdutil.bail_if_changed(repo) |
5716
be367cbafe70
cmdutil: make bail_if_changed bail on uncommitted merge
Matt Mackall <mpm@selenic.com>
parents:
5688
diff
changeset
|
205 node = repo.lookup(rev) |
be367cbafe70
cmdutil: make bail_if_changed bail on uncommitted merge
Matt Mackall <mpm@selenic.com>
parents:
5688
diff
changeset
|
206 |
2158
ec96c4518236
add backout command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2153
diff
changeset
|
207 op1, op2 = repo.dirstate.parents() |
5568
de620356064f
backout: disallow across branches (issue655)
Matt Mackall <mpm@selenic.com>
parents:
5542
diff
changeset
|
208 a = repo.changelog.ancestor(op1, node) |
de620356064f
backout: disallow across branches (issue655)
Matt Mackall <mpm@selenic.com>
parents:
5542
diff
changeset
|
209 if a != node: |
de620356064f
backout: disallow across branches (issue655)
Matt Mackall <mpm@selenic.com>
parents:
5542
diff
changeset
|
210 raise util.Abort(_('cannot back out change on a different branch')) |
de620356064f
backout: disallow across branches (issue655)
Matt Mackall <mpm@selenic.com>
parents:
5542
diff
changeset
|
211 |
2614
8ba1c31f6864
backout: allow backout of merge changeset with --parent option.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2613
diff
changeset
|
212 p1, p2 = repo.changelog.parents(node) |
8ba1c31f6864
backout: allow backout of merge changeset with --parent option.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2613
diff
changeset
|
213 if p1 == nullid: |
2158
ec96c4518236
add backout command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2153
diff
changeset
|
214 raise util.Abort(_('cannot back out a change with no parents')) |
ec96c4518236
add backout command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2153
diff
changeset
|
215 if p2 != nullid: |
2614
8ba1c31f6864
backout: allow backout of merge changeset with --parent option.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2613
diff
changeset
|
216 if not opts['parent']: |
8ba1c31f6864
backout: allow backout of merge changeset with --parent option.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2613
diff
changeset
|
217 raise util.Abort(_('cannot back out a merge changeset without ' |
8ba1c31f6864
backout: allow backout of merge changeset with --parent option.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2613
diff
changeset
|
218 '--parent')) |
8ba1c31f6864
backout: allow backout of merge changeset with --parent option.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2613
diff
changeset
|
219 p = repo.lookup(opts['parent']) |
8ba1c31f6864
backout: allow backout of merge changeset with --parent option.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2613
diff
changeset
|
220 if p not in (p1, p2): |
3679
2956948b81f3
fix warnings generated by pygettext.py.
Marcos Chaves <marcos.nospam@gmail.com>
parents:
3673
diff
changeset
|
221 raise util.Abort(_('%s is not a parent of %s') % |
3680
69cf255a55a1
Indentation cleanups for 2956948b81f3.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3679
diff
changeset
|
222 (short(p), short(node))) |
2614
8ba1c31f6864
backout: allow backout of merge changeset with --parent option.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2613
diff
changeset
|
223 parent = p |
8ba1c31f6864
backout: allow backout of merge changeset with --parent option.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2613
diff
changeset
|
224 else: |
8ba1c31f6864
backout: allow backout of merge changeset with --parent option.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2613
diff
changeset
|
225 if opts['parent']: |
8ba1c31f6864
backout: allow backout of merge changeset with --parent option.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2613
diff
changeset
|
226 raise util.Abort(_('cannot use --parent on non-merge changeset')) |
8ba1c31f6864
backout: allow backout of merge changeset with --parent option.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2613
diff
changeset
|
227 parent = p1 |
5568
de620356064f
backout: disallow across branches (issue655)
Matt Mackall <mpm@selenic.com>
parents:
5542
diff
changeset
|
228 |
2808
30f59f4a327e
Introduce update helper functions: update, merge, clean, and revert
Matt Mackall <mpm@selenic.com>
parents:
2806
diff
changeset
|
229 hg.clean(repo, node, show_stats=False) |
2158
ec96c4518236
add backout command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2153
diff
changeset
|
230 revert_opts = opts.copy() |
3814
120be84f33de
Add --date support to update and revert
Matt Mackall <mpm@selenic.com>
parents:
3813
diff
changeset
|
231 revert_opts['date'] = None |
2982
890e285c52a1
revert: require --all to revert all files.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2963
diff
changeset
|
232 revert_opts['all'] = True |
2158
ec96c4518236
add backout command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2153
diff
changeset
|
233 revert_opts['rev'] = hex(parent) |
6031
7383384793fb
revert: don't assume ignored files will be returned in the unknown list
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6030
diff
changeset
|
234 revert_opts['no_backup'] = None |
2158
ec96c4518236
add backout command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2153
diff
changeset
|
235 revert(ui, repo, **revert_opts) |
ec96c4518236
add backout command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2153
diff
changeset
|
236 commit_opts = opts.copy() |
ec96c4518236
add backout command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2153
diff
changeset
|
237 commit_opts['addremove'] = False |
2159
5c34b98ad6b1
Small cleanups to backout command:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2158
diff
changeset
|
238 if not commit_opts['message'] and not commit_opts['logfile']: |
4718
934275cd4526
backout: report short hash in commit message
Matt Mackall <mpm@selenic.com>
parents:
4699
diff
changeset
|
239 commit_opts['message'] = _("Backed out changeset %s") % (short(node)) |
2268
6c9305fbebaf
fix coding style of backout editor change.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2267
diff
changeset
|
240 commit_opts['force_editor'] = True |
2158
ec96c4518236
add backout command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2153
diff
changeset
|
241 commit(ui, repo, **commit_opts) |
ec96c4518236
add backout command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2153
diff
changeset
|
242 def nice(node): |
ec96c4518236
add backout command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2153
diff
changeset
|
243 return '%d:%s' % (repo.changelog.rev(node), short(node)) |
ec96c4518236
add backout command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2153
diff
changeset
|
244 ui.status(_('changeset %s backs out changeset %s\n') % |
ec96c4518236
add backout command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2153
diff
changeset
|
245 (nice(repo.changelog.tip()), nice(node))) |
2493
9c660e691e90
print message after backout that tells that backout adds new head.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2482
diff
changeset
|
246 if op1 != node: |
6161
bc1ba9124799
Reverse the way backout is doing the merge
Gilles Moris <gilles.moris@free.fr>
parents:
6146
diff
changeset
|
247 hg.clean(repo, op1, show_stats=False) |
2493
9c660e691e90
print message after backout that tells that backout adds new head.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2482
diff
changeset
|
248 if opts['merge']: |
6161
bc1ba9124799
Reverse the way backout is doing the merge
Gilles Moris <gilles.moris@free.fr>
parents:
6146
diff
changeset
|
249 ui.status(_('merging with changeset %s\n') % nice(repo.changelog.tip())) |
bc1ba9124799
Reverse the way backout is doing the merge
Gilles Moris <gilles.moris@free.fr>
parents:
6146
diff
changeset
|
250 hg.merge(repo, hex(repo.changelog.tip())) |
2493
9c660e691e90
print message after backout that tells that backout adds new head.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2482
diff
changeset
|
251 else: |
9c660e691e90
print message after backout that tells that backout adds new head.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2482
diff
changeset
|
252 ui.status(_('the backout changeset is a new head - ' |
9c660e691e90
print message after backout that tells that backout adds new head.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2482
diff
changeset
|
253 'do not forget to merge\n')) |
2761
0aa458261901
fix hg backup option recommendation for auto-merge
Christian Ebert <blacktrash@gmx.net>
parents:
2760
diff
changeset
|
254 ui.status(_('(use "backout --merge" ' |
0aa458261901
fix hg backup option recommendation for auto-merge
Christian Ebert <blacktrash@gmx.net>
parents:
2760
diff
changeset
|
255 'if you want to auto-merge)\n')) |
2158
ec96c4518236
add backout command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2153
diff
changeset
|
256 |
5775
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
257 def bisect(ui, repo, rev=None, extra=None, |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
258 reset=None, good=None, bad=None, skip=None, noupdate=None): |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
259 """subdivision search of changesets |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
260 |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
261 This command helps to find changesets which introduce problems. |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
262 To use, mark the earliest changeset you know exhibits the problem |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
263 as bad, then mark the latest changeset which is free from the |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
264 problem as good. Bisect will update your working directory to a |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
265 revision for testing. Once you have performed tests, mark the |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
266 working directory as bad or good and bisect will either update to |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
267 another candidate changeset or announce that it has found the bad |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
268 revision. |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
269 """ |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
270 # backward compatibility |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
271 if rev in "good bad reset init".split(): |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
272 ui.warn(_("(use of 'hg bisect <cmd>' is deprecated)\n")) |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
273 cmd, rev, extra = rev, extra, None |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
274 if cmd == "good": |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
275 good = True |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
276 elif cmd == "bad": |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
277 bad = True |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
278 else: |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
279 reset = True |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
280 elif extra or good + bad + skip + reset > 1: |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
281 raise util.Abort("Incompatible arguments") |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
282 |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
283 if reset: |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
284 p = repo.join("bisect.state") |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
285 if os.path.exists(p): |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
286 os.unlink(p) |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
287 return |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
288 |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
289 # load state |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
290 state = {'good': [], 'bad': [], 'skip': []} |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
291 if os.path.exists(repo.join("bisect.state")): |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
292 for l in repo.opener("bisect.state"): |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
293 kind, node = l[:-1].split() |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
294 node = repo.lookup(node) |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
295 if kind not in state: |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
296 raise util.Abort(_("unknown bisect kind %s") % kind) |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
297 state[kind].append(node) |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
298 |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
299 # update state |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
300 node = repo.lookup(rev or '.') |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
301 if good: |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
302 state['good'].append(node) |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
303 elif bad: |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
304 state['bad'].append(node) |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
305 elif skip: |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
306 state['skip'].append(node) |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
307 |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
308 # save state |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
309 f = repo.opener("bisect.state", "w", atomictemp=True) |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
310 wlock = repo.wlock() |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
311 try: |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
312 for kind in state: |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
313 for node in state[kind]: |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
314 f.write("%s %s\n" % (kind, hg.hex(node))) |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
315 f.rename() |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
316 finally: |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
317 del wlock |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
318 |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
319 if not state['good'] or not state['bad']: |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
320 return |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
321 |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
322 # actually bisect |
5776
35ec669cdd43
bisect: handle search for bad to good transitions
Matt Mackall <mpm@selenic.com>
parents:
5775
diff
changeset
|
323 node, changesets, good = hbisect.bisect(repo.changelog, state) |
5775
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
324 if changesets == 0: |
5776
35ec669cdd43
bisect: handle search for bad to good transitions
Matt Mackall <mpm@selenic.com>
parents:
5775
diff
changeset
|
325 ui.write(_("The first %s revision is:\n") % (good and "good" or "bad")) |
5775
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
326 displayer = cmdutil.show_changeset(ui, repo, {}) |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
327 displayer.show(changenode=node) |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
328 elif node is not None: |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
329 # compute the approximate number of remaining tests |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
330 tests, size = 0, 2 |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
331 while size <= changesets: |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
332 tests, size = tests + 1, size * 2 |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
333 rev = repo.changelog.rev(node) |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
334 ui.write(_("Testing changeset %s:%s " |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
335 "(%s changesets remaining, ~%s tests)\n") |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
336 % (rev, hg.short(node), changesets, tests)) |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
337 if not noupdate: |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
338 cmdutil.bail_if_changed(repo) |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
339 return hg.clean(repo, node) |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
340 |
4202
b2873c587b1a
branch: require --force to shadow existing branches
Brendan Cully <brendan@kublai.com>
parents:
4200
diff
changeset
|
341 def branch(ui, repo, label=None, **opts): |
3502
8dc14d630b29
add branch and branches commands
Matt Mackall <mpm@selenic.com>
parents:
3472
diff
changeset
|
342 """set or show the current branch name |
8dc14d630b29
add branch and branches commands
Matt Mackall <mpm@selenic.com>
parents:
3472
diff
changeset
|
343 |
4601
e69da61e467e
Notify the user that hg branch does not create a branch until commit
Brendan Cully <brendan@kublai.com>
parents:
4593
diff
changeset
|
344 With no argument, show the current branch name. With one argument, |
e69da61e467e
Notify the user that hg branch does not create a branch until commit
Brendan Cully <brendan@kublai.com>
parents:
4593
diff
changeset
|
345 set the working directory branch name (the branch does not exist in |
e69da61e467e
Notify the user that hg branch does not create a branch until commit
Brendan Cully <brendan@kublai.com>
parents:
4593
diff
changeset
|
346 the repository until the next commit). |
4202
b2873c587b1a
branch: require --force to shadow existing branches
Brendan Cully <brendan@kublai.com>
parents:
4200
diff
changeset
|
347 |
b2873c587b1a
branch: require --force to shadow existing branches
Brendan Cully <brendan@kublai.com>
parents:
4200
diff
changeset
|
348 Unless --force is specified, branch will not let you set a |
b2873c587b1a
branch: require --force to shadow existing branches
Brendan Cully <brendan@kublai.com>
parents:
4200
diff
changeset
|
349 branch name that shadows an existing branch. |
5999
d1fe1a4eb2b7
Mention 'hg update' to switch branches in help for branch and branches.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5998
diff
changeset
|
350 |
d1fe1a4eb2b7
Mention 'hg update' to switch branches in help for branch and branches.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5998
diff
changeset
|
351 Use the command 'hg update' to switch to an existing branch. |
3502
8dc14d630b29
add branch and branches commands
Matt Mackall <mpm@selenic.com>
parents:
3472
diff
changeset
|
352 """ |
8dc14d630b29
add branch and branches commands
Matt Mackall <mpm@selenic.com>
parents:
3472
diff
changeset
|
353 |
4179
7e1c8a565a4f
Move branch read/write to dirstate where it belongs
Matt Mackall <mpm@selenic.com>
parents:
4176
diff
changeset
|
354 if label: |
4202
b2873c587b1a
branch: require --force to shadow existing branches
Brendan Cully <brendan@kublai.com>
parents:
4200
diff
changeset
|
355 if not opts.get('force') and label in repo.branchtags(): |
b2873c587b1a
branch: require --force to shadow existing branches
Brendan Cully <brendan@kublai.com>
parents:
4200
diff
changeset
|
356 if label not in [p.branch() for p in repo.workingctx().parents()]: |
b2873c587b1a
branch: require --force to shadow existing branches
Brendan Cully <brendan@kublai.com>
parents:
4200
diff
changeset
|
357 raise util.Abort(_('a branch of the same name already exists' |
b2873c587b1a
branch: require --force to shadow existing branches
Brendan Cully <brendan@kublai.com>
parents:
4200
diff
changeset
|
358 ' (use --force to override)')) |
4179
7e1c8a565a4f
Move branch read/write to dirstate where it belongs
Matt Mackall <mpm@selenic.com>
parents:
4176
diff
changeset
|
359 repo.dirstate.setbranch(util.fromlocal(label)) |
4601
e69da61e467e
Notify the user that hg branch does not create a branch until commit
Brendan Cully <brendan@kublai.com>
parents:
4593
diff
changeset
|
360 ui.status(_('marked working directory as branch %s\n') % label) |
3502
8dc14d630b29
add branch and branches commands
Matt Mackall <mpm@selenic.com>
parents:
3472
diff
changeset
|
361 else: |
4179
7e1c8a565a4f
Move branch read/write to dirstate where it belongs
Matt Mackall <mpm@selenic.com>
parents:
4176
diff
changeset
|
362 ui.write("%s\n" % util.tolocal(repo.dirstate.branch())) |
3502
8dc14d630b29
add branch and branches commands
Matt Mackall <mpm@selenic.com>
parents:
3472
diff
changeset
|
363 |
4675
6858a7477a5e
Change branches to sort 'active' branches first, and add an option to show only active branches.
Eric Hopper <hopper@omnifarious.org>
parents:
4667
diff
changeset
|
364 def branches(ui, repo, active=False): |
3502
8dc14d630b29
add branch and branches commands
Matt Mackall <mpm@selenic.com>
parents:
3472
diff
changeset
|
365 """list repository named branches |
8dc14d630b29
add branch and branches commands
Matt Mackall <mpm@selenic.com>
parents:
3472
diff
changeset
|
366 |
4675
6858a7477a5e
Change branches to sort 'active' branches first, and add an option to show only active branches.
Eric Hopper <hopper@omnifarious.org>
parents:
4667
diff
changeset
|
367 List the repository's named branches, indicating which ones are |
6858a7477a5e
Change branches to sort 'active' branches first, and add an option to show only active branches.
Eric Hopper <hopper@omnifarious.org>
parents:
4667
diff
changeset
|
368 inactive. If active is specified, only show active branches. |
6858a7477a5e
Change branches to sort 'active' branches first, and add an option to show only active branches.
Eric Hopper <hopper@omnifarious.org>
parents:
4667
diff
changeset
|
369 |
6858a7477a5e
Change branches to sort 'active' branches first, and add an option to show only active branches.
Eric Hopper <hopper@omnifarious.org>
parents:
4667
diff
changeset
|
370 A branch is considered active if it contains unmerged heads. |
5999
d1fe1a4eb2b7
Mention 'hg update' to switch branches in help for branch and branches.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5998
diff
changeset
|
371 |
d1fe1a4eb2b7
Mention 'hg update' to switch branches in help for branch and branches.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5998
diff
changeset
|
372 Use the command 'hg update' to switch to an existing branch. |
3502
8dc14d630b29
add branch and branches commands
Matt Mackall <mpm@selenic.com>
parents:
3472
diff
changeset
|
373 """ |
8dc14d630b29
add branch and branches commands
Matt Mackall <mpm@selenic.com>
parents:
3472
diff
changeset
|
374 b = repo.branchtags() |
4675
6858a7477a5e
Change branches to sort 'active' branches first, and add an option to show only active branches.
Eric Hopper <hopper@omnifarious.org>
parents:
4667
diff
changeset
|
375 heads = dict.fromkeys(repo.heads(), 1) |
6858a7477a5e
Change branches to sort 'active' branches first, and add an option to show only active branches.
Eric Hopper <hopper@omnifarious.org>
parents:
4667
diff
changeset
|
376 l = [((n in heads), repo.changelog.rev(n), n, t) for t, n in b.items()] |
3502
8dc14d630b29
add branch and branches commands
Matt Mackall <mpm@selenic.com>
parents:
3472
diff
changeset
|
377 l.sort() |
4675
6858a7477a5e
Change branches to sort 'active' branches first, and add an option to show only active branches.
Eric Hopper <hopper@omnifarious.org>
parents:
4667
diff
changeset
|
378 l.reverse() |
6858a7477a5e
Change branches to sort 'active' branches first, and add an option to show only active branches.
Eric Hopper <hopper@omnifarious.org>
parents:
4667
diff
changeset
|
379 for ishead, r, n, t in l: |
6858a7477a5e
Change branches to sort 'active' branches first, and add an option to show only active branches.
Eric Hopper <hopper@omnifarious.org>
parents:
4667
diff
changeset
|
380 if active and not ishead: |
6858a7477a5e
Change branches to sort 'active' branches first, and add an option to show only active branches.
Eric Hopper <hopper@omnifarious.org>
parents:
4667
diff
changeset
|
381 # If we're only displaying active branches, abort the loop on |
6858a7477a5e
Change branches to sort 'active' branches first, and add an option to show only active branches.
Eric Hopper <hopper@omnifarious.org>
parents:
4667
diff
changeset
|
382 # encountering the first inactive head |
6858a7477a5e
Change branches to sort 'active' branches first, and add an option to show only active branches.
Eric Hopper <hopper@omnifarious.org>
parents:
4667
diff
changeset
|
383 break |
3502
8dc14d630b29
add branch and branches commands
Matt Mackall <mpm@selenic.com>
parents:
3472
diff
changeset
|
384 else: |
4675
6858a7477a5e
Change branches to sort 'active' branches first, and add an option to show only active branches.
Eric Hopper <hopper@omnifarious.org>
parents:
4667
diff
changeset
|
385 hexfunc = ui.debugflag and hex or short |
6858a7477a5e
Change branches to sort 'active' branches first, and add an option to show only active branches.
Eric Hopper <hopper@omnifarious.org>
parents:
4667
diff
changeset
|
386 if ui.quiet: |
6858a7477a5e
Change branches to sort 'active' branches first, and add an option to show only active branches.
Eric Hopper <hopper@omnifarious.org>
parents:
4667
diff
changeset
|
387 ui.write("%s\n" % t) |
6858a7477a5e
Change branches to sort 'active' branches first, and add an option to show only active branches.
Eric Hopper <hopper@omnifarious.org>
parents:
4667
diff
changeset
|
388 else: |
6858a7477a5e
Change branches to sort 'active' branches first, and add an option to show only active branches.
Eric Hopper <hopper@omnifarious.org>
parents:
4667
diff
changeset
|
389 spaces = " " * (30 - util.locallen(t)) |
6858a7477a5e
Change branches to sort 'active' branches first, and add an option to show only active branches.
Eric Hopper <hopper@omnifarious.org>
parents:
4667
diff
changeset
|
390 # The code only gets here if inactive branches are being |
6858a7477a5e
Change branches to sort 'active' branches first, and add an option to show only active branches.
Eric Hopper <hopper@omnifarious.org>
parents:
4667
diff
changeset
|
391 # displayed or the branch is active. |
6858a7477a5e
Change branches to sort 'active' branches first, and add an option to show only active branches.
Eric Hopper <hopper@omnifarious.org>
parents:
4667
diff
changeset
|
392 isinactive = ((not ishead) and " (inactive)") or '' |
6858a7477a5e
Change branches to sort 'active' branches first, and add an option to show only active branches.
Eric Hopper <hopper@omnifarious.org>
parents:
4667
diff
changeset
|
393 ui.write("%s%s %s:%s%s\n" % (t, spaces, r, hexfunc(n), isinactive)) |
3502
8dc14d630b29
add branch and branches commands
Matt Mackall <mpm@selenic.com>
parents:
3472
diff
changeset
|
394 |
2494
73ac95671788
push, outgoing, bundle: fall back to "default" if "default-push" not defined
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2493
diff
changeset
|
395 def bundle(ui, repo, fname, dest=None, **opts): |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
396 """create a changegroup file |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
397 |
3511
aa8f086cb141
Corrected help text for bundle.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3510
diff
changeset
|
398 Generate a compressed changegroup file collecting changesets not |
aa8f086cb141
Corrected help text for bundle.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3510
diff
changeset
|
399 found in the other repository. |
aa8f086cb141
Corrected help text for bundle.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3510
diff
changeset
|
400 |
6171
73b1de288801
Add --all option to bundle command
John Mulligan <phlogistonjohn@yahoo.com>
parents:
6163
diff
changeset
|
401 If no destination repository is specified the destination is |
73b1de288801
Add --all option to bundle command
John Mulligan <phlogistonjohn@yahoo.com>
parents:
6163
diff
changeset
|
402 assumed to have all the nodes specified by one or more --base |
73b1de288801
Add --all option to bundle command
John Mulligan <phlogistonjohn@yahoo.com>
parents:
6163
diff
changeset
|
403 parameters. To create a bundle containing all changesets, use |
73b1de288801
Add --all option to bundle command
John Mulligan <phlogistonjohn@yahoo.com>
parents:
6163
diff
changeset
|
404 --all (or --base null). |
3511
aa8f086cb141
Corrected help text for bundle.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3510
diff
changeset
|
405 |
aa8f086cb141
Corrected help text for bundle.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3510
diff
changeset
|
406 The bundle file can then be transferred using conventional means and |
aa8f086cb141
Corrected help text for bundle.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3510
diff
changeset
|
407 applied to another repository with the unbundle or pull command. |
aa8f086cb141
Corrected help text for bundle.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3510
diff
changeset
|
408 This is useful when direct push and pull are not available or when |
aa8f086cb141
Corrected help text for bundle.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3510
diff
changeset
|
409 exporting an entire repository is undesirable. |
aa8f086cb141
Corrected help text for bundle.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3510
diff
changeset
|
410 |
aa8f086cb141
Corrected help text for bundle.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3510
diff
changeset
|
411 Applying bundles preserves all changeset contents including |
aa8f086cb141
Corrected help text for bundle.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3510
diff
changeset
|
412 permissions, copy/rename information, and revision history. |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
413 """ |
3284
d89e98840b08
add -r/--rev and --base option to bundle
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3278
diff
changeset
|
414 revs = opts.get('rev') or None |
d89e98840b08
add -r/--rev and --base option to bundle
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3278
diff
changeset
|
415 if revs: |
d89e98840b08
add -r/--rev and --base option to bundle
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3278
diff
changeset
|
416 revs = [repo.lookup(rev) for rev in revs] |
6171
73b1de288801
Add --all option to bundle command
John Mulligan <phlogistonjohn@yahoo.com>
parents:
6163
diff
changeset
|
417 if opts.get('all'): |
73b1de288801
Add --all option to bundle command
John Mulligan <phlogistonjohn@yahoo.com>
parents:
6163
diff
changeset
|
418 base = ['null'] |
73b1de288801
Add --all option to bundle command
John Mulligan <phlogistonjohn@yahoo.com>
parents:
6163
diff
changeset
|
419 else: |
73b1de288801
Add --all option to bundle command
John Mulligan <phlogistonjohn@yahoo.com>
parents:
6163
diff
changeset
|
420 base = opts.get('base') |
3284
d89e98840b08
add -r/--rev and --base option to bundle
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3278
diff
changeset
|
421 if base: |
d89e98840b08
add -r/--rev and --base option to bundle
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3278
diff
changeset
|
422 if dest: |
d89e98840b08
add -r/--rev and --base option to bundle
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3278
diff
changeset
|
423 raise util.Abort(_("--base is incompatible with specifiying " |
d89e98840b08
add -r/--rev and --base option to bundle
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3278
diff
changeset
|
424 "a destination")) |
3318
a225055b3b59
bundle --base: use the right set for the base
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3284
diff
changeset
|
425 base = [repo.lookup(rev) for rev in base] |
a225055b3b59
bundle --base: use the right set for the base
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3284
diff
changeset
|
426 # create the right base |
a225055b3b59
bundle --base: use the right set for the base
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3284
diff
changeset
|
427 # XXX: nodesbetween / changegroup* should be "fixed" instead |
3284
d89e98840b08
add -r/--rev and --base option to bundle
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3278
diff
changeset
|
428 o = [] |
3649
e50891e461e4
Consolidate brinfo handling
Matt Mackall <mpm@selenic.com>
parents:
3645
diff
changeset
|
429 has = {nullid: None} |
3284
d89e98840b08
add -r/--rev and --base option to bundle
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3278
diff
changeset
|
430 for n in base: |
3631 | 431 has.update(repo.changelog.reachable(n)) |
3284
d89e98840b08
add -r/--rev and --base option to bundle
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3278
diff
changeset
|
432 if revs: |
3318
a225055b3b59
bundle --base: use the right set for the base
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3284
diff
changeset
|
433 visit = list(revs) |
3284
d89e98840b08
add -r/--rev and --base option to bundle
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3278
diff
changeset
|
434 else: |
3318
a225055b3b59
bundle --base: use the right set for the base
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3284
diff
changeset
|
435 visit = repo.changelog.heads() |
3631 | 436 seen = {} |
3318
a225055b3b59
bundle --base: use the right set for the base
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3284
diff
changeset
|
437 while visit: |
a225055b3b59
bundle --base: use the right set for the base
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3284
diff
changeset
|
438 n = visit.pop(0) |
3631 | 439 parents = [p for p in repo.changelog.parents(n) if p not in has] |
3318
a225055b3b59
bundle --base: use the right set for the base
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3284
diff
changeset
|
440 if len(parents) == 0: |
a225055b3b59
bundle --base: use the right set for the base
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3284
diff
changeset
|
441 o.insert(0, n) |
a225055b3b59
bundle --base: use the right set for the base
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3284
diff
changeset
|
442 else: |
3512
630e0b216192
fix graph traversal in commands.bundle (it wasn't O(n))
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3511
diff
changeset
|
443 for p in parents: |
630e0b216192
fix graph traversal in commands.bundle (it wasn't O(n))
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3511
diff
changeset
|
444 if p not in seen: |
3631 | 445 seen[p] = 1 |
3512
630e0b216192
fix graph traversal in commands.bundle (it wasn't O(n))
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3511
diff
changeset
|
446 visit.append(p) |
3284
d89e98840b08
add -r/--rev and --base option to bundle
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3278
diff
changeset
|
447 else: |
4549
0c61124ad877
dispatch: move dispatching code to cmdutil
Matt Mackall <mpm@selenic.com>
parents:
4548
diff
changeset
|
448 cmdutil.setremoteconfig(ui, opts) |
5248 | 449 dest, revs, checkout = hg.parseurl( |
4478
b2b55acbacdd
Add support for url#id syntax
Matt Mackall <mpm@selenic.com>
parents:
4474
diff
changeset
|
450 ui.expandpath(dest or 'default-push', dest or 'default'), revs) |
3284
d89e98840b08
add -r/--rev and --base option to bundle
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3278
diff
changeset
|
451 other = hg.repository(ui, dest) |
d89e98840b08
add -r/--rev and --base option to bundle
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3278
diff
changeset
|
452 o = repo.findoutgoing(other, force=opts['force']) |
d89e98840b08
add -r/--rev and --base option to bundle
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3278
diff
changeset
|
453 |
d89e98840b08
add -r/--rev and --base option to bundle
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3278
diff
changeset
|
454 if revs: |
d89e98840b08
add -r/--rev and --base option to bundle
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3278
diff
changeset
|
455 cg = repo.changegroupsubset(o, revs, 'bundle') |
d89e98840b08
add -r/--rev and --base option to bundle
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3278
diff
changeset
|
456 else: |
d89e98840b08
add -r/--rev and --base option to bundle
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3278
diff
changeset
|
457 cg = repo.changegroup(o, 'bundle') |
3704
9c1737a3e254
fix writebundle for bz2 bundles
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3680
diff
changeset
|
458 changegroup.writebundle(cg, fname, "HG10BZ") |
1218
cde6818e082a
Add preliminary support for the bundle and unbundle commands
mpm@selenic.com
parents:
1215
diff
changeset
|
459 |
1254
e6560042b7b8
Switch cat command to use walk code.
Bryan O'Sullivan <bos@serpentine.com>
parents:
1253
diff
changeset
|
460 def cat(ui, repo, file1, *pats, **opts): |
3914
283ee8971570
doc string fix: hg cat and manifest default to current parent revision.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3900
diff
changeset
|
461 """output the current or given revision of files |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
462 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
463 Print the specified files as they were at the given revision. |
3915
3c82ab166eea
doc fix: hg tags defaults to current parent revision, too.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3914
diff
changeset
|
464 If no revision is given, the parent of the working directory is used, |
3c82ab166eea
doc fix: hg tags defaults to current parent revision, too.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3914
diff
changeset
|
465 or tip if no revision is checked out. |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
466 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
467 Output may be to a file, in which case the name of the file is |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
468 given using a format string. The formatting rules are the same as |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
469 for the export command, with the following additions: |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
470 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
471 %s basename of file being printed |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
472 %d dirname of file being printed, or '.' if in repo root |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
473 %p root-relative path name of file being printed |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
474 """ |
3132
81da3c45aabd
Move defaultrev into changectx
Brendan Cully <brendan@kublai.com>
parents:
3095
diff
changeset
|
475 ctx = repo.changectx(opts['rev']) |
4697
5b2d986de0f8
cat: return an error on failure
Matt Mackall <mpm@selenic.com>
parents:
4692
diff
changeset
|
476 err = 1 |
2882
cf98cd70d2c4
move walk and matchpats from commands to cmdutil.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2878
diff
changeset
|
477 for src, abs, rel, exact in cmdutil.walk(repo, (file1,) + pats, opts, |
cf98cd70d2c4
move walk and matchpats from commands to cmdutil.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2878
diff
changeset
|
478 ctx.node()): |
2874
4ec58b157265
refactor text diff/patch code.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2871
diff
changeset
|
479 fp = cmdutil.make_file(repo, opts['output'], ctx.node(), pathname=abs) |
6093
f5b00b6e426a
Option --decode for hg cat to apply decode filters.
Jesse Glick <jesse.glick@sun.com>
parents:
6068
diff
changeset
|
480 data = ctx.filectx(abs).data() |
6094
3998c1b0828f
cat --decode: Drop short option, use opts.get() instead of opts[]
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6093
diff
changeset
|
481 if opts.get('decode'): |
6093
f5b00b6e426a
Option --decode for hg cat to apply decode filters.
Jesse Glick <jesse.glick@sun.com>
parents:
6068
diff
changeset
|
482 data = repo.wwritedata(abs, data) |
f5b00b6e426a
Option --decode for hg cat to apply decode filters.
Jesse Glick <jesse.glick@sun.com>
parents:
6068
diff
changeset
|
483 fp.write(data) |
4697
5b2d986de0f8
cat: return an error on failure
Matt Mackall <mpm@selenic.com>
parents:
4692
diff
changeset
|
484 err = 0 |
5b2d986de0f8
cat: return an error on failure
Matt Mackall <mpm@selenic.com>
parents:
4692
diff
changeset
|
485 return err |
248 | 486 |
698
df78d8ccac4c
Use python function instead of external 'cp' command when cloning repos.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
697
diff
changeset
|
487 def clone(ui, source, dest=None, **opts): |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
488 """make a copy of an existing repository |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
489 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
490 Create a copy of an existing repository in a new directory. |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
491 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
492 If no destination directory name is specified, it defaults to the |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
493 basename of the source. |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
494 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
495 The location of the source is added to the new repository's |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
496 .hg/hgrc file, as the default to be used for future pulls. |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
497 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
498 For efficiency, hardlinks are used for cloning whenever the source |
2762
2df98f616645
Expand clone help with hardlink information
Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
parents:
2761
diff
changeset
|
499 and destination are on the same filesystem (note this applies only |
2df98f616645
Expand clone help with hardlink information
Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
parents:
2761
diff
changeset
|
500 to the repository data, not to the checked out files). Some |
2df98f616645
Expand clone help with hardlink information
Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
parents:
2761
diff
changeset
|
501 filesystems, such as AFS, implement hardlinking incorrectly, but |
2df98f616645
Expand clone help with hardlink information
Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
parents:
2761
diff
changeset
|
502 do not report errors. In these cases, use the --pull option to |
2df98f616645
Expand clone help with hardlink information
Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
parents:
2761
diff
changeset
|
503 avoid hardlinking. |
2df98f616645
Expand clone help with hardlink information
Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
parents:
2761
diff
changeset
|
504 |
2df98f616645
Expand clone help with hardlink information
Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
parents:
2761
diff
changeset
|
505 You can safely clone repositories and checked out files using full |
2df98f616645
Expand clone help with hardlink information
Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
parents:
2761
diff
changeset
|
506 hardlinks with |
2df98f616645
Expand clone help with hardlink information
Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
parents:
2761
diff
changeset
|
507 |
2df98f616645
Expand clone help with hardlink information
Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
parents:
2761
diff
changeset
|
508 $ cp -al REPO REPOCLONE |
2df98f616645
Expand clone help with hardlink information
Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
parents:
2761
diff
changeset
|
509 |
2df98f616645
Expand clone help with hardlink information
Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
parents:
2761
diff
changeset
|
510 which is the fastest way to clone. However, the operation is not |
2df98f616645
Expand clone help with hardlink information
Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
parents:
2761
diff
changeset
|
511 atomic (making sure REPO is not modified during the operation is |
2df98f616645
Expand clone help with hardlink information
Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
parents:
2761
diff
changeset
|
512 up to you) and you have to make sure your editor breaks hardlinks |
2df98f616645
Expand clone help with hardlink information
Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
parents:
2761
diff
changeset
|
513 (Emacs and most Linux Kernel tools do so). |
1811
6cb548cffdf5
resync commands.py docstrings with hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1804
diff
changeset
|
514 |
2764
71029a3247cb
clone: replace long help string of inaky with doc comment.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2763
diff
changeset
|
515 If you use the -r option to clone up to a specific revision, no |
71029a3247cb
clone: replace long help string of inaky with doc comment.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2763
diff
changeset
|
516 subsequent revisions will be present in the cloned repository. |
71029a3247cb
clone: replace long help string of inaky with doc comment.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2763
diff
changeset
|
517 This option implies --pull, even on local repositories. |
71029a3247cb
clone: replace long help string of inaky with doc comment.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2763
diff
changeset
|
518 |
1811
6cb548cffdf5
resync commands.py docstrings with hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1804
diff
changeset
|
519 See pull for valid source format details. |
2590
911b56853fdd
Additional information about URLs in pull/push/clone/init:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2589
diff
changeset
|
520 |
911b56853fdd
Additional information about URLs in pull/push/clone/init:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2589
diff
changeset
|
521 It is possible to specify an ssh:// URL as the destination, but no |
3583
8ee579885d23
doc: clone doesn't create a working directory in remote repos
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3578
diff
changeset
|
522 .hg/hgrc and working directory will be created on the remote side. |
8ee579885d23
doc: clone doesn't create a working directory in remote repos
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3578
diff
changeset
|
523 Look at the help text for the pull command for important details |
8ee579885d23
doc: clone doesn't create a working directory in remote repos
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3578
diff
changeset
|
524 about ssh:// URLs. |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
525 """ |
4549
0c61124ad877
dispatch: move dispatching code to cmdutil
Matt Mackall <mpm@selenic.com>
parents:
4548
diff
changeset
|
526 cmdutil.setremoteconfig(ui, opts) |
4478
b2b55acbacdd
Add support for url#id syntax
Matt Mackall <mpm@selenic.com>
parents:
4474
diff
changeset
|
527 hg.clone(ui, source, dest, |
2597
5ba8be56fa8f
clone: move code into hg module. make doc better.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2590
diff
changeset
|
528 pull=opts['pull'], |
2620
de82749d3a71
clone: change name of --stream to --uncompressed.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2618
diff
changeset
|
529 stream=opts['uncompressed'], |
2597
5ba8be56fa8f
clone: move code into hg module. make doc better.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2590
diff
changeset
|
530 rev=opts['rev'], |
5ba8be56fa8f
clone: move code into hg module. make doc better.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2590
diff
changeset
|
531 update=not opts['noupdate']) |
515 | 532 |
813
80fd2958235a
Adapt commit to use file matching code.
Bryan O'Sullivan <bos@serpentine.com>
parents:
812
diff
changeset
|
533 def commit(ui, repo, *pats, **opts): |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
534 """commit the specified files or all outstanding changes |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
535 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
536 Commit changes to the given files into the repository. |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
537 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
538 If a list of files is omitted, all changes reported by "hg status" |
1995
2da2d46862fb
Spelling fix: "commited" -> "committed"
mcmillen@cs.cmu.edu
parents:
1994
diff
changeset
|
539 will be committed. |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
540 |
5660
3c80ecdc1bcd
Use VISUAL in addition to EDITOR when choosing the editor to use.
Osku Salerma <osku@iki.fi>
parents:
5658
diff
changeset
|
541 If no commit message is specified, the configured editor is started to |
3c80ecdc1bcd
Use VISUAL in addition to EDITOR when choosing the editor to use.
Osku Salerma <osku@iki.fi>
parents:
5658
diff
changeset
|
542 enter a message. |
6163
1f733c2f0165
Document log date ranges and mention 'hg help dates' for all commands (issue998)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6161
diff
changeset
|
543 |
1f733c2f0165
Document log date ranges and mention 'hg help dates' for all commands (issue998)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6161
diff
changeset
|
544 See 'hg help dates' for a list of formats valid for -d/--date. |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
545 """ |
5034
c0417a319e39
commands: move commit to cmdutil as wrapper for commit-like functions
Bryan O'Sullivan <bos@serpentine.com>
parents:
4967
diff
changeset
|
546 def commitfunc(ui, repo, files, message, match, opts): |
c0417a319e39
commands: move commit to cmdutil as wrapper for commit-like functions
Bryan O'Sullivan <bos@serpentine.com>
parents:
4967
diff
changeset
|
547 return repo.commit(files, message, opts['user'], opts['date'], match, |
c0417a319e39
commands: move commit to cmdutil as wrapper for commit-like functions
Bryan O'Sullivan <bos@serpentine.com>
parents:
4967
diff
changeset
|
548 force_editor=opts.get('force_editor')) |
c0417a319e39
commands: move commit to cmdutil as wrapper for commit-like functions
Bryan O'Sullivan <bos@serpentine.com>
parents:
4967
diff
changeset
|
549 cmdutil.commit(ui, repo, commitfunc, pats, opts) |
245 | 550 |
1253
a45e717c61a8
Add rename/mv command.
Bryan O'Sullivan <bos@serpentine.com>
parents:
1250
diff
changeset
|
551 def copy(ui, repo, *pats, **opts): |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
552 """mark files as copied for the next commit |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
553 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
554 Mark dest as having copies of source files. If dest is a |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
555 directory, copies are put in that directory. If dest is a file, |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
556 there can only be one source. |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
557 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
558 By default, this command copies the contents of files as they |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
559 stand in the working directory. If invoked with --after, the |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
560 operation is recorded, but no copying is performed. |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
561 |
3829
531c116b2028
Add doc notes about revert and hg status vs diff
Matt Mackall <mpm@selenic.com>
parents:
3822
diff
changeset
|
562 This command takes effect in the next commit. To undo a copy |
531c116b2028
Add doc notes about revert and hg status vs diff
Matt Mackall <mpm@selenic.com>
parents:
3822
diff
changeset
|
563 before that, see hg revert. |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
564 """ |
4914 | 565 wlock = repo.wlock(False) |
4915
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
566 try: |
5610
2493a478f395
copy: handle rename internally
Matt Mackall <mpm@selenic.com>
parents:
5589
diff
changeset
|
567 return cmdutil.copy(ui, repo, pats, opts) |
4915
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
568 finally: |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
569 del wlock |
363 | 570 |
6178
81afdd016867
debugancestor: make the index argument optional, defaulting to 00changelog.i
Bryan O'Sullivan <bos@serpentine.com>
parents:
6171
diff
changeset
|
571 def debugancestor(ui, *opts): |
1262 | 572 """find the ancestor revision of two revisions in a given index""" |
6178
81afdd016867
debugancestor: make the index argument optional, defaulting to 00changelog.i
Bryan O'Sullivan <bos@serpentine.com>
parents:
6171
diff
changeset
|
573 if len(opts) == 3: |
81afdd016867
debugancestor: make the index argument optional, defaulting to 00changelog.i
Bryan O'Sullivan <bos@serpentine.com>
parents:
6171
diff
changeset
|
574 index, rev1, rev2 = opts |
81afdd016867
debugancestor: make the index argument optional, defaulting to 00changelog.i
Bryan O'Sullivan <bos@serpentine.com>
parents:
6171
diff
changeset
|
575 r = revlog.revlog(util.opener(os.getcwd(), audit=False), index) |
81afdd016867
debugancestor: make the index argument optional, defaulting to 00changelog.i
Bryan O'Sullivan <bos@serpentine.com>
parents:
6171
diff
changeset
|
576 elif len(opts) == 2: |
81afdd016867
debugancestor: make the index argument optional, defaulting to 00changelog.i
Bryan O'Sullivan <bos@serpentine.com>
parents:
6171
diff
changeset
|
577 rev1, rev2 = opts |
81afdd016867
debugancestor: make the index argument optional, defaulting to 00changelog.i
Bryan O'Sullivan <bos@serpentine.com>
parents:
6171
diff
changeset
|
578 repo = hg.repository(ui) |
81afdd016867
debugancestor: make the index argument optional, defaulting to 00changelog.i
Bryan O'Sullivan <bos@serpentine.com>
parents:
6171
diff
changeset
|
579 r = repo.changelog |
81afdd016867
debugancestor: make the index argument optional, defaulting to 00changelog.i
Bryan O'Sullivan <bos@serpentine.com>
parents:
6171
diff
changeset
|
580 else: |
81afdd016867
debugancestor: make the index argument optional, defaulting to 00changelog.i
Bryan O'Sullivan <bos@serpentine.com>
parents:
6171
diff
changeset
|
581 raise util.Abort(_('either two or three arguments required')) |
1262 | 582 a = r.ancestor(r.lookup(rev1), r.lookup(rev2)) |
583 ui.write("%d:%s\n" % (r.rev(a), hex(a))) | |
584 | |
2034
5e7aff1b6ae1
add --options to debugcomplete and change bash_completion to use it
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2033
diff
changeset
|
585 def debugcomplete(ui, cmd='', **opts): |
1887
913397c27cd8
new command debugcomplete
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1875
diff
changeset
|
586 """returns the completion list associated with the given command""" |
2034
5e7aff1b6ae1
add --options to debugcomplete and change bash_completion to use it
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2033
diff
changeset
|
587 |
5e7aff1b6ae1
add --options to debugcomplete and change bash_completion to use it
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2033
diff
changeset
|
588 if opts['options']: |
5e7aff1b6ae1
add --options to debugcomplete and change bash_completion to use it
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2033
diff
changeset
|
589 options = [] |
5e7aff1b6ae1
add --options to debugcomplete and change bash_completion to use it
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2033
diff
changeset
|
590 otables = [globalopts] |
5e7aff1b6ae1
add --options to debugcomplete and change bash_completion to use it
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2033
diff
changeset
|
591 if cmd: |
5178
18a9fbb5cd78
dispatch: move command dispatching into its own module
Matt Mackall <mpm@selenic.com>
parents:
5177
diff
changeset
|
592 aliases, entry = cmdutil.findcmd(ui, cmd, table) |
2034
5e7aff1b6ae1
add --options to debugcomplete and change bash_completion to use it
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2033
diff
changeset
|
593 otables.append(entry[1]) |
5e7aff1b6ae1
add --options to debugcomplete and change bash_completion to use it
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2033
diff
changeset
|
594 for t in otables: |
5e7aff1b6ae1
add --options to debugcomplete and change bash_completion to use it
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2033
diff
changeset
|
595 for o in t: |
5e7aff1b6ae1
add --options to debugcomplete and change bash_completion to use it
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2033
diff
changeset
|
596 if o[0]: |
5e7aff1b6ae1
add --options to debugcomplete and change bash_completion to use it
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2033
diff
changeset
|
597 options.append('-%s' % o[0]) |
5e7aff1b6ae1
add --options to debugcomplete and change bash_completion to use it
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2033
diff
changeset
|
598 options.append('--%s' % o[1]) |
5e7aff1b6ae1
add --options to debugcomplete and change bash_completion to use it
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2033
diff
changeset
|
599 ui.write("%s\n" % "\n".join(options)) |
5e7aff1b6ae1
add --options to debugcomplete and change bash_completion to use it
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2033
diff
changeset
|
600 return |
5e7aff1b6ae1
add --options to debugcomplete and change bash_completion to use it
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2033
diff
changeset
|
601 |
5178
18a9fbb5cd78
dispatch: move command dispatching into its own module
Matt Mackall <mpm@selenic.com>
parents:
5177
diff
changeset
|
602 clist = cmdutil.findpossible(ui, cmd, table).keys() |
1887
913397c27cd8
new command debugcomplete
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1875
diff
changeset
|
603 clist.sort() |
2034
5e7aff1b6ae1
add --options to debugcomplete and change bash_completion to use it
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2033
diff
changeset
|
604 ui.write("%s\n" % "\n".join(clist)) |
1887
913397c27cd8
new command debugcomplete
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1875
diff
changeset
|
605 |
5741
8ee0de123989
add debugfsinfo to check fs capabilities
Matt Mackall <mpm@selenic.com>
parents:
5716
diff
changeset
|
606 def debugfsinfo(ui, path = "."): |
8ee0de123989
add debugfsinfo to check fs capabilities
Matt Mackall <mpm@selenic.com>
parents:
5716
diff
changeset
|
607 file('.debugfsinfo', 'w').write('') |
8ee0de123989
add debugfsinfo to check fs capabilities
Matt Mackall <mpm@selenic.com>
parents:
5716
diff
changeset
|
608 ui.write('exec: %s\n' % (util.checkexec(path) and 'yes' or 'no')) |
8ee0de123989
add debugfsinfo to check fs capabilities
Matt Mackall <mpm@selenic.com>
parents:
5716
diff
changeset
|
609 ui.write('symlink: %s\n' % (util.checklink(path) and 'yes' or 'no')) |
8ee0de123989
add debugfsinfo to check fs capabilities
Matt Mackall <mpm@selenic.com>
parents:
5716
diff
changeset
|
610 ui.write('case-sensitive: %s\n' % (util.checkfolding('.debugfsinfo') |
8ee0de123989
add debugfsinfo to check fs capabilities
Matt Mackall <mpm@selenic.com>
parents:
5716
diff
changeset
|
611 and 'yes' or 'no')) |
8ee0de123989
add debugfsinfo to check fs capabilities
Matt Mackall <mpm@selenic.com>
parents:
5716
diff
changeset
|
612 os.unlink('.debugfsinfo') |
8ee0de123989
add debugfsinfo to check fs capabilities
Matt Mackall <mpm@selenic.com>
parents:
5716
diff
changeset
|
613 |
3972
356e20d46b34
commands.py: use contexts in various places (debug*state, revert)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3951
diff
changeset
|
614 def debugrebuildstate(ui, repo, rev=""): |
1755
a8f7791e3680
add 'debugrebuildstate' to rebuild the dirstate from a given revision
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1754
diff
changeset
|
615 """rebuild the dirstate as it would look like for the given revision""" |
3972
356e20d46b34
commands.py: use contexts in various places (debug*state, revert)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3951
diff
changeset
|
616 if rev == "": |
1755
a8f7791e3680
add 'debugrebuildstate' to rebuild the dirstate from a given revision
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1754
diff
changeset
|
617 rev = repo.changelog.tip() |
3972
356e20d46b34
commands.py: use contexts in various places (debug*state, revert)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3951
diff
changeset
|
618 ctx = repo.changectx(rev) |
356e20d46b34
commands.py: use contexts in various places (debug*state, revert)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3951
diff
changeset
|
619 files = ctx.manifest() |
1760
13f8e068d13c
fix typo in debugrebuildstate
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1755
diff
changeset
|
620 wlock = repo.wlock() |
4915
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
621 try: |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
622 repo.dirstate.rebuild(rev, files) |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
623 finally: |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
624 del wlock |
1755
a8f7791e3680
add 'debugrebuildstate' to rebuild the dirstate from a given revision
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1754
diff
changeset
|
625 |
596 | 626 def debugcheckstate(ui, repo): |
627 """validate the correctness of the current dirstate""" | |
460 | 628 parent1, parent2 = repo.dirstate.parents() |
3972
356e20d46b34
commands.py: use contexts in various places (debug*state, revert)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3951
diff
changeset
|
629 m1 = repo.changectx(parent1).manifest() |
356e20d46b34
commands.py: use contexts in various places (debug*state, revert)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3951
diff
changeset
|
630 m2 = repo.changectx(parent2).manifest() |
460 | 631 errors = 0 |
4906
30847b8af7ca
dirstate: add __contains__ and make __getitem__ more useful
Matt Mackall <mpm@selenic.com>
parents:
4904
diff
changeset
|
632 for f in repo.dirstate: |
30847b8af7ca
dirstate: add __contains__ and make __getitem__ more useful
Matt Mackall <mpm@selenic.com>
parents:
4904
diff
changeset
|
633 state = repo.dirstate[f] |
460 | 634 if state in "nr" and f not in m1: |
1402
9d2c2e6b32b5
i18n part2: use '_' for all strings who are part of the user interface
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1400
diff
changeset
|
635 ui.warn(_("%s in state %s, but not in manifest1\n") % (f, state)) |
460 | 636 errors += 1 |
637 if state in "a" and f in m1: | |
1402
9d2c2e6b32b5
i18n part2: use '_' for all strings who are part of the user interface
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1400
diff
changeset
|
638 ui.warn(_("%s in state %s, but also in manifest1\n") % (f, state)) |
460 | 639 errors += 1 |
640 if state in "m" and f not in m1 and f not in m2: | |
1402
9d2c2e6b32b5
i18n part2: use '_' for all strings who are part of the user interface
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1400
diff
changeset
|
641 ui.warn(_("%s in state %s, but not in either manifest\n") % |
582 | 642 (f, state)) |
460 | 643 errors += 1 |
644 for f in m1: | |
4906
30847b8af7ca
dirstate: add __contains__ and make __getitem__ more useful
Matt Mackall <mpm@selenic.com>
parents:
4904
diff
changeset
|
645 state = repo.dirstate[f] |
460 | 646 if state not in "nrm": |
1402
9d2c2e6b32b5
i18n part2: use '_' for all strings who are part of the user interface
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1400
diff
changeset
|
647 ui.warn(_("%s in manifest1, but listed as state %s") % (f, state)) |
460 | 648 errors += 1 |
649 if errors: | |
1602
fb4149eebdd4
strictly adher to 80 chars per line
Muli Ben-Yehuda <mulix@mulix.org>
parents:
1601
diff
changeset
|
650 error = _(".hg/dirstate inconsistent with current parent's manifest") |
fb4149eebdd4
strictly adher to 80 chars per line
Muli Ben-Yehuda <mulix@mulix.org>
parents:
1601
diff
changeset
|
651 raise util.Abort(error) |
460 | 652 |
3553
e1508621e9ef
add --untrusted to showconfig
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3521
diff
changeset
|
653 def showconfig(ui, repo, *values, **opts): |
2410
1e80d47b8581
debugconfig: allow to print by section and exact item name
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2407
diff
changeset
|
654 """show combined config settings from all hgrc files |
1e80d47b8581
debugconfig: allow to print by section and exact item name
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2407
diff
changeset
|
655 |
1e80d47b8581
debugconfig: allow to print by section and exact item name
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2407
diff
changeset
|
656 With no args, print names and values of all config items. |
1e80d47b8581
debugconfig: allow to print by section and exact item name
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2407
diff
changeset
|
657 |
1e80d47b8581
debugconfig: allow to print by section and exact item name
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2407
diff
changeset
|
658 With one arg of the form section.name, print just the value of |
1e80d47b8581
debugconfig: allow to print by section and exact item name
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2407
diff
changeset
|
659 that config item. |
1e80d47b8581
debugconfig: allow to print by section and exact item name
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2407
diff
changeset
|
660 |
1e80d47b8581
debugconfig: allow to print by section and exact item name
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2407
diff
changeset
|
661 With multiple args, print names and values of all config items |
1e80d47b8581
debugconfig: allow to print by section and exact item name
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2407
diff
changeset
|
662 with matching section names.""" |
1e80d47b8581
debugconfig: allow to print by section and exact item name
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2407
diff
changeset
|
663 |
3553
e1508621e9ef
add --untrusted to showconfig
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3521
diff
changeset
|
664 untrusted = bool(opts.get('untrusted')) |
2410
1e80d47b8581
debugconfig: allow to print by section and exact item name
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2407
diff
changeset
|
665 if values: |
1e80d47b8581
debugconfig: allow to print by section and exact item name
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2407
diff
changeset
|
666 if len([v for v in values if '.' in v]) > 1: |
1e80d47b8581
debugconfig: allow to print by section and exact item name
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2407
diff
changeset
|
667 raise util.Abort(_('only one config item permitted')) |
3553
e1508621e9ef
add --untrusted to showconfig
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3521
diff
changeset
|
668 for section, name, value in ui.walkconfig(untrusted=untrusted): |
2410
1e80d47b8581
debugconfig: allow to print by section and exact item name
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2407
diff
changeset
|
669 sectname = section + '.' + name |
1e80d47b8581
debugconfig: allow to print by section and exact item name
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2407
diff
changeset
|
670 if values: |
1e80d47b8581
debugconfig: allow to print by section and exact item name
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2407
diff
changeset
|
671 for v in values: |
1e80d47b8581
debugconfig: allow to print by section and exact item name
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2407
diff
changeset
|
672 if v == section: |
1e80d47b8581
debugconfig: allow to print by section and exact item name
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2407
diff
changeset
|
673 ui.write('%s=%s\n' % (sectname, value)) |
1e80d47b8581
debugconfig: allow to print by section and exact item name
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2407
diff
changeset
|
674 elif v == sectname: |
1e80d47b8581
debugconfig: allow to print by section and exact item name
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2407
diff
changeset
|
675 ui.write(value, '\n') |
1e80d47b8581
debugconfig: allow to print by section and exact item name
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2407
diff
changeset
|
676 else: |
1e80d47b8581
debugconfig: allow to print by section and exact item name
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2407
diff
changeset
|
677 ui.write('%s=%s\n' % (sectname, value)) |
1028
25e7ea0f2cff
Add commands.debugconfig.
Bryan O'Sullivan <bos@serpentine.com>
parents:
989
diff
changeset
|
678 |
1395
c2eb204917f8
Add debugsetparents command
Matt Mackall <mpm@selenic.com>
parents:
1390
diff
changeset
|
679 def debugsetparents(ui, repo, rev1, rev2=None): |
1470
fb9b84c91222
minor fix on command help docstrings
TK Soh <teekaysoh@yahoo.com>
parents:
1469
diff
changeset
|
680 """manually set the parents of the current working directory |
1395
c2eb204917f8
Add debugsetparents command
Matt Mackall <mpm@selenic.com>
parents:
1390
diff
changeset
|
681 |
c2eb204917f8
Add debugsetparents command
Matt Mackall <mpm@selenic.com>
parents:
1390
diff
changeset
|
682 This is useful for writing repository conversion tools, but should |
c2eb204917f8
Add debugsetparents command
Matt Mackall <mpm@selenic.com>
parents:
1390
diff
changeset
|
683 be used with care. |
c2eb204917f8
Add debugsetparents command
Matt Mackall <mpm@selenic.com>
parents:
1390
diff
changeset
|
684 """ |
c2eb204917f8
Add debugsetparents command
Matt Mackall <mpm@selenic.com>
parents:
1390
diff
changeset
|
685 |
c2eb204917f8
Add debugsetparents command
Matt Mackall <mpm@selenic.com>
parents:
1390
diff
changeset
|
686 if not rev2: |
c2eb204917f8
Add debugsetparents command
Matt Mackall <mpm@selenic.com>
parents:
1390
diff
changeset
|
687 rev2 = hex(nullid) |
c2eb204917f8
Add debugsetparents command
Matt Mackall <mpm@selenic.com>
parents:
1390
diff
changeset
|
688 |
4247
89075f106414
debugsetparents: wlock the repo before updating the dirstate
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4231
diff
changeset
|
689 wlock = repo.wlock() |
89075f106414
debugsetparents: wlock the repo before updating the dirstate
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4231
diff
changeset
|
690 try: |
89075f106414
debugsetparents: wlock the repo before updating the dirstate
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4231
diff
changeset
|
691 repo.dirstate.setparents(repo.lookup(rev1), repo.lookup(rev2)) |
89075f106414
debugsetparents: wlock the repo before updating the dirstate
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4231
diff
changeset
|
692 finally: |
4915
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
693 del wlock |
1395
c2eb204917f8
Add debugsetparents command
Matt Mackall <mpm@selenic.com>
parents:
1390
diff
changeset
|
694 |
596 | 695 def debugstate(ui, repo): |
696 """show the contents of the current dirstate""" | |
5156
49554ba98951
debugstate: print symlinks as 'lnk', not '777'
Bryan O'Sullivan <bos@serpentine.com>
parents:
5155
diff
changeset
|
697 k = repo.dirstate._map.items() |
4906
30847b8af7ca
dirstate: add __contains__ and make __getitem__ more useful
Matt Mackall <mpm@selenic.com>
parents:
4904
diff
changeset
|
698 k.sort() |
5156
49554ba98951
debugstate: print symlinks as 'lnk', not '777'
Bryan O'Sullivan <bos@serpentine.com>
parents:
5155
diff
changeset
|
699 for file_, ent in k: |
49554ba98951
debugstate: print symlinks as 'lnk', not '777'
Bryan O'Sullivan <bos@serpentine.com>
parents:
5155
diff
changeset
|
700 if ent[3] == -1: |
4053
994fec0ee900
mtime can be -1 after a merge and cause tracebacks on win32.
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
4043
diff
changeset
|
701 # Pad or slice to locale representation |
5858
e7ed5d07cc4c
Display debugstate dates as '%Y-%m-%d %H:%M:%S'
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
5850
diff
changeset
|
702 locale_len = len(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(0))) |
4053
994fec0ee900
mtime can be -1 after a merge and cause tracebacks on win32.
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
4043
diff
changeset
|
703 timestr = 'unset' |
994fec0ee900
mtime can be -1 after a merge and cause tracebacks on win32.
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
4043
diff
changeset
|
704 timestr = timestr[:locale_len] + ' '*(locale_len - len(timestr)) |
994fec0ee900
mtime can be -1 after a merge and cause tracebacks on win32.
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
4043
diff
changeset
|
705 else: |
5858
e7ed5d07cc4c
Display debugstate dates as '%Y-%m-%d %H:%M:%S'
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
5850
diff
changeset
|
706 timestr = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(ent[3])) |
5156
49554ba98951
debugstate: print symlinks as 'lnk', not '777'
Bryan O'Sullivan <bos@serpentine.com>
parents:
5155
diff
changeset
|
707 if ent[1] & 020000: |
49554ba98951
debugstate: print symlinks as 'lnk', not '777'
Bryan O'Sullivan <bos@serpentine.com>
parents:
5155
diff
changeset
|
708 mode = 'lnk' |
49554ba98951
debugstate: print symlinks as 'lnk', not '777'
Bryan O'Sullivan <bos@serpentine.com>
parents:
5155
diff
changeset
|
709 else: |
49554ba98951
debugstate: print symlinks as 'lnk', not '777'
Bryan O'Sullivan <bos@serpentine.com>
parents:
5155
diff
changeset
|
710 mode = '%3o' % (ent[1] & 0777) |
49554ba98951
debugstate: print symlinks as 'lnk', not '777'
Bryan O'Sullivan <bos@serpentine.com>
parents:
5155
diff
changeset
|
711 ui.write("%c %s %10d %s %s\n" % (ent[0], mode, ent[2], timestr, file_)) |
3159
e43fd1623fe1
fix users of dirstate.copies broken by b1f10d3223c1
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3146
diff
changeset
|
712 for f in repo.dirstate.copies(): |
e43fd1623fe1
fix users of dirstate.copies broken by b1f10d3223c1
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3146
diff
changeset
|
713 ui.write(_("copy: %s -> %s\n") % (repo.dirstate.copied(f), f)) |
460 | 714 |
1039
4296754ba7b4
Add debugdata for dumping revlog revision data
mpm@selenic.com
parents:
1037
diff
changeset
|
715 def debugdata(ui, file_, rev): |
4258
b11a2fb59cf5
revlog: simplify revlog version handling
Matt Mackall <mpm@selenic.com>
parents:
4257
diff
changeset
|
716 """dump the contents of a data file revision""" |
b11a2fb59cf5
revlog: simplify revlog version handling
Matt Mackall <mpm@selenic.com>
parents:
4257
diff
changeset
|
717 r = revlog.revlog(util.opener(os.getcwd(), audit=False), file_[:-2] + ".i") |
1313
1cc7c0cbc30b
Fix traceback during invalid rev identifier for debugdata
Anupam Kapoor<anupam.kapoor@gmail.com>
parents:
1312
diff
changeset
|
718 try: |
1cc7c0cbc30b
Fix traceback during invalid rev identifier for debugdata
Anupam Kapoor<anupam.kapoor@gmail.com>
parents:
1312
diff
changeset
|
719 ui.write(r.revision(r.lookup(rev))) |
1cc7c0cbc30b
Fix traceback during invalid rev identifier for debugdata
Anupam Kapoor<anupam.kapoor@gmail.com>
parents:
1312
diff
changeset
|
720 except KeyError: |
3072
bc3fe3b5b785
Never apply string formatting to generated errors with util.Abort.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3071
diff
changeset
|
721 raise util.Abort(_('invalid revision identifier %s') % rev) |
1039
4296754ba7b4
Add debugdata for dumping revlog revision data
mpm@selenic.com
parents:
1037
diff
changeset
|
722 |
3812 | 723 def debugdate(ui, date, range=None, **opts): |
3805 | 724 """parse and display a date""" |
3812 | 725 if opts["extended"]: |
726 d = util.parsedate(date, util.extendeddateformats) | |
727 else: | |
728 d = util.parsedate(date) | |
3805 | 729 ui.write("internal: %s %s\n" % d) |
730 ui.write("standard: %s\n" % util.datestr(d)) | |
3812 | 731 if range: |
732 m = util.matchdate(range) | |
733 ui.write("match: %s\n" % m(d[0])) | |
3805 | 734 |
697
cb1be2327220
Multiple cleanups of things detected by pylint.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
696
diff
changeset
|
735 def debugindex(ui, file_): |
596 | 736 """dump the contents of an index file""" |
4258
b11a2fb59cf5
revlog: simplify revlog version handling
Matt Mackall <mpm@selenic.com>
parents:
4257
diff
changeset
|
737 r = revlog.revlog(util.opener(os.getcwd(), audit=False), file_) |
582 | 738 ui.write(" rev offset length base linkrev" + |
989 | 739 " nodeid p1 p2\n") |
3472
df7202f6887c
use xrange instead of range
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3471
diff
changeset
|
740 for i in xrange(r.count()): |
2072 | 741 node = r.node(i) |
5311
599f3a690d8f
debugindex: more robust for damaged indexes
Matt Mackall <mpm@selenic.com>
parents:
5310
diff
changeset
|
742 try: |
599f3a690d8f
debugindex: more robust for damaged indexes
Matt Mackall <mpm@selenic.com>
parents:
5310
diff
changeset
|
743 pp = r.parents(node) |
599f3a690d8f
debugindex: more robust for damaged indexes
Matt Mackall <mpm@selenic.com>
parents:
5310
diff
changeset
|
744 except: |
599f3a690d8f
debugindex: more robust for damaged indexes
Matt Mackall <mpm@selenic.com>
parents:
5310
diff
changeset
|
745 pp = [nullid, nullid] |
989 | 746 ui.write("% 6d % 9d % 7d % 6d % 7d %s %s %s\n" % ( |
2072 | 747 i, r.start(i), r.length(i), r.base(i), r.linkrev(node), |
748 short(node), short(pp[0]), short(pp[1]))) | |
248 | 749 |
697
cb1be2327220
Multiple cleanups of things detected by pylint.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
696
diff
changeset
|
750 def debugindexdot(ui, file_): |
596 | 751 """dump an index DAG as a .dot file""" |
4258
b11a2fb59cf5
revlog: simplify revlog version handling
Matt Mackall <mpm@selenic.com>
parents:
4257
diff
changeset
|
752 r = revlog.revlog(util.opener(os.getcwd(), audit=False), file_) |
582 | 753 ui.write("digraph G {\n") |
3472
df7202f6887c
use xrange instead of range
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3471
diff
changeset
|
754 for i in xrange(r.count()): |
2287
3f18d1eea370
Update debugindexdot to work with RevlogNG.
Samuel Masham <samuel.masham@gmail.com>
parents:
2283
diff
changeset
|
755 node = r.node(i) |
3f18d1eea370
Update debugindexdot to work with RevlogNG.
Samuel Masham <samuel.masham@gmail.com>
parents:
2283
diff
changeset
|
756 pp = r.parents(node) |
3f18d1eea370
Update debugindexdot to work with RevlogNG.
Samuel Masham <samuel.masham@gmail.com>
parents:
2283
diff
changeset
|
757 ui.write("\t%d -> %d\n" % (r.rev(pp[0]), i)) |
3f18d1eea370
Update debugindexdot to work with RevlogNG.
Samuel Masham <samuel.masham@gmail.com>
parents:
2283
diff
changeset
|
758 if pp[1] != nullid: |
3f18d1eea370
Update debugindexdot to work with RevlogNG.
Samuel Masham <samuel.masham@gmail.com>
parents:
2283
diff
changeset
|
759 ui.write("\t%d -> %d\n" % (r.rev(pp[1]), i)) |
582 | 760 ui.write("}\n") |
248 | 761 |
3844
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
762 def debuginstall(ui): |
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
763 '''test Mercurial installation''' |
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
764 |
3846
18855084b922
Make debuginstall actually attempt to use external patch and merge
Matt Mackall <mpm@selenic.com>
parents:
3844
diff
changeset
|
765 def writetemp(contents): |
4849
035489f60842
Use a prefix for debuginstall tempfiles.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4818
diff
changeset
|
766 (fd, name) = tempfile.mkstemp(prefix="hg-debuginstall-") |
3846
18855084b922
Make debuginstall actually attempt to use external patch and merge
Matt Mackall <mpm@selenic.com>
parents:
3844
diff
changeset
|
767 f = os.fdopen(fd, "wb") |
18855084b922
Make debuginstall actually attempt to use external patch and merge
Matt Mackall <mpm@selenic.com>
parents:
3844
diff
changeset
|
768 f.write(contents) |
18855084b922
Make debuginstall actually attempt to use external patch and merge
Matt Mackall <mpm@selenic.com>
parents:
3844
diff
changeset
|
769 f.close() |
18855084b922
Make debuginstall actually attempt to use external patch and merge
Matt Mackall <mpm@selenic.com>
parents:
3844
diff
changeset
|
770 return name |
18855084b922
Make debuginstall actually attempt to use external patch and merge
Matt Mackall <mpm@selenic.com>
parents:
3844
diff
changeset
|
771 |
3844
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
772 problems = 0 |
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
773 |
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
774 # encoding |
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
775 ui.status(_("Checking encoding (%s)...\n") % util._encoding) |
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
776 try: |
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
777 util.fromlocal("test") |
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
778 except util.Abort, inst: |
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
779 ui.write(" %s\n" % inst) |
3848
8cbf060f637e
Add some remedies and a username check to debuginstall
Matt Mackall <mpm@selenic.com>
parents:
3846
diff
changeset
|
780 ui.write(_(" (check that your locale is properly set)\n")) |
3844
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
781 problems += 1 |
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
782 |
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
783 # compiled modules |
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
784 ui.status(_("Checking extensions...\n")) |
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
785 try: |
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
786 import bdiff, mpatch, base85 |
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
787 except Exception, inst: |
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
788 ui.write(" %s\n" % inst) |
3848
8cbf060f637e
Add some remedies and a username check to debuginstall
Matt Mackall <mpm@selenic.com>
parents:
3846
diff
changeset
|
789 ui.write(_(" One or more extensions could not be found")) |
8cbf060f637e
Add some remedies and a username check to debuginstall
Matt Mackall <mpm@selenic.com>
parents:
3846
diff
changeset
|
790 ui.write(_(" (check that you compiled the extensions)\n")) |
3844
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
791 problems += 1 |
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
792 |
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
793 # templates |
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
794 ui.status(_("Checking templates...\n")) |
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
795 try: |
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
796 import templater |
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
797 t = templater.templater(templater.templatepath("map-cmdline.default")) |
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
798 except Exception, inst: |
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
799 ui.write(" %s\n" % inst) |
3848
8cbf060f637e
Add some remedies and a username check to debuginstall
Matt Mackall <mpm@selenic.com>
parents:
3846
diff
changeset
|
800 ui.write(_(" (templates seem to have been installed incorrectly)\n")) |
3844
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
801 problems += 1 |
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
802 |
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
803 # patch |
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
804 ui.status(_("Checking patch...\n")) |
5310
ba3dc7883968
debuginstall: stop looking for patch utility, just test it
Patrick Mezard <pmezard@gmail.com>
parents:
5300
diff
changeset
|
805 patchproblems = 0 |
ba3dc7883968
debuginstall: stop looking for patch utility, just test it
Patrick Mezard <pmezard@gmail.com>
parents:
5300
diff
changeset
|
806 a = "1\n2\n3\n4\n" |
ba3dc7883968
debuginstall: stop looking for patch utility, just test it
Patrick Mezard <pmezard@gmail.com>
parents:
5300
diff
changeset
|
807 b = "1\n2\n3\ninsert\n4\n" |
ba3dc7883968
debuginstall: stop looking for patch utility, just test it
Patrick Mezard <pmezard@gmail.com>
parents:
5300
diff
changeset
|
808 fa = writetemp(a) |
5482
e5eedd74e70f
Use both the from and to name in mdiff.unidiff.
Dustin Sallings <dustin@spy.net>
parents:
5405
diff
changeset
|
809 d = mdiff.unidiff(a, None, b, None, os.path.basename(fa), |
e5eedd74e70f
Use both the from and to name in mdiff.unidiff.
Dustin Sallings <dustin@spy.net>
parents:
5405
diff
changeset
|
810 os.path.basename(fa)) |
5310
ba3dc7883968
debuginstall: stop looking for patch utility, just test it
Patrick Mezard <pmezard@gmail.com>
parents:
5300
diff
changeset
|
811 fd = writetemp(d) |
ba3dc7883968
debuginstall: stop looking for patch utility, just test it
Patrick Mezard <pmezard@gmail.com>
parents:
5300
diff
changeset
|
812 |
ba3dc7883968
debuginstall: stop looking for patch utility, just test it
Patrick Mezard <pmezard@gmail.com>
parents:
5300
diff
changeset
|
813 files = {} |
ba3dc7883968
debuginstall: stop looking for patch utility, just test it
Patrick Mezard <pmezard@gmail.com>
parents:
5300
diff
changeset
|
814 try: |
ba3dc7883968
debuginstall: stop looking for patch utility, just test it
Patrick Mezard <pmezard@gmail.com>
parents:
5300
diff
changeset
|
815 patch.patch(fd, ui, cwd=os.path.dirname(fa), files=files) |
ba3dc7883968
debuginstall: stop looking for patch utility, just test it
Patrick Mezard <pmezard@gmail.com>
parents:
5300
diff
changeset
|
816 except util.Abort, e: |
ba3dc7883968
debuginstall: stop looking for patch utility, just test it
Patrick Mezard <pmezard@gmail.com>
parents:
5300
diff
changeset
|
817 ui.write(_(" patch call failed:\n")) |
ba3dc7883968
debuginstall: stop looking for patch utility, just test it
Patrick Mezard <pmezard@gmail.com>
parents:
5300
diff
changeset
|
818 ui.write(" " + str(e) + "\n") |
ba3dc7883968
debuginstall: stop looking for patch utility, just test it
Patrick Mezard <pmezard@gmail.com>
parents:
5300
diff
changeset
|
819 patchproblems += 1 |
3846
18855084b922
Make debuginstall actually attempt to use external patch and merge
Matt Mackall <mpm@selenic.com>
parents:
3844
diff
changeset
|
820 else: |
5310
ba3dc7883968
debuginstall: stop looking for patch utility, just test it
Patrick Mezard <pmezard@gmail.com>
parents:
5300
diff
changeset
|
821 if list(files) != [os.path.basename(fa)]: |
ba3dc7883968
debuginstall: stop looking for patch utility, just test it
Patrick Mezard <pmezard@gmail.com>
parents:
5300
diff
changeset
|
822 ui.write(_(" unexpected patch output!\n")) |
ba3dc7883968
debuginstall: stop looking for patch utility, just test it
Patrick Mezard <pmezard@gmail.com>
parents:
5300
diff
changeset
|
823 patchproblems += 1 |
ba3dc7883968
debuginstall: stop looking for patch utility, just test it
Patrick Mezard <pmezard@gmail.com>
parents:
5300
diff
changeset
|
824 a = file(fa).read() |
ba3dc7883968
debuginstall: stop looking for patch utility, just test it
Patrick Mezard <pmezard@gmail.com>
parents:
5300
diff
changeset
|
825 if a != b: |
ba3dc7883968
debuginstall: stop looking for patch utility, just test it
Patrick Mezard <pmezard@gmail.com>
parents:
5300
diff
changeset
|
826 ui.write(_(" patch test failed!\n")) |
ba3dc7883968
debuginstall: stop looking for patch utility, just test it
Patrick Mezard <pmezard@gmail.com>
parents:
5300
diff
changeset
|
827 patchproblems += 1 |
ba3dc7883968
debuginstall: stop looking for patch utility, just test it
Patrick Mezard <pmezard@gmail.com>
parents:
5300
diff
changeset
|
828 |
ba3dc7883968
debuginstall: stop looking for patch utility, just test it
Patrick Mezard <pmezard@gmail.com>
parents:
5300
diff
changeset
|
829 if patchproblems: |
ba3dc7883968
debuginstall: stop looking for patch utility, just test it
Patrick Mezard <pmezard@gmail.com>
parents:
5300
diff
changeset
|
830 if ui.config('ui', 'patch'): |
ba3dc7883968
debuginstall: stop looking for patch utility, just test it
Patrick Mezard <pmezard@gmail.com>
parents:
5300
diff
changeset
|
831 ui.write(_(" (Current patch tool may be incompatible with patch," |
ba3dc7883968
debuginstall: stop looking for patch utility, just test it
Patrick Mezard <pmezard@gmail.com>
parents:
5300
diff
changeset
|
832 " or misconfigured. Please check your .hgrc file)\n")) |
4516
96d8a56d4ef9
Removed trailing whitespace and tabs from python files
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4505
diff
changeset
|
833 else: |
5760
0145f9afb0e7
Removed tabs and trailing whitespace in python files
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5741
diff
changeset
|
834 ui.write(_(" Internal patcher failure, please report this error" |
5310
ba3dc7883968
debuginstall: stop looking for patch utility, just test it
Patrick Mezard <pmezard@gmail.com>
parents:
5300
diff
changeset
|
835 " to http://www.selenic.com/mercurial/bts\n")) |
ba3dc7883968
debuginstall: stop looking for patch utility, just test it
Patrick Mezard <pmezard@gmail.com>
parents:
5300
diff
changeset
|
836 problems += patchproblems |
ba3dc7883968
debuginstall: stop looking for patch utility, just test it
Patrick Mezard <pmezard@gmail.com>
parents:
5300
diff
changeset
|
837 |
ba3dc7883968
debuginstall: stop looking for patch utility, just test it
Patrick Mezard <pmezard@gmail.com>
parents:
5300
diff
changeset
|
838 os.unlink(fa) |
ba3dc7883968
debuginstall: stop looking for patch utility, just test it
Patrick Mezard <pmezard@gmail.com>
parents:
5300
diff
changeset
|
839 os.unlink(fd) |
3844
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
840 |
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
841 # editor |
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
842 ui.status(_("Checking commit editor...\n")) |
5660
3c80ecdc1bcd
Use VISUAL in addition to EDITOR when choosing the editor to use.
Osku Salerma <osku@iki.fi>
parents:
5658
diff
changeset
|
843 editor = ui.geteditor() |
4488
62019c4427e3
Introduce find_exe. Use instead of find_in_path for programs.
Bryan O'Sullivan <bos@serpentine.com>
parents:
4438
diff
changeset
|
844 cmdpath = util.find_exe(editor) or util.find_exe(editor.split()[0]) |
3844
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
845 if not cmdpath: |
3855
b9cdd6f2aa43
debuginstall: fix a copy/paste error
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3848
diff
changeset
|
846 if editor == 'vi': |
3844
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
847 ui.write(_(" No commit editor set and can't find vi in PATH\n")) |
3848
8cbf060f637e
Add some remedies and a username check to debuginstall
Matt Mackall <mpm@selenic.com>
parents:
3846
diff
changeset
|
848 ui.write(_(" (specify a commit editor in your .hgrc file)\n")) |
3844
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
849 else: |
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
850 ui.write(_(" Can't find editor '%s' in PATH\n") % editor) |
3848
8cbf060f637e
Add some remedies and a username check to debuginstall
Matt Mackall <mpm@selenic.com>
parents:
3846
diff
changeset
|
851 ui.write(_(" (specify a commit editor in your .hgrc file)\n")) |
3844
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
852 problems += 1 |
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
853 |
3848
8cbf060f637e
Add some remedies and a username check to debuginstall
Matt Mackall <mpm@selenic.com>
parents:
3846
diff
changeset
|
854 # check username |
8cbf060f637e
Add some remedies and a username check to debuginstall
Matt Mackall <mpm@selenic.com>
parents:
3846
diff
changeset
|
855 ui.status(_("Checking username...\n")) |
8cbf060f637e
Add some remedies and a username check to debuginstall
Matt Mackall <mpm@selenic.com>
parents:
3846
diff
changeset
|
856 user = os.environ.get("HGUSER") |
8cbf060f637e
Add some remedies and a username check to debuginstall
Matt Mackall <mpm@selenic.com>
parents:
3846
diff
changeset
|
857 if user is None: |
8cbf060f637e
Add some remedies and a username check to debuginstall
Matt Mackall <mpm@selenic.com>
parents:
3846
diff
changeset
|
858 user = ui.config("ui", "username") |
8cbf060f637e
Add some remedies and a username check to debuginstall
Matt Mackall <mpm@selenic.com>
parents:
3846
diff
changeset
|
859 if user is None: |
8cbf060f637e
Add some remedies and a username check to debuginstall
Matt Mackall <mpm@selenic.com>
parents:
3846
diff
changeset
|
860 user = os.environ.get("EMAIL") |
8cbf060f637e
Add some remedies and a username check to debuginstall
Matt Mackall <mpm@selenic.com>
parents:
3846
diff
changeset
|
861 if not user: |
8cbf060f637e
Add some remedies and a username check to debuginstall
Matt Mackall <mpm@selenic.com>
parents:
3846
diff
changeset
|
862 ui.warn(" ") |
8cbf060f637e
Add some remedies and a username check to debuginstall
Matt Mackall <mpm@selenic.com>
parents:
3846
diff
changeset
|
863 ui.username() |
8cbf060f637e
Add some remedies and a username check to debuginstall
Matt Mackall <mpm@selenic.com>
parents:
3846
diff
changeset
|
864 ui.write(_(" (specify a username in your .hgrc file)\n")) |
8cbf060f637e
Add some remedies and a username check to debuginstall
Matt Mackall <mpm@selenic.com>
parents:
3846
diff
changeset
|
865 |
3844
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
866 if not problems: |
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
867 ui.status(_("No problems detected\n")) |
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
868 else: |
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
869 ui.write(_("%s problems detected," |
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
870 " please check your install!\n") % problems) |
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
871 |
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
872 return problems |
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
873 |
3652 | 874 def debugrename(ui, repo, file1, *pats, **opts): |
1194
c165cbf56bb1
Add doc string for debugrename.
bos@serpentine.internal.keyresearch.com
parents:
1193
diff
changeset
|
875 """dump rename information""" |
3652 | 876 |
877 ctx = repo.changectx(opts.get('rev', 'tip')) | |
878 for src, abs, rel, exact in cmdutil.walk(repo, (file1,) + pats, opts, | |
879 ctx.node()): | |
5811
180a3eee4b75
Fix copies reporting in log and convert.
Maxim Dounin <mdounin@mdounin.ru>
parents:
5783
diff
changeset
|
880 fctx = ctx.filectx(abs) |
180a3eee4b75
Fix copies reporting in log and convert.
Maxim Dounin <mdounin@mdounin.ru>
parents:
5783
diff
changeset
|
881 m = fctx.filelog().renamed(fctx.filenode()) |
3652 | 882 if m: |
883 ui.write(_("%s renamed from %s:%s\n") % (rel, m[0], hex(m[1]))) | |
884 else: | |
885 ui.write(_("%s not renamed\n") % rel) | |
1116 | 886 |
820
89985a1b3427
Clean up walk and changes code to use normalised names properly.
Bryan O'Sullivan <bos@serpentine.com>
parents:
815
diff
changeset
|
887 def debugwalk(ui, repo, *pats, **opts): |
1053
1539ca091d86
Added missing doc strings for two new debug commmands.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1052
diff
changeset
|
888 """show how files match on given patterns""" |
2882
cf98cd70d2c4
move walk and matchpats from commands to cmdutil.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2878
diff
changeset
|
889 items = list(cmdutil.walk(repo, pats, opts)) |
1065
6e94c0365d98
Cleanups to commands.py
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1062
diff
changeset
|
890 if not items: |
6e94c0365d98
Cleanups to commands.py
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1062
diff
changeset
|
891 return |
1309
332f225b835c
Make debugwalk strip trailing spaces and remove these from test-walk.out
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1285
diff
changeset
|
892 fmt = '%%s %%-%ds %%-%ds %%s' % ( |
942
7eb8cbcca7c4
Modify commands.walk to yield a 4-tuple.
Bryan O'Sullivan <bos@serpentine.com>
parents:
940
diff
changeset
|
893 max([len(abs) for (src, abs, rel, exact) in items]), |
7eb8cbcca7c4
Modify commands.walk to yield a 4-tuple.
Bryan O'Sullivan <bos@serpentine.com>
parents:
940
diff
changeset
|
894 max([len(rel) for (src, abs, rel, exact) in items])) |
7eb8cbcca7c4
Modify commands.walk to yield a 4-tuple.
Bryan O'Sullivan <bos@serpentine.com>
parents:
940
diff
changeset
|
895 for src, abs, rel, exact in items: |
1309
332f225b835c
Make debugwalk strip trailing spaces and remove these from test-walk.out
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1285
diff
changeset
|
896 line = fmt % (src, abs, rel, exact and 'exact' or '') |
332f225b835c
Make debugwalk strip trailing spaces and remove these from test-walk.out
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1285
diff
changeset
|
897 ui.write("%s\n" % line.rstrip()) |
820
89985a1b3427
Clean up walk and changes code to use normalised names properly.
Bryan O'Sullivan <bos@serpentine.com>
parents:
815
diff
changeset
|
898 |
732
ba0b6d17a6de
Convert diff command over to using walk code.
Bryan O'Sullivan <bos@serpentine.com>
parents:
731
diff
changeset
|
899 def diff(ui, repo, *pats, **opts): |
1568
1d7d0c07e8f3
make all commands be repo-wide by default
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1567
diff
changeset
|
900 """diff repository (or selected files) |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
901 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
902 Show differences between revisions for the specified files. |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
903 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
904 Differences between files are shown using the unified diff format. |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
905 |
3822
28134d82db9b
Add notes about diff/merge asymmetry to export, diff, and log
Matt Mackall <mpm@selenic.com>
parents:
3815
diff
changeset
|
906 NOTE: diff may generate unexpected results for merges, as it will |
28134d82db9b
Add notes about diff/merge asymmetry to export, diff, and log
Matt Mackall <mpm@selenic.com>
parents:
3815
diff
changeset
|
907 default to comparing against the working directory's first parent |
28134d82db9b
Add notes about diff/merge asymmetry to export, diff, and log
Matt Mackall <mpm@selenic.com>
parents:
3815
diff
changeset
|
908 changeset if no revisions are specified. |
28134d82db9b
Add notes about diff/merge asymmetry to export, diff, and log
Matt Mackall <mpm@selenic.com>
parents:
3815
diff
changeset
|
909 |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
910 When two revision arguments are given, then changes are shown |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
911 between those revisions. If only one revision is specified then |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
912 that revision is compared to the working directory, and, when no |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
913 revisions are specified, the working directory files are compared |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
914 to its parent. |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
915 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
916 Without the -a option, diff will avoid generating diffs of files |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
917 it detects as binary. With -a, diff will generate a diff anyway, |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
918 probably with undesirable results. |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
919 """ |
3707
67f44b825784
Removed unused ui parameter from revpair/revrange and fix its users.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3706
diff
changeset
|
920 node1, node2 = cmdutil.revpair(repo, opts['rev']) |
245 | 921 |
2882
cf98cd70d2c4
move walk and matchpats from commands to cmdutil.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2878
diff
changeset
|
922 fns, matchfn, anypats = cmdutil.matchpats(repo, pats, opts) |
1014 | 923 |
2874
4ec58b157265
refactor text diff/patch code.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2871
diff
changeset
|
924 patch.diff(repo, node1, node2, fns, match=matchfn, |
2888
3848488244fc
Move ui.diffopts to patch.diffopts where it belongs
Matt Mackall <mpm@selenic.com>
parents:
2883
diff
changeset
|
925 opts=patch.diffopts(ui, opts)) |
396
8f8bb77d560e
Show revisions in diffs like CVS, based on a patch from Goffredo Baroncelli.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
395
diff
changeset
|
926 |
580 | 927 def export(ui, repo, *changesets, **opts): |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
928 """dump the header and diffs for one or more changesets |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
929 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
930 Print the changeset header and diffs for one or more revisions. |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
931 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
932 The information shown in the changeset header is: author, |
3822
28134d82db9b
Add notes about diff/merge asymmetry to export, diff, and log
Matt Mackall <mpm@selenic.com>
parents:
3815
diff
changeset
|
933 changeset hash, parent(s) and commit comment. |
28134d82db9b
Add notes about diff/merge asymmetry to export, diff, and log
Matt Mackall <mpm@selenic.com>
parents:
3815
diff
changeset
|
934 |
28134d82db9b
Add notes about diff/merge asymmetry to export, diff, and log
Matt Mackall <mpm@selenic.com>
parents:
3815
diff
changeset
|
935 NOTE: export may generate unexpected diff output for merge changesets, |
28134d82db9b
Add notes about diff/merge asymmetry to export, diff, and log
Matt Mackall <mpm@selenic.com>
parents:
3815
diff
changeset
|
936 as it will compare the merge changeset against its first parent only. |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
937 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
938 Output may be to a file, in which case the name of the file is |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
939 given using a format string. The formatting rules are as follows: |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
940 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
941 %% literal "%" character |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
942 %H changeset hash (40 bytes of hexadecimal) |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
943 %N number of patches being generated |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
944 %R changeset revision number |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
945 %b basename of the exporting repository |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
946 %h short-form changeset hash (12 bytes of hexadecimal) |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
947 %n zero-padded sequence number, starting at 1 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
948 %r zero-padded changeset revision number |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
949 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
950 Without the -a option, export will avoid generating diffs of files |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
951 it detects as binary. With -a, export will generate a diff anyway, |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
952 probably with undesirable results. |
1571
bcdc030c59f8
add a --switch-parent option to export against the other parent
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1570
diff
changeset
|
953 |
bcdc030c59f8
add a --switch-parent option to export against the other parent
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1570
diff
changeset
|
954 With the --switch-parent option, the diff will be against the second |
bcdc030c59f8
add a --switch-parent option to export against the other parent
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1570
diff
changeset
|
955 parent. It can be useful to review a merge. |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
956 """ |
610
4c02464cb9f0
check export options for changeset before running
shaleh@speakeasy.net
parents:
609
diff
changeset
|
957 if not changesets: |
1402
9d2c2e6b32b5
i18n part2: use '_' for all strings who are part of the user interface
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1400
diff
changeset
|
958 raise util.Abort(_("export requires at least one changeset")) |
3707
67f44b825784
Removed unused ui parameter from revpair/revrange and fix its users.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3706
diff
changeset
|
959 revs = cmdutil.revrange(repo, changesets) |
2874
4ec58b157265
refactor text diff/patch code.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2871
diff
changeset
|
960 if len(revs) > 1: |
4ec58b157265
refactor text diff/patch code.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2871
diff
changeset
|
961 ui.note(_('exporting patches:\n')) |
4ec58b157265
refactor text diff/patch code.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2871
diff
changeset
|
962 else: |
4ec58b157265
refactor text diff/patch code.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2871
diff
changeset
|
963 ui.note(_('exporting patch:\n')) |
3900
2b3175acb653
Don't use node length for calculating revision number length.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3885
diff
changeset
|
964 patch.export(repo, revs, template=opts['output'], |
2888
3848488244fc
Move ui.diffopts to patch.diffopts where it belongs
Matt Mackall <mpm@selenic.com>
parents:
2883
diff
changeset
|
965 switch_parent=opts['switch_parent'], |
3848488244fc
Move ui.diffopts to patch.diffopts where it belongs
Matt Mackall <mpm@selenic.com>
parents:
2883
diff
changeset
|
966 opts=patch.diffopts(ui, opts)) |
246
96cde50a746f
Migrate rawcommit, import, export, history, and merge
mpm@selenic.com
parents:
245
diff
changeset
|
967 |
1108
7a75d8fbbdaf
Remove some options from 'hg grep':
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1106
diff
changeset
|
968 def grep(ui, repo, pattern, *pats, **opts): |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
969 """search for a pattern in specified files and revisions |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
970 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
971 Search revisions of files for a regular expression. |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
972 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
973 This command behaves differently than Unix grep. It only accepts |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
974 Python/Perl regexps. It searches repository history, not the |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
975 working directory. It always prints the revision number in which |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
976 a match appears. |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
977 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
978 By default, grep only prints output for the first revision of a |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
979 file in which it finds a match. To get it to print every revision |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
980 that contains a change in match status ("-" for a match that |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
981 becomes a non-match, or "+" for a non-match that becomes a match), |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
982 use the --all flag. |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
983 """ |
1057 | 984 reflags = 0 |
1065
6e94c0365d98
Cleanups to commands.py
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1062
diff
changeset
|
985 if opts['ignore_case']: |
6e94c0365d98
Cleanups to commands.py
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1062
diff
changeset
|
986 reflags |= re.I |
4877
242026115e6a
hg grep: handle re.compile errors & update tests/test-grep
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
4835
diff
changeset
|
987 try: |
242026115e6a
hg grep: handle re.compile errors & update tests/test-grep
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
4835
diff
changeset
|
988 regexp = re.compile(pattern, reflags) |
242026115e6a
hg grep: handle re.compile errors & update tests/test-grep
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
4835
diff
changeset
|
989 except Exception, inst: |
6057
218d5b9aa466
Remove trailing ! from two error messages as this was confusing.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6048
diff
changeset
|
990 ui.warn(_("grep: invalid match pattern: %s\n") % inst) |
4877
242026115e6a
hg grep: handle re.compile errors & update tests/test-grep
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
4835
diff
changeset
|
991 return None |
1146
9061f79c6c6f
grep: extend functionality, add man page entry, add unit test.
bos@serpentine.internal.keyresearch.com
parents:
1145
diff
changeset
|
992 sep, eol = ':', '\n' |
1108
7a75d8fbbdaf
Remove some options from 'hg grep':
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1106
diff
changeset
|
993 if opts['print0']: |
1146
9061f79c6c6f
grep: extend functionality, add man page entry, add unit test.
bos@serpentine.internal.keyresearch.com
parents:
1145
diff
changeset
|
994 sep = eol = '\0' |
1057 | 995 |
996 fcache = {} | |
997 def getfile(fn): | |
998 if fn not in fcache: | |
999 fcache[fn] = repo.file(fn) | |
1000 return fcache[fn] | |
1001 | |
1002 def matchlines(body): | |
1059
4eab07ef66e2
grep: speed up matching, and only return one match per line.
bos@serpentine.internal.keyresearch.com
parents:
1058
diff
changeset
|
1003 begin = 0 |
4eab07ef66e2
grep: speed up matching, and only return one match per line.
bos@serpentine.internal.keyresearch.com
parents:
1058
diff
changeset
|
1004 linenum = 0 |
4eab07ef66e2
grep: speed up matching, and only return one match per line.
bos@serpentine.internal.keyresearch.com
parents:
1058
diff
changeset
|
1005 while True: |
4eab07ef66e2
grep: speed up matching, and only return one match per line.
bos@serpentine.internal.keyresearch.com
parents:
1058
diff
changeset
|
1006 match = regexp.search(body, begin) |
1065
6e94c0365d98
Cleanups to commands.py
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1062
diff
changeset
|
1007 if not match: |
6e94c0365d98
Cleanups to commands.py
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1062
diff
changeset
|
1008 break |
1059
4eab07ef66e2
grep: speed up matching, and only return one match per line.
bos@serpentine.internal.keyresearch.com
parents:
1058
diff
changeset
|
1009 mstart, mend = match.span() |
4eab07ef66e2
grep: speed up matching, and only return one match per line.
bos@serpentine.internal.keyresearch.com
parents:
1058
diff
changeset
|
1010 linenum += body.count('\n', begin, mstart) + 1 |
4eab07ef66e2
grep: speed up matching, and only return one match per line.
bos@serpentine.internal.keyresearch.com
parents:
1058
diff
changeset
|
1011 lstart = body.rfind('\n', begin, mstart) + 1 or begin |
4eab07ef66e2
grep: speed up matching, and only return one match per line.
bos@serpentine.internal.keyresearch.com
parents:
1058
diff
changeset
|
1012 lend = body.find('\n', mend) |
4eab07ef66e2
grep: speed up matching, and only return one match per line.
bos@serpentine.internal.keyresearch.com
parents:
1058
diff
changeset
|
1013 yield linenum, mstart - lstart, mend - lstart, body[lstart:lend] |
4eab07ef66e2
grep: speed up matching, and only return one match per line.
bos@serpentine.internal.keyresearch.com
parents:
1058
diff
changeset
|
1014 begin = lend + 1 |
1057 | 1015 |
1559
59b3639df0a9
Convert all classes to new-style classes by deriving them from object.
Eric Hopper <hopper@omnifarious.org>
parents:
1552
diff
changeset
|
1016 class linestate(object): |
1057 | 1017 def __init__(self, line, linenum, colstart, colend): |
1018 self.line = line | |
1019 self.linenum = linenum | |
1020 self.colstart = colstart | |
1021 self.colend = colend | |
2869
81f351c5264d
grep: display correct user/revision for --all in reverse.
Brendan Cully <brendan@kublai.com>
parents:
2854
diff
changeset
|
1022 |
1065
6e94c0365d98
Cleanups to commands.py
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1062
diff
changeset
|
1023 def __eq__(self, other): |
6e94c0365d98
Cleanups to commands.py
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1062
diff
changeset
|
1024 return self.line == other.line |
1057 | 1025 |
1026 matches = {} | |
2870
8eaaf1321bfe
grep: add --follow support.
Brendan Cully <brendan@kublai.com>
parents:
2869
diff
changeset
|
1027 copies = {} |
1057 | 1028 def grepbody(fn, rev, body): |
2869
81f351c5264d
grep: display correct user/revision for --all in reverse.
Brendan Cully <brendan@kublai.com>
parents:
2854
diff
changeset
|
1029 matches[rev].setdefault(fn, []) |
1057 | 1030 m = matches[rev][fn] |
1031 for lnum, cstart, cend, line in matchlines(body): | |
1032 s = linestate(line, lnum, cstart, cend) | |
2869
81f351c5264d
grep: display correct user/revision for --all in reverse.
Brendan Cully <brendan@kublai.com>
parents:
2854
diff
changeset
|
1033 m.append(s) |
81f351c5264d
grep: display correct user/revision for --all in reverse.
Brendan Cully <brendan@kublai.com>
parents:
2854
diff
changeset
|
1034 |
81f351c5264d
grep: display correct user/revision for --all in reverse.
Brendan Cully <brendan@kublai.com>
parents:
2854
diff
changeset
|
1035 def difflinestates(a, b): |
81f351c5264d
grep: display correct user/revision for --all in reverse.
Brendan Cully <brendan@kublai.com>
parents:
2854
diff
changeset
|
1036 sm = difflib.SequenceMatcher(None, a, b) |
81f351c5264d
grep: display correct user/revision for --all in reverse.
Brendan Cully <brendan@kublai.com>
parents:
2854
diff
changeset
|
1037 for tag, alo, ahi, blo, bhi in sm.get_opcodes(): |
81f351c5264d
grep: display correct user/revision for --all in reverse.
Brendan Cully <brendan@kublai.com>
parents:
2854
diff
changeset
|
1038 if tag == 'insert': |
3472
df7202f6887c
use xrange instead of range
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3471
diff
changeset
|
1039 for i in xrange(blo, bhi): |
2869
81f351c5264d
grep: display correct user/revision for --all in reverse.
Brendan Cully <brendan@kublai.com>
parents:
2854
diff
changeset
|
1040 yield ('+', b[i]) |
81f351c5264d
grep: display correct user/revision for --all in reverse.
Brendan Cully <brendan@kublai.com>
parents:
2854
diff
changeset
|
1041 elif tag == 'delete': |
3472
df7202f6887c
use xrange instead of range
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3471
diff
changeset
|
1042 for i in xrange(alo, ahi): |
2869
81f351c5264d
grep: display correct user/revision for --all in reverse.
Brendan Cully <brendan@kublai.com>
parents:
2854
diff
changeset
|
1043 yield ('-', a[i]) |
81f351c5264d
grep: display correct user/revision for --all in reverse.
Brendan Cully <brendan@kublai.com>
parents:
2854
diff
changeset
|
1044 elif tag == 'replace': |
3472
df7202f6887c
use xrange instead of range
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3471
diff
changeset
|
1045 for i in xrange(alo, ahi): |
2869
81f351c5264d
grep: display correct user/revision for --all in reverse.
Brendan Cully <brendan@kublai.com>
parents:
2854
diff
changeset
|
1046 yield ('-', a[i]) |
3472
df7202f6887c
use xrange instead of range
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3471
diff
changeset
|
1047 for i in xrange(blo, bhi): |
2869
81f351c5264d
grep: display correct user/revision for --all in reverse.
Brendan Cully <brendan@kublai.com>
parents:
2854
diff
changeset
|
1048 yield ('+', b[i]) |
81f351c5264d
grep: display correct user/revision for --all in reverse.
Brendan Cully <brendan@kublai.com>
parents:
2854
diff
changeset
|
1049 |
1057 | 1050 prev = {} |
1051 def display(fn, rev, states, prevstates): | |
6134
7b937b26adf7
Make annotae/grep print short dates with -q/--quiet.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6133
diff
changeset
|
1052 datefunc = ui.quiet and util.shortdate or util.datestr |
3951
cb66641cdee3
grep: remove count handling, simplify, fix issue337
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3950
diff
changeset
|
1053 found = False |
1146
9061f79c6c6f
grep: extend functionality, add man page entry, add unit test.
bos@serpentine.internal.keyresearch.com
parents:
1145
diff
changeset
|
1054 filerevmatches = {} |
3951
cb66641cdee3
grep: remove count handling, simplify, fix issue337
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3950
diff
changeset
|
1055 r = prev.get(fn, -1) |
cb66641cdee3
grep: remove count handling, simplify, fix issue337
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3950
diff
changeset
|
1056 if opts['all']: |
cb66641cdee3
grep: remove count handling, simplify, fix issue337
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3950
diff
changeset
|
1057 iter = difflinestates(states, prevstates) |
2869
81f351c5264d
grep: display correct user/revision for --all in reverse.
Brendan Cully <brendan@kublai.com>
parents:
2854
diff
changeset
|
1058 else: |
3951
cb66641cdee3
grep: remove count handling, simplify, fix issue337
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3950
diff
changeset
|
1059 iter = [('', l) for l in prevstates] |
cb66641cdee3
grep: remove count handling, simplify, fix issue337
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3950
diff
changeset
|
1060 for change, l in iter: |
2869
81f351c5264d
grep: display correct user/revision for --all in reverse.
Brendan Cully <brendan@kublai.com>
parents:
2854
diff
changeset
|
1061 cols = [fn, str(r)] |
1615
83238c1db6de
Cleanup of indentation, spacing, newlines, strings and line length
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1607
diff
changeset
|
1062 if opts['line_number']: |
83238c1db6de
Cleanup of indentation, spacing, newlines, strings and line length
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1607
diff
changeset
|
1063 cols.append(str(l.linenum)) |
83238c1db6de
Cleanup of indentation, spacing, newlines, strings and line length
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1607
diff
changeset
|
1064 if opts['all']: |
83238c1db6de
Cleanup of indentation, spacing, newlines, strings and line length
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1607
diff
changeset
|
1065 cols.append(change) |
83238c1db6de
Cleanup of indentation, spacing, newlines, strings and line length
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1607
diff
changeset
|
1066 if opts['user']: |
3650
731e739b8659
move walkchangerevs to cmdutils
Matt Mackall <mpm@selenic.com>
parents:
3649
diff
changeset
|
1067 cols.append(ui.shortuser(get(r)[1])) |
6133
779f2309d67a
Add hg grep -d/--date to list the commit date of matched revisions.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6109
diff
changeset
|
1068 if opts.get('date'): |
6134
7b937b26adf7
Make annotae/grep print short dates with -q/--quiet.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6133
diff
changeset
|
1069 cols.append(datefunc(get(r)[2])) |
1146
9061f79c6c6f
grep: extend functionality, add man page entry, add unit test.
bos@serpentine.internal.keyresearch.com
parents:
1145
diff
changeset
|
1070 if opts['files_with_matches']: |
3523 | 1071 c = (fn, r) |
1615
83238c1db6de
Cleanup of indentation, spacing, newlines, strings and line length
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1607
diff
changeset
|
1072 if c in filerevmatches: |
83238c1db6de
Cleanup of indentation, spacing, newlines, strings and line length
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1607
diff
changeset
|
1073 continue |
1146
9061f79c6c6f
grep: extend functionality, add man page entry, add unit test.
bos@serpentine.internal.keyresearch.com
parents:
1145
diff
changeset
|
1074 filerevmatches[c] = 1 |
9061f79c6c6f
grep: extend functionality, add man page entry, add unit test.
bos@serpentine.internal.keyresearch.com
parents:
1145
diff
changeset
|
1075 else: |
9061f79c6c6f
grep: extend functionality, add man page entry, add unit test.
bos@serpentine.internal.keyresearch.com
parents:
1145
diff
changeset
|
1076 cols.append(l.line) |
9061f79c6c6f
grep: extend functionality, add man page entry, add unit test.
bos@serpentine.internal.keyresearch.com
parents:
1145
diff
changeset
|
1077 ui.write(sep.join(cols), eol) |
3951
cb66641cdee3
grep: remove count handling, simplify, fix issue337
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3950
diff
changeset
|
1078 found = True |
cb66641cdee3
grep: remove count handling, simplify, fix issue337
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3950
diff
changeset
|
1079 return found |
1057 | 1080 |
1081 fstate = {} | |
1145
bd917e1a26dd
grep: change default to printing first matching rev.
Bryan O'Sullivan <bos@serpentine.com>
parents:
1116
diff
changeset
|
1082 skip = {} |
3673
eb0b4a2d70a9
white space and line break cleanups
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3672
diff
changeset
|
1083 get = util.cachefunc(lambda r: repo.changectx(r).changeset()) |
3650
731e739b8659
move walkchangerevs to cmdutils
Matt Mackall <mpm@selenic.com>
parents:
3649
diff
changeset
|
1084 changeiter, matchfn = cmdutil.walkchangerevs(ui, repo, pats, get, opts) |
3951
cb66641cdee3
grep: remove count handling, simplify, fix issue337
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3950
diff
changeset
|
1085 found = False |
2870
8eaaf1321bfe
grep: add --follow support.
Brendan Cully <brendan@kublai.com>
parents:
2869
diff
changeset
|
1086 follow = opts.get('follow') |
1146
9061f79c6c6f
grep: extend functionality, add man page entry, add unit test.
bos@serpentine.internal.keyresearch.com
parents:
1145
diff
changeset
|
1087 for st, rev, fns in changeiter: |
1057 | 1088 if st == 'window': |
1089 matches.clear() | |
1090 elif st == 'add': | |
6146
e3dd35d3603b
Speed up hg grep by avoiding useless manifest parsing
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6139
diff
changeset
|
1091 ctx = repo.changectx(rev) |
1057 | 1092 matches[rev] = {} |
1093 for fn in fns: | |
1615
83238c1db6de
Cleanup of indentation, spacing, newlines, strings and line length
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1607
diff
changeset
|
1094 if fn in skip: |
83238c1db6de
Cleanup of indentation, spacing, newlines, strings and line length
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1607
diff
changeset
|
1095 continue |
1057 | 1096 try: |
6146
e3dd35d3603b
Speed up hg grep by avoiding useless manifest parsing
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6139
diff
changeset
|
1097 grepbody(fn, rev, getfile(fn).read(ctx.filenode(fn))) |
5105
64888ff907f4
Fix issue 685: trackback in grep -r after rename
Patrick Mezard <pmezard@gmail.com>
parents:
5083
diff
changeset
|
1098 fstate.setdefault(fn, []) |
2870
8eaaf1321bfe
grep: add --follow support.
Brendan Cully <brendan@kublai.com>
parents:
2869
diff
changeset
|
1099 if follow: |
6146
e3dd35d3603b
Speed up hg grep by avoiding useless manifest parsing
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6139
diff
changeset
|
1100 copied = getfile(fn).renamed(ctx.filenode(fn)) |
2870
8eaaf1321bfe
grep: add --follow support.
Brendan Cully <brendan@kublai.com>
parents:
2869
diff
changeset
|
1101 if copied: |
2931 | 1102 copies.setdefault(rev, {})[fn] = copied[0] |
6146
e3dd35d3603b
Speed up hg grep by avoiding useless manifest parsing
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6139
diff
changeset
|
1103 except revlog.LookupError: |
1057 | 1104 pass |
1105 elif st == 'iter': | |
1106 states = matches[rev].items() | |
1107 states.sort() | |
1108 for fn, m in states: | |
2931 | 1109 copy = copies.get(rev, {}).get(fn) |
1615
83238c1db6de
Cleanup of indentation, spacing, newlines, strings and line length
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1607
diff
changeset
|
1110 if fn in skip: |
2870
8eaaf1321bfe
grep: add --follow support.
Brendan Cully <brendan@kublai.com>
parents:
2869
diff
changeset
|
1111 if copy: |
8eaaf1321bfe
grep: add --follow support.
Brendan Cully <brendan@kublai.com>
parents:
2869
diff
changeset
|
1112 skip[copy] = True |
1615
83238c1db6de
Cleanup of indentation, spacing, newlines, strings and line length
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1607
diff
changeset
|
1113 continue |
3951
cb66641cdee3
grep: remove count handling, simplify, fix issue337
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3950
diff
changeset
|
1114 if fn in prev or fstate[fn]: |
cb66641cdee3
grep: remove count handling, simplify, fix issue337
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3950
diff
changeset
|
1115 r = display(fn, rev, m, fstate[fn]) |
cb66641cdee3
grep: remove count handling, simplify, fix issue337
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3950
diff
changeset
|
1116 found = found or r |
cb66641cdee3
grep: remove count handling, simplify, fix issue337
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3950
diff
changeset
|
1117 if r and not opts['all']: |
1145
bd917e1a26dd
grep: change default to printing first matching rev.
Bryan O'Sullivan <bos@serpentine.com>
parents:
1116
diff
changeset
|
1118 skip[fn] = True |
2870
8eaaf1321bfe
grep: add --follow support.
Brendan Cully <brendan@kublai.com>
parents:
2869
diff
changeset
|
1119 if copy: |
8eaaf1321bfe
grep: add --follow support.
Brendan Cully <brendan@kublai.com>
parents:
2869
diff
changeset
|
1120 skip[copy] = True |
1057 | 1121 fstate[fn] = m |
2870
8eaaf1321bfe
grep: add --follow support.
Brendan Cully <brendan@kublai.com>
parents:
2869
diff
changeset
|
1122 if copy: |
8eaaf1321bfe
grep: add --follow support.
Brendan Cully <brendan@kublai.com>
parents:
2869
diff
changeset
|
1123 fstate[copy] = m |
1057 | 1124 prev[fn] = rev |
1125 | |
3950
3d3007064a17
grep: incrementing is always False during 'iter'
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3933
diff
changeset
|
1126 fstate = fstate.items() |
3d3007064a17
grep: incrementing is always False during 'iter'
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3933
diff
changeset
|
1127 fstate.sort() |
3d3007064a17
grep: incrementing is always False during 'iter'
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3933
diff
changeset
|
1128 for fn, state in fstate: |
3d3007064a17
grep: incrementing is always False during 'iter'
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3933
diff
changeset
|
1129 if fn in skip: |
3d3007064a17
grep: incrementing is always False during 'iter'
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3933
diff
changeset
|
1130 continue |
3d3007064a17
grep: incrementing is always False during 'iter'
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3933
diff
changeset
|
1131 if fn not in copies.get(prev[fn], {}): |
3951
cb66641cdee3
grep: remove count handling, simplify, fix issue337
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3950
diff
changeset
|
1132 found = display(fn, rev, {}, state) or found |
cb66641cdee3
grep: remove count handling, simplify, fix issue337
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3950
diff
changeset
|
1133 return (not found and 1) or 0 |
1057 | 1134 |
4648
8e503fa54d2d
Add option to heads to show only heads for current branch.
Eric Hopper <hopper@omnifarious.org>
parents:
4646
diff
changeset
|
1135 def heads(ui, repo, *branchrevs, **opts): |
8e503fa54d2d
Add option to heads to show only heads for current branch.
Eric Hopper <hopper@omnifarious.org>
parents:
4646
diff
changeset
|
1136 """show current repository heads or show branch heads |
8e503fa54d2d
Add option to heads to show only heads for current branch.
Eric Hopper <hopper@omnifarious.org>
parents:
4646
diff
changeset
|
1137 |
8e503fa54d2d
Add option to heads to show only heads for current branch.
Eric Hopper <hopper@omnifarious.org>
parents:
4646
diff
changeset
|
1138 With no arguments, show all repository head changesets. |
8e503fa54d2d
Add option to heads to show only heads for current branch.
Eric Hopper <hopper@omnifarious.org>
parents:
4646
diff
changeset
|
1139 |
8e503fa54d2d
Add option to heads to show only heads for current branch.
Eric Hopper <hopper@omnifarious.org>
parents:
4646
diff
changeset
|
1140 If branch or revisions names are given this will show the heads of |
8e503fa54d2d
Add option to heads to show only heads for current branch.
Eric Hopper <hopper@omnifarious.org>
parents:
4646
diff
changeset
|
1141 the specified branches or the branches those revisions are tagged |
8e503fa54d2d
Add option to heads to show only heads for current branch.
Eric Hopper <hopper@omnifarious.org>
parents:
4646
diff
changeset
|
1142 with. |
8e503fa54d2d
Add option to heads to show only heads for current branch.
Eric Hopper <hopper@omnifarious.org>
parents:
4646
diff
changeset
|
1143 |
8e503fa54d2d
Add option to heads to show only heads for current branch.
Eric Hopper <hopper@omnifarious.org>
parents:
4646
diff
changeset
|
1144 Repository "heads" are changesets that don't have child |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1145 changesets. They are where development generally takes place and |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1146 are the usual targets for update and merge operations. |
4648
8e503fa54d2d
Add option to heads to show only heads for current branch.
Eric Hopper <hopper@omnifarious.org>
parents:
4646
diff
changeset
|
1147 |
8e503fa54d2d
Add option to heads to show only heads for current branch.
Eric Hopper <hopper@omnifarious.org>
parents:
4646
diff
changeset
|
1148 Branch heads are changesets that have a given branch tag, but have |
8e503fa54d2d
Add option to heads to show only heads for current branch.
Eric Hopper <hopper@omnifarious.org>
parents:
4646
diff
changeset
|
1149 no child changesets with that tag. They are usually where |
8e503fa54d2d
Add option to heads to show only heads for current branch.
Eric Hopper <hopper@omnifarious.org>
parents:
4646
diff
changeset
|
1150 development on the given branch takes place. |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1151 """ |
1550
ccb9b62de892
add a -r/--rev option to heads to show only heads descendant from rev
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1547
diff
changeset
|
1152 if opts['rev']: |
4648
8e503fa54d2d
Add option to heads to show only heads for current branch.
Eric Hopper <hopper@omnifarious.org>
parents:
4646
diff
changeset
|
1153 start = repo.lookup(opts['rev']) |
8e503fa54d2d
Add option to heads to show only heads for current branch.
Eric Hopper <hopper@omnifarious.org>
parents:
4646
diff
changeset
|
1154 else: |
8e503fa54d2d
Add option to heads to show only heads for current branch.
Eric Hopper <hopper@omnifarious.org>
parents:
4646
diff
changeset
|
1155 start = None |
8e503fa54d2d
Add option to heads to show only heads for current branch.
Eric Hopper <hopper@omnifarious.org>
parents:
4646
diff
changeset
|
1156 if not branchrevs: |
8e503fa54d2d
Add option to heads to show only heads for current branch.
Eric Hopper <hopper@omnifarious.org>
parents:
4646
diff
changeset
|
1157 # Assume we're looking repo-wide heads if no revs were specified. |
8e503fa54d2d
Add option to heads to show only heads for current branch.
Eric Hopper <hopper@omnifarious.org>
parents:
4646
diff
changeset
|
1158 heads = repo.heads(start) |
1550
ccb9b62de892
add a -r/--rev option to heads to show only heads descendant from rev
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1547
diff
changeset
|
1159 else: |
4648
8e503fa54d2d
Add option to heads to show only heads for current branch.
Eric Hopper <hopper@omnifarious.org>
parents:
4646
diff
changeset
|
1160 heads = [] |
4649
52259d5fb76d
Small fixes for 8e503fa54d2d (hg heads branch)
Brendan Cully <brendan@kublai.com>
parents:
4648
diff
changeset
|
1161 visitedset = util.set() |
4648
8e503fa54d2d
Add option to heads to show only heads for current branch.
Eric Hopper <hopper@omnifarious.org>
parents:
4646
diff
changeset
|
1162 for branchrev in branchrevs: |
8e503fa54d2d
Add option to heads to show only heads for current branch.
Eric Hopper <hopper@omnifarious.org>
parents:
4646
diff
changeset
|
1163 branch = repo.changectx(branchrev).branch() |
8e503fa54d2d
Add option to heads to show only heads for current branch.
Eric Hopper <hopper@omnifarious.org>
parents:
4646
diff
changeset
|
1164 if branch in visitedset: |
8e503fa54d2d
Add option to heads to show only heads for current branch.
Eric Hopper <hopper@omnifarious.org>
parents:
4646
diff
changeset
|
1165 continue |
8e503fa54d2d
Add option to heads to show only heads for current branch.
Eric Hopper <hopper@omnifarious.org>
parents:
4646
diff
changeset
|
1166 visitedset.add(branch) |
8e503fa54d2d
Add option to heads to show only heads for current branch.
Eric Hopper <hopper@omnifarious.org>
parents:
4646
diff
changeset
|
1167 bheads = repo.branchheads(branch, start) |
8e503fa54d2d
Add option to heads to show only heads for current branch.
Eric Hopper <hopper@omnifarious.org>
parents:
4646
diff
changeset
|
1168 if not bheads: |
8e503fa54d2d
Add option to heads to show only heads for current branch.
Eric Hopper <hopper@omnifarious.org>
parents:
4646
diff
changeset
|
1169 if branch != branchrev: |
8e503fa54d2d
Add option to heads to show only heads for current branch.
Eric Hopper <hopper@omnifarious.org>
parents:
4646
diff
changeset
|
1170 ui.warn(_("no changes on branch %s containing %s are " |
8e503fa54d2d
Add option to heads to show only heads for current branch.
Eric Hopper <hopper@omnifarious.org>
parents:
4646
diff
changeset
|
1171 "reachable from %s\n") |
8e503fa54d2d
Add option to heads to show only heads for current branch.
Eric Hopper <hopper@omnifarious.org>
parents:
4646
diff
changeset
|
1172 % (branch, branchrev, opts['rev'])) |
8e503fa54d2d
Add option to heads to show only heads for current branch.
Eric Hopper <hopper@omnifarious.org>
parents:
4646
diff
changeset
|
1173 else: |
8e503fa54d2d
Add option to heads to show only heads for current branch.
Eric Hopper <hopper@omnifarious.org>
parents:
4646
diff
changeset
|
1174 ui.warn(_("no changes on branch %s are reachable from %s\n") |
8e503fa54d2d
Add option to heads to show only heads for current branch.
Eric Hopper <hopper@omnifarious.org>
parents:
4646
diff
changeset
|
1175 % (branch, opts['rev'])) |
8e503fa54d2d
Add option to heads to show only heads for current branch.
Eric Hopper <hopper@omnifarious.org>
parents:
4646
diff
changeset
|
1176 heads.extend(bheads) |
8e503fa54d2d
Add option to heads to show only heads for current branch.
Eric Hopper <hopper@omnifarious.org>
parents:
4646
diff
changeset
|
1177 if not heads: |
8e503fa54d2d
Add option to heads to show only heads for current branch.
Eric Hopper <hopper@omnifarious.org>
parents:
4646
diff
changeset
|
1178 return 1 |
3643
b4ad640a3bcf
templates: move changeset templating bits to cmdutils
Matt Mackall <mpm@selenic.com>
parents:
3631
diff
changeset
|
1179 displayer = cmdutil.show_changeset(ui, repo, opts) |
1550
ccb9b62de892
add a -r/--rev option to heads to show only heads descendant from rev
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1547
diff
changeset
|
1180 for n in heads: |
3649
e50891e461e4
Consolidate brinfo handling
Matt Mackall <mpm@selenic.com>
parents:
3645
diff
changeset
|
1181 displayer.show(changenode=n) |
221 | 1182 |
3655
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1183 def help_(ui, name=None, with_version=False): |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1184 """show help for a command, extension, or list of commands |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1185 |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1186 With no arguments, print a list of commands and short help. |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1187 |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1188 Given a command name, print help for that command. |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1189 |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1190 Given an extension name, print help for that extension, and the |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1191 commands it provides.""" |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1192 option_lists = [] |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1193 |
4315
bc6f5a1d8b7b
Add a pointer to "hg -v help" to the bottom of hg help {,cmd} output
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4267
diff
changeset
|
1194 def addglobalopts(aliases): |
bc6f5a1d8b7b
Add a pointer to "hg -v help" to the bottom of hg help {,cmd} output
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4267
diff
changeset
|
1195 if ui.verbose: |
bc6f5a1d8b7b
Add a pointer to "hg -v help" to the bottom of hg help {,cmd} output
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4267
diff
changeset
|
1196 option_lists.append((_("global options:"), globalopts)) |
bc6f5a1d8b7b
Add a pointer to "hg -v help" to the bottom of hg help {,cmd} output
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4267
diff
changeset
|
1197 if name == 'shortlist': |
bc6f5a1d8b7b
Add a pointer to "hg -v help" to the bottom of hg help {,cmd} output
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4267
diff
changeset
|
1198 option_lists.append((_('use "hg help" for the full list ' |
bc6f5a1d8b7b
Add a pointer to "hg -v help" to the bottom of hg help {,cmd} output
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4267
diff
changeset
|
1199 'of commands'), ())) |
bc6f5a1d8b7b
Add a pointer to "hg -v help" to the bottom of hg help {,cmd} output
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4267
diff
changeset
|
1200 else: |
bc6f5a1d8b7b
Add a pointer to "hg -v help" to the bottom of hg help {,cmd} output
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4267
diff
changeset
|
1201 if name == 'shortlist': |
bc6f5a1d8b7b
Add a pointer to "hg -v help" to the bottom of hg help {,cmd} output
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4267
diff
changeset
|
1202 msg = _('use "hg help" for the full list of commands ' |
bc6f5a1d8b7b
Add a pointer to "hg -v help" to the bottom of hg help {,cmd} output
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4267
diff
changeset
|
1203 'or "hg -v" for details') |
bc6f5a1d8b7b
Add a pointer to "hg -v help" to the bottom of hg help {,cmd} output
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4267
diff
changeset
|
1204 elif aliases: |
bc6f5a1d8b7b
Add a pointer to "hg -v help" to the bottom of hg help {,cmd} output
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4267
diff
changeset
|
1205 msg = _('use "hg -v help%s" to show aliases and ' |
bc6f5a1d8b7b
Add a pointer to "hg -v help" to the bottom of hg help {,cmd} output
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4267
diff
changeset
|
1206 'global options') % (name and " " + name or "") |
bc6f5a1d8b7b
Add a pointer to "hg -v help" to the bottom of hg help {,cmd} output
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4267
diff
changeset
|
1207 else: |
bc6f5a1d8b7b
Add a pointer to "hg -v help" to the bottom of hg help {,cmd} output
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4267
diff
changeset
|
1208 msg = _('use "hg -v help %s" to show global options') % name |
bc6f5a1d8b7b
Add a pointer to "hg -v help" to the bottom of hg help {,cmd} output
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4267
diff
changeset
|
1209 option_lists.append((msg, ())) |
bc6f5a1d8b7b
Add a pointer to "hg -v help" to the bottom of hg help {,cmd} output
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4267
diff
changeset
|
1210 |
3655
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1211 def helpcmd(name): |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1212 if with_version: |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1213 version_(ui) |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1214 ui.write('\n') |
5178
18a9fbb5cd78
dispatch: move command dispatching into its own module
Matt Mackall <mpm@selenic.com>
parents:
5177
diff
changeset
|
1215 aliases, i = cmdutil.findcmd(ui, name, table) |
3655
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1216 # synopsis |
5783
28d9f8cd02f2
Move aliases section in help below synopsis (issue362)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5781
diff
changeset
|
1217 ui.write("%s\n" % i[2]) |
28d9f8cd02f2
Move aliases section in help below synopsis (issue362)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5781
diff
changeset
|
1218 |
28d9f8cd02f2
Move aliases section in help below synopsis (issue362)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5781
diff
changeset
|
1219 # aliases |
28d9f8cd02f2
Move aliases section in help below synopsis (issue362)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5781
diff
changeset
|
1220 if not ui.quiet and len(aliases) > 1: |
28d9f8cd02f2
Move aliases section in help below synopsis (issue362)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5781
diff
changeset
|
1221 ui.write(_("\naliases: %s\n") % ', '.join(aliases[1:])) |
3655
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1222 |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1223 # description |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1224 doc = i[0].__doc__ |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1225 if not doc: |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1226 doc = _("(No help text available)") |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1227 if ui.quiet: |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1228 doc = doc.splitlines(0)[0] |
5783
28d9f8cd02f2
Move aliases section in help below synopsis (issue362)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5781
diff
changeset
|
1229 ui.write("\n%s\n" % doc.rstrip()) |
3655
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1230 |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1231 if not ui.quiet: |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1232 # options |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1233 if i[1]: |
4315
bc6f5a1d8b7b
Add a pointer to "hg -v help" to the bottom of hg help {,cmd} output
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4267
diff
changeset
|
1234 option_lists.append((_("options:\n"), i[1])) |
bc6f5a1d8b7b
Add a pointer to "hg -v help" to the bottom of hg help {,cmd} output
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4267
diff
changeset
|
1235 |
bc6f5a1d8b7b
Add a pointer to "hg -v help" to the bottom of hg help {,cmd} output
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4267
diff
changeset
|
1236 addglobalopts(False) |
3655
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1237 |
4950
93b7e2fa7ee3
help: avoid traceback if an extension has only debug commands
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4942
diff
changeset
|
1238 def helplist(header, select=None): |
3655
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1239 h = {} |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1240 cmds = {} |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1241 for c, e in table.items(): |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1242 f = c.split("|", 1)[0] |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1243 if select and not select(f): |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1244 continue |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1245 if name == "shortlist" and not f.startswith("^"): |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1246 continue |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1247 f = f.lstrip("^") |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1248 if not ui.debugflag and f.startswith("debug"): |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1249 continue |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1250 doc = e[0].__doc__ |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1251 if not doc: |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1252 doc = _("(No help text available)") |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1253 h[f] = doc.splitlines(0)[0].rstrip() |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1254 cmds[f] = c.lstrip("^") |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1255 |
4950
93b7e2fa7ee3
help: avoid traceback if an extension has only debug commands
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4942
diff
changeset
|
1256 if not h: |
93b7e2fa7ee3
help: avoid traceback if an extension has only debug commands
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4942
diff
changeset
|
1257 ui.status(_('no commands defined\n')) |
93b7e2fa7ee3
help: avoid traceback if an extension has only debug commands
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4942
diff
changeset
|
1258 return |
93b7e2fa7ee3
help: avoid traceback if an extension has only debug commands
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4942
diff
changeset
|
1259 |
93b7e2fa7ee3
help: avoid traceback if an extension has only debug commands
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4942
diff
changeset
|
1260 ui.status(header) |
3655
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1261 fns = h.keys() |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1262 fns.sort() |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1263 m = max(map(len, fns)) |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1264 for f in fns: |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1265 if ui.verbose: |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1266 commands = cmds[f].replace("|",", ") |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1267 ui.write(" %s:\n %s\n"%(commands, h[f])) |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1268 else: |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1269 ui.write(' %-*s %s\n' % (m, f, h[f])) |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1270 |
4315
bc6f5a1d8b7b
Add a pointer to "hg -v help" to the bottom of hg help {,cmd} output
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4267
diff
changeset
|
1271 if not ui.quiet: |
bc6f5a1d8b7b
Add a pointer to "hg -v help" to the bottom of hg help {,cmd} output
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4267
diff
changeset
|
1272 addglobalopts(True) |
bc6f5a1d8b7b
Add a pointer to "hg -v help" to the bottom of hg help {,cmd} output
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4267
diff
changeset
|
1273 |
3795
17a11f4ff260
Add basic support for help topics and a dates topic
Matt Mackall <mpm@selenic.com>
parents:
3786
diff
changeset
|
1274 def helptopic(name): |
17a11f4ff260
Add basic support for help topics and a dates topic
Matt Mackall <mpm@selenic.com>
parents:
3786
diff
changeset
|
1275 v = None |
17a11f4ff260
Add basic support for help topics and a dates topic
Matt Mackall <mpm@selenic.com>
parents:
3786
diff
changeset
|
1276 for i in help.helptable: |
17a11f4ff260
Add basic support for help topics and a dates topic
Matt Mackall <mpm@selenic.com>
parents:
3786
diff
changeset
|
1277 l = i.split('|') |
17a11f4ff260
Add basic support for help topics and a dates topic
Matt Mackall <mpm@selenic.com>
parents:
3786
diff
changeset
|
1278 if name in l: |
17a11f4ff260
Add basic support for help topics and a dates topic
Matt Mackall <mpm@selenic.com>
parents:
3786
diff
changeset
|
1279 v = i |
17a11f4ff260
Add basic support for help topics and a dates topic
Matt Mackall <mpm@selenic.com>
parents:
3786
diff
changeset
|
1280 header = l[-1] |
17a11f4ff260
Add basic support for help topics and a dates topic
Matt Mackall <mpm@selenic.com>
parents:
3786
diff
changeset
|
1281 if not v: |
4549
0c61124ad877
dispatch: move dispatching code to cmdutil
Matt Mackall <mpm@selenic.com>
parents:
4548
diff
changeset
|
1282 raise cmdutil.UnknownCommand(name) |
3795
17a11f4ff260
Add basic support for help topics and a dates topic
Matt Mackall <mpm@selenic.com>
parents:
3786
diff
changeset
|
1283 |
17a11f4ff260
Add basic support for help topics and a dates topic
Matt Mackall <mpm@selenic.com>
parents:
3786
diff
changeset
|
1284 # description |
17a11f4ff260
Add basic support for help topics and a dates topic
Matt Mackall <mpm@selenic.com>
parents:
3786
diff
changeset
|
1285 doc = help.helptable[v] |
17a11f4ff260
Add basic support for help topics and a dates topic
Matt Mackall <mpm@selenic.com>
parents:
3786
diff
changeset
|
1286 if not doc: |
17a11f4ff260
Add basic support for help topics and a dates topic
Matt Mackall <mpm@selenic.com>
parents:
3786
diff
changeset
|
1287 doc = _("(No help text available)") |
3796
58133ba5847d
Allow topics to be callables
Matt Mackall <mpm@selenic.com>
parents:
3795
diff
changeset
|
1288 if callable(doc): |
58133ba5847d
Allow topics to be callables
Matt Mackall <mpm@selenic.com>
parents:
3795
diff
changeset
|
1289 doc = doc() |
3795
17a11f4ff260
Add basic support for help topics and a dates topic
Matt Mackall <mpm@selenic.com>
parents:
3786
diff
changeset
|
1290 |
17a11f4ff260
Add basic support for help topics and a dates topic
Matt Mackall <mpm@selenic.com>
parents:
3786
diff
changeset
|
1291 ui.write("%s\n" % header) |
17a11f4ff260
Add basic support for help topics and a dates topic
Matt Mackall <mpm@selenic.com>
parents:
3786
diff
changeset
|
1292 ui.write("%s\n" % doc.rstrip()) |
17a11f4ff260
Add basic support for help topics and a dates topic
Matt Mackall <mpm@selenic.com>
parents:
3786
diff
changeset
|
1293 |
3655
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1294 def helpext(name): |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1295 try: |
4544
930ed513c864
Create a separate module for managing extensions
Matt Mackall <mpm@selenic.com>
parents:
4543
diff
changeset
|
1296 mod = extensions.find(name) |
3655
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1297 except KeyError: |
4549
0c61124ad877
dispatch: move dispatching code to cmdutil
Matt Mackall <mpm@selenic.com>
parents:
4548
diff
changeset
|
1298 raise cmdutil.UnknownCommand(name) |
3655
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1299 |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1300 doc = (mod.__doc__ or _('No help text available')).splitlines(0) |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1301 ui.write(_('%s extension - %s\n') % (name.split('.')[-1], doc[0])) |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1302 for d in doc[1:]: |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1303 ui.write(d, '\n') |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1304 |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1305 ui.status('\n') |
4009
86098ec4b77a
fix hg help <ext> for extension that do not define any command
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3915
diff
changeset
|
1306 |
86098ec4b77a
fix hg help <ext> for extension that do not define any command
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3915
diff
changeset
|
1307 try: |
86098ec4b77a
fix hg help <ext> for extension that do not define any command
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3915
diff
changeset
|
1308 ct = mod.cmdtable |
86098ec4b77a
fix hg help <ext> for extension that do not define any command
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3915
diff
changeset
|
1309 except AttributeError: |
4950
93b7e2fa7ee3
help: avoid traceback if an extension has only debug commands
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4942
diff
changeset
|
1310 ct = {} |
93b7e2fa7ee3
help: avoid traceback if an extension has only debug commands
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4942
diff
changeset
|
1311 |
4009
86098ec4b77a
fix hg help <ext> for extension that do not define any command
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3915
diff
changeset
|
1312 modcmds = dict.fromkeys([c.split('|', 1)[0] for c in ct]) |
4950
93b7e2fa7ee3
help: avoid traceback if an extension has only debug commands
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4942
diff
changeset
|
1313 helplist(_('list of commands:\n\n'), modcmds.has_key) |
3655
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1314 |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1315 if name and name != 'shortlist': |
3795
17a11f4ff260
Add basic support for help topics and a dates topic
Matt Mackall <mpm@selenic.com>
parents:
3786
diff
changeset
|
1316 i = None |
17a11f4ff260
Add basic support for help topics and a dates topic
Matt Mackall <mpm@selenic.com>
parents:
3786
diff
changeset
|
1317 for f in (helpcmd, helptopic, helpext): |
17a11f4ff260
Add basic support for help topics and a dates topic
Matt Mackall <mpm@selenic.com>
parents:
3786
diff
changeset
|
1318 try: |
17a11f4ff260
Add basic support for help topics and a dates topic
Matt Mackall <mpm@selenic.com>
parents:
3786
diff
changeset
|
1319 f(name) |
17a11f4ff260
Add basic support for help topics and a dates topic
Matt Mackall <mpm@selenic.com>
parents:
3786
diff
changeset
|
1320 i = None |
17a11f4ff260
Add basic support for help topics and a dates topic
Matt Mackall <mpm@selenic.com>
parents:
3786
diff
changeset
|
1321 break |
4549
0c61124ad877
dispatch: move dispatching code to cmdutil
Matt Mackall <mpm@selenic.com>
parents:
4548
diff
changeset
|
1322 except cmdutil.UnknownCommand, inst: |
3795
17a11f4ff260
Add basic support for help topics and a dates topic
Matt Mackall <mpm@selenic.com>
parents:
3786
diff
changeset
|
1323 i = inst |
17a11f4ff260
Add basic support for help topics and a dates topic
Matt Mackall <mpm@selenic.com>
parents:
3786
diff
changeset
|
1324 if i: |
17a11f4ff260
Add basic support for help topics and a dates topic
Matt Mackall <mpm@selenic.com>
parents:
3786
diff
changeset
|
1325 raise i |
3655
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1326 |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1327 else: |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1328 # program name |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1329 if ui.verbose or with_version: |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1330 version_(ui) |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1331 else: |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1332 ui.status(_("Mercurial Distributed SCM\n")) |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1333 ui.status('\n') |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1334 |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1335 # list of commands |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1336 if name == "shortlist": |
4950
93b7e2fa7ee3
help: avoid traceback if an extension has only debug commands
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4942
diff
changeset
|
1337 header = _('basic commands:\n\n') |
4315
bc6f5a1d8b7b
Add a pointer to "hg -v help" to the bottom of hg help {,cmd} output
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4267
diff
changeset
|
1338 else: |
4950
93b7e2fa7ee3
help: avoid traceback if an extension has only debug commands
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4942
diff
changeset
|
1339 header = _('list of commands:\n\n') |
93b7e2fa7ee3
help: avoid traceback if an extension has only debug commands
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4942
diff
changeset
|
1340 |
93b7e2fa7ee3
help: avoid traceback if an extension has only debug commands
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4942
diff
changeset
|
1341 helplist(header) |
3655
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1342 |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1343 # list all option lists |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1344 opt_output = [] |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1345 for title, options in option_lists: |
4315
bc6f5a1d8b7b
Add a pointer to "hg -v help" to the bottom of hg help {,cmd} output
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4267
diff
changeset
|
1346 opt_output.append(("\n%s" % title, None)) |
3655
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1347 for shortopt, longopt, default, desc in options: |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1348 if "DEPRECATED" in desc and not ui.verbose: continue |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1349 opt_output.append(("%2s%s" % (shortopt and "-%s" % shortopt, |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1350 longopt and " --%s" % longopt), |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1351 "%s%s" % (desc, |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1352 default |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1353 and _(" (default: %s)") % default |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1354 or ""))) |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1355 |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1356 if opt_output: |
4315
bc6f5a1d8b7b
Add a pointer to "hg -v help" to the bottom of hg help {,cmd} output
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4267
diff
changeset
|
1357 opts_len = max([len(line[0]) for line in opt_output if line[1]] or [0]) |
3655
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1358 for first, second in opt_output: |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1359 if second: |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1360 ui.write(" %-*s %s\n" % (opts_len, first, second)) |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1361 else: |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1362 ui.write("%s\n" % first) |
221 | 1363 |
4671
150afe6becf6
identify: take a path to a remote repo
Matt Mackall <mpm@selenic.com>
parents:
4667
diff
changeset
|
1364 def identify(ui, repo, source=None, |
150afe6becf6
identify: take a path to a remote repo
Matt Mackall <mpm@selenic.com>
parents:
4667
diff
changeset
|
1365 rev=None, num=None, id=None, branch=None, tags=None): |
4665
091c9e54d306
identify: accept a revision argument
Matt Mackall <mpm@selenic.com>
parents:
4664
diff
changeset
|
1366 """identify the working copy or specified revision |
091c9e54d306
identify: accept a revision argument
Matt Mackall <mpm@selenic.com>
parents:
4664
diff
changeset
|
1367 |
4671
150afe6becf6
identify: take a path to a remote repo
Matt Mackall <mpm@selenic.com>
parents:
4667
diff
changeset
|
1368 With no revision, print a summary of the current state of the repo. |
150afe6becf6
identify: take a path to a remote repo
Matt Mackall <mpm@selenic.com>
parents:
4667
diff
changeset
|
1369 |
150afe6becf6
identify: take a path to a remote repo
Matt Mackall <mpm@selenic.com>
parents:
4667
diff
changeset
|
1370 With a path, do a lookup in another repository. |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1371 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1372 This summary identifies the repository state using one or two parent |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1373 hash identifiers, followed by a "+" if there are uncommitted changes |
4665
091c9e54d306
identify: accept a revision argument
Matt Mackall <mpm@selenic.com>
parents:
4664
diff
changeset
|
1374 in the working directory, a list of tags for this revision and a branch |
091c9e54d306
identify: accept a revision argument
Matt Mackall <mpm@selenic.com>
parents:
4664
diff
changeset
|
1375 name for non-default branches. |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1376 """ |
4662
f9b8ea362b49
identify: show nullid for empty repo
Matt Mackall <mpm@selenic.com>
parents:
4659
diff
changeset
|
1377 |
5330
4528858e7202
make identify an optionalrepo command
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
5329
diff
changeset
|
1378 if not repo and not source: |
4528858e7202
make identify an optionalrepo command
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
5329
diff
changeset
|
1379 raise util.Abort(_("There is no Mercurial repository here " |
4528858e7202
make identify an optionalrepo command
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
5329
diff
changeset
|
1380 "(.hg not found)")) |
4528858e7202
make identify an optionalrepo command
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
5329
diff
changeset
|
1381 |
2966
fb493241d7f6
Only show long hashes with --debug, not --verbose
Matt Mackall <mpm@selenic.com>
parents:
2963
diff
changeset
|
1382 hexfunc = ui.debugflag and hex or short |
4666
48c94bffdb28
identify: add support for output flags
Matt Mackall <mpm@selenic.com>
parents:
4665
diff
changeset
|
1383 default = not (num or id or branch or tags) |
48c94bffdb28
identify: add support for output flags
Matt Mackall <mpm@selenic.com>
parents:
4665
diff
changeset
|
1384 output = [] |
4664 | 1385 |
4671
150afe6becf6
identify: take a path to a remote repo
Matt Mackall <mpm@selenic.com>
parents:
4667
diff
changeset
|
1386 if source: |
5248 | 1387 source, revs, checkout = hg.parseurl(ui.expandpath(source), []) |
4671
150afe6becf6
identify: take a path to a remote repo
Matt Mackall <mpm@selenic.com>
parents:
4667
diff
changeset
|
1388 srepo = hg.repository(ui, source) |
150afe6becf6
identify: take a path to a remote repo
Matt Mackall <mpm@selenic.com>
parents:
4667
diff
changeset
|
1389 if not rev and revs: |
150afe6becf6
identify: take a path to a remote repo
Matt Mackall <mpm@selenic.com>
parents:
4667
diff
changeset
|
1390 rev = revs[0] |
4667
c7a81e3ae80f
identify: work with remote repos
Matt Mackall <mpm@selenic.com>
parents:
4666
diff
changeset
|
1391 if not rev: |
c7a81e3ae80f
identify: work with remote repos
Matt Mackall <mpm@selenic.com>
parents:
4666
diff
changeset
|
1392 rev = "tip" |
c7a81e3ae80f
identify: work with remote repos
Matt Mackall <mpm@selenic.com>
parents:
4666
diff
changeset
|
1393 if num or branch or tags: |
c7a81e3ae80f
identify: work with remote repos
Matt Mackall <mpm@selenic.com>
parents:
4666
diff
changeset
|
1394 raise util.Abort( |
c7a81e3ae80f
identify: work with remote repos
Matt Mackall <mpm@selenic.com>
parents:
4666
diff
changeset
|
1395 "can't query remote revision number, branch, or tags") |
4671
150afe6becf6
identify: take a path to a remote repo
Matt Mackall <mpm@selenic.com>
parents:
4667
diff
changeset
|
1396 output = [hexfunc(srepo.lookup(rev))] |
4667
c7a81e3ae80f
identify: work with remote repos
Matt Mackall <mpm@selenic.com>
parents:
4666
diff
changeset
|
1397 elif not rev: |
4665
091c9e54d306
identify: accept a revision argument
Matt Mackall <mpm@selenic.com>
parents:
4664
diff
changeset
|
1398 ctx = repo.workingctx() |
091c9e54d306
identify: accept a revision argument
Matt Mackall <mpm@selenic.com>
parents:
4664
diff
changeset
|
1399 parents = ctx.parents() |
4666
48c94bffdb28
identify: add support for output flags
Matt Mackall <mpm@selenic.com>
parents:
4665
diff
changeset
|
1400 changed = False |
48c94bffdb28
identify: add support for output flags
Matt Mackall <mpm@selenic.com>
parents:
4665
diff
changeset
|
1401 if default or id or num: |
48c94bffdb28
identify: add support for output flags
Matt Mackall <mpm@selenic.com>
parents:
4665
diff
changeset
|
1402 changed = ctx.files() + ctx.deleted() |
48c94bffdb28
identify: add support for output flags
Matt Mackall <mpm@selenic.com>
parents:
4665
diff
changeset
|
1403 if default or id: |
48c94bffdb28
identify: add support for output flags
Matt Mackall <mpm@selenic.com>
parents:
4665
diff
changeset
|
1404 output = ["%s%s" % ('+'.join([hexfunc(p.node()) for p in parents]), |
48c94bffdb28
identify: add support for output flags
Matt Mackall <mpm@selenic.com>
parents:
4665
diff
changeset
|
1405 (changed) and "+" or "")] |
48c94bffdb28
identify: add support for output flags
Matt Mackall <mpm@selenic.com>
parents:
4665
diff
changeset
|
1406 if num: |
48c94bffdb28
identify: add support for output flags
Matt Mackall <mpm@selenic.com>
parents:
4665
diff
changeset
|
1407 output.append("%s%s" % ('+'.join([str(p.rev()) for p in parents]), |
48c94bffdb28
identify: add support for output flags
Matt Mackall <mpm@selenic.com>
parents:
4665
diff
changeset
|
1408 (changed) and "+" or "")) |
4665
091c9e54d306
identify: accept a revision argument
Matt Mackall <mpm@selenic.com>
parents:
4664
diff
changeset
|
1409 else: |
091c9e54d306
identify: accept a revision argument
Matt Mackall <mpm@selenic.com>
parents:
4664
diff
changeset
|
1410 ctx = repo.changectx(rev) |
4666
48c94bffdb28
identify: add support for output flags
Matt Mackall <mpm@selenic.com>
parents:
4665
diff
changeset
|
1411 if default or id: |
48c94bffdb28
identify: add support for output flags
Matt Mackall <mpm@selenic.com>
parents:
4665
diff
changeset
|
1412 output = [hexfunc(ctx.node())] |
48c94bffdb28
identify: add support for output flags
Matt Mackall <mpm@selenic.com>
parents:
4665
diff
changeset
|
1413 if num: |
48c94bffdb28
identify: add support for output flags
Matt Mackall <mpm@selenic.com>
parents:
4665
diff
changeset
|
1414 output.append(str(ctx.rev())) |
48c94bffdb28
identify: add support for output flags
Matt Mackall <mpm@selenic.com>
parents:
4665
diff
changeset
|
1415 |
4671
150afe6becf6
identify: take a path to a remote repo
Matt Mackall <mpm@selenic.com>
parents:
4667
diff
changeset
|
1416 if not source and default and not ui.quiet: |
4666
48c94bffdb28
identify: add support for output flags
Matt Mackall <mpm@selenic.com>
parents:
4665
diff
changeset
|
1417 b = util.tolocal(ctx.branch()) |
48c94bffdb28
identify: add support for output flags
Matt Mackall <mpm@selenic.com>
parents:
4665
diff
changeset
|
1418 if b != 'default': |
48c94bffdb28
identify: add support for output flags
Matt Mackall <mpm@selenic.com>
parents:
4665
diff
changeset
|
1419 output.append("(%s)" % b) |
3415 | 1420 |
386
494c8e3f47f3
Improvements for hg identify:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
371
diff
changeset
|
1421 # multiple tags for a single parent separated by '/' |
4666
48c94bffdb28
identify: add support for output flags
Matt Mackall <mpm@selenic.com>
parents:
4665
diff
changeset
|
1422 t = "/".join(ctx.tags()) |
48c94bffdb28
identify: add support for output flags
Matt Mackall <mpm@selenic.com>
parents:
4665
diff
changeset
|
1423 if t: |
48c94bffdb28
identify: add support for output flags
Matt Mackall <mpm@selenic.com>
parents:
4665
diff
changeset
|
1424 output.append(t) |
48c94bffdb28
identify: add support for output flags
Matt Mackall <mpm@selenic.com>
parents:
4665
diff
changeset
|
1425 |
48c94bffdb28
identify: add support for output flags
Matt Mackall <mpm@selenic.com>
parents:
4665
diff
changeset
|
1426 if branch: |
48c94bffdb28
identify: add support for output flags
Matt Mackall <mpm@selenic.com>
parents:
4665
diff
changeset
|
1427 output.append(util.tolocal(ctx.branch())) |
48c94bffdb28
identify: add support for output flags
Matt Mackall <mpm@selenic.com>
parents:
4665
diff
changeset
|
1428 |
48c94bffdb28
identify: add support for output flags
Matt Mackall <mpm@selenic.com>
parents:
4665
diff
changeset
|
1429 if tags: |
48c94bffdb28
identify: add support for output flags
Matt Mackall <mpm@selenic.com>
parents:
4665
diff
changeset
|
1430 output.extend(ctx.tags()) |
339
a76fc9c4b67b
added hg identify|id (based on a patch from Andrew Thompson)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
338
diff
changeset
|
1431 |
386
494c8e3f47f3
Improvements for hg identify:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
371
diff
changeset
|
1432 ui.write("%s\n" % ' '.join(output)) |
339
a76fc9c4b67b
added hg identify|id (based on a patch from Andrew Thompson)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
338
diff
changeset
|
1433 |
437 | 1434 def import_(ui, repo, patch1, *patches, **opts): |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1435 """import an ordered set of patches |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1436 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1437 Import a list of patches and commit them individually. |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1438 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1439 If there are outstanding changes in the working directory, import |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1440 will abort unless given the -f flag. |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1441 |
2504
158d3d2ae070
import: parse email messages
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2494
diff
changeset
|
1442 You can import a patch straight from a mail message. Even patches |
158d3d2ae070
import: parse email messages
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2494
diff
changeset
|
1443 as attachments work (body part must be type text/plain or |
2515
a6700c222314
import: make help clearer. suggested by asak.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2513
diff
changeset
|
1444 text/x-patch to be used). From and Subject headers of email |
a6700c222314
import: make help clearer. suggested by asak.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2513
diff
changeset
|
1445 message are used as default committer and commit message. All |
a6700c222314
import: make help clearer. suggested by asak.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2513
diff
changeset
|
1446 text/plain body parts before first diff are added to commit |
a6700c222314
import: make help clearer. suggested by asak.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2513
diff
changeset
|
1447 message. |
2504
158d3d2ae070
import: parse email messages
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2494
diff
changeset
|
1448 |
4263 | 1449 If the imported patch was generated by hg export, user and description |
2504
158d3d2ae070
import: parse email messages
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2494
diff
changeset
|
1450 from patch override values from message headers and body. Values |
158d3d2ae070
import: parse email messages
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2494
diff
changeset
|
1451 given on command line with -m and -u override these. |
2400
2e90024e1471
import: allow to import stdin with file name "-"
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2397
diff
changeset
|
1452 |
4263 | 1453 If --exact is specified, import will set the working directory |
1454 to the parent of each patch before applying it, and will abort | |
1455 if the resulting changeset has a different ID than the one | |
1456 recorded in the patch. This may happen due to character set | |
1457 problems or other deficiencies in the text patch format. | |
1458 | |
2400
2e90024e1471
import: allow to import stdin with file name "-"
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2397
diff
changeset
|
1459 To read a patch from standard input, use patch name "-". |
6163
1f733c2f0165
Document log date ranges and mention 'hg help dates' for all commands (issue998)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6161
diff
changeset
|
1460 See 'hg help dates' for a list of formats valid for -d/--date. |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1461 """ |
437 | 1462 patches = (patch1,) + patches |
500
ebc4714a7632
[PATCH] Clean up destination directory if a clone fails.
mpm@selenic.com
parents:
499
diff
changeset
|
1463 |
6139
989467e8e3a9
Fix bad behaviour when specifying an invalid date (issue700)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6134
diff
changeset
|
1464 date = opts.get('date') |
989467e8e3a9
Fix bad behaviour when specifying an invalid date (issue700)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6134
diff
changeset
|
1465 if date: |
989467e8e3a9
Fix bad behaviour when specifying an invalid date (issue700)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6134
diff
changeset
|
1466 opts['date'] = util.parsedate(date) |
989467e8e3a9
Fix bad behaviour when specifying an invalid date (issue700)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6134
diff
changeset
|
1467 |
4263 | 1468 if opts.get('exact') or not opts['force']: |
4549
0c61124ad877
dispatch: move dispatching code to cmdutil
Matt Mackall <mpm@selenic.com>
parents:
4548
diff
changeset
|
1469 cmdutil.bail_if_changed(repo) |
966
022bcc738389
hg import: abort with uncommitted changes, override with --force
mpm@selenic.com
parents:
965
diff
changeset
|
1470 |
437 | 1471 d = opts["base"] |
1472 strip = opts["strip"] | |
4915
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
1473 wlock = lock = None |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
1474 try: |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
1475 wlock = repo.wlock() |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
1476 lock = repo.lock() |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
1477 for p in patches: |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
1478 pf = os.path.join(d, p) |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
1479 |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
1480 if pf == '-': |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
1481 ui.status(_("applying patch from stdin\n")) |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
1482 data = patch.extract(ui, sys.stdin) |
2400
2e90024e1471
import: allow to import stdin with file name "-"
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2397
diff
changeset
|
1483 else: |
4915
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
1484 ui.status(_("applying %s\n") % p) |
5205 | 1485 if os.path.exists(pf): |
1486 data = patch.extract(ui, file(pf, 'rb')) | |
1487 else: | |
1488 data = patch.extract(ui, urllib.urlopen(pf)) | |
4915
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
1489 tmpname, message, user, date, branch, nodeid, p1, p2 = data |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
1490 |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
1491 if tmpname is None: |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
1492 raise util.Abort(_('no diffs found')) |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
1493 |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
1494 try: |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
1495 cmdline_message = cmdutil.logmessage(opts) |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
1496 if cmdline_message: |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
1497 # pickup the cmdline msg |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
1498 message = cmdline_message |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
1499 elif message: |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
1500 # pickup the patch msg |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
1501 message = message.strip() |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
1502 else: |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
1503 # launch the editor |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
1504 message = None |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
1505 ui.debug(_('message:\n%s\n') % message) |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
1506 |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
1507 wp = repo.workingctx().parents() |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
1508 if opts.get('exact'): |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
1509 if not nodeid or not p1: |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
1510 raise util.Abort(_('not a mercurial patch')) |
4264
bda63383d529
Make import opportunistically use merge information
Brendan Cully <brendan@kublai.com>
parents:
4263
diff
changeset
|
1511 p1 = repo.lookup(p1) |
4915
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
1512 p2 = repo.lookup(p2 or hex(nullid)) |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
1513 |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
1514 if p1 != wp[0].node(): |
4917
126f527b3ba3
Make repo locks recursive, eliminate all passing of lock/wlock
Matt Mackall <mpm@selenic.com>
parents:
4915
diff
changeset
|
1515 hg.clean(repo, p1) |
4915
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
1516 repo.dirstate.setparents(p1, p2) |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
1517 elif p2: |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
1518 try: |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
1519 p1 = repo.lookup(p1) |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
1520 p2 = repo.lookup(p2) |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
1521 if p1 == wp[0].node(): |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
1522 repo.dirstate.setparents(p1, p2) |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
1523 except hg.RepoError: |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
1524 pass |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
1525 if opts.get('exact') or opts.get('import_branch'): |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
1526 repo.dirstate.setbranch(branch or 'default') |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
1527 |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
1528 files = {} |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
1529 try: |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
1530 fuzz = patch.patch(tmpname, ui, strip=strip, cwd=repo.root, |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
1531 files=files) |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
1532 finally: |
4917
126f527b3ba3
Make repo locks recursive, eliminate all passing of lock/wlock
Matt Mackall <mpm@selenic.com>
parents:
4915
diff
changeset
|
1533 files = patch.updatedir(ui, repo, files) |
5936
00dfc810dae4
Add --no-commit option to import command
Joel Rosdahl <joel@rosdahl.net>
parents:
5858
diff
changeset
|
1534 if not opts.get('no_commit'): |
5953
e7f1be4bf40a
Permitting the import command to accept a --user option.
Jesse Glick <jesse.glick@sun.com>
parents:
5936
diff
changeset
|
1535 n = repo.commit(files, message, opts.get('user') or user, |
e7f1be4bf40a
Permitting the import command to accept a --user option.
Jesse Glick <jesse.glick@sun.com>
parents:
5936
diff
changeset
|
1536 opts.get('date') or date) |
5936
00dfc810dae4
Add --no-commit option to import command
Joel Rosdahl <joel@rosdahl.net>
parents:
5858
diff
changeset
|
1537 if opts.get('exact'): |
00dfc810dae4
Add --no-commit option to import command
Joel Rosdahl <joel@rosdahl.net>
parents:
5858
diff
changeset
|
1538 if hex(n) != nodeid: |
00dfc810dae4
Add --no-commit option to import command
Joel Rosdahl <joel@rosdahl.net>
parents:
5858
diff
changeset
|
1539 repo.rollback() |
00dfc810dae4
Add --no-commit option to import command
Joel Rosdahl <joel@rosdahl.net>
parents:
5858
diff
changeset
|
1540 raise util.Abort(_('patch is damaged' |
00dfc810dae4
Add --no-commit option to import command
Joel Rosdahl <joel@rosdahl.net>
parents:
5858
diff
changeset
|
1541 ' or loses information')) |
6001 | 1542 # Force a dirstate write so that the next transaction |
1543 # backups an up-do-date file. | |
1544 repo.dirstate.write() | |
3465
2d35a8d2b32d
patch: return list of modified files even when an exception is raised
Brendan Cully <brendan@kublai.com>
parents:
3460
diff
changeset
|
1545 finally: |
4915
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
1546 os.unlink(tmpname) |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
1547 finally: |
5053
47a8ea1eb2c3
del transaction before lock before wlock
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
5034
diff
changeset
|
1548 del lock, wlock |
437 | 1549 |
1192
6e165de907c5
Add -p to incoming and outgoing commands to show patch
TK Soh <teekaysoh@yahoo.com>
parents:
1191
diff
changeset
|
1550 def incoming(ui, repo, source="default", **opts): |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1551 """show new changesets found in source |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1552 |
1979
d545fa1426b9
More detailed documentation about ssh:// URLs; fixes issue170.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1974
diff
changeset
|
1553 Show new changesets found in the specified path/URL or the default |
d545fa1426b9
More detailed documentation about ssh:// URLs; fixes issue170.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1974
diff
changeset
|
1554 pull location. These are the changesets that would be pulled if a pull |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1555 was requested. |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1556 |
1944
fdf40c9b3306
incoming: add support for remote repo using bundlerepo
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1943
diff
changeset
|
1557 For remote repository, using --bundle avoids downloading the changesets |
fdf40c9b3306
incoming: add support for remote repo using bundlerepo
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1943
diff
changeset
|
1558 twice if the incoming is followed by a pull. |
1979
d545fa1426b9
More detailed documentation about ssh:// URLs; fixes issue170.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1974
diff
changeset
|
1559 |
d545fa1426b9
More detailed documentation about ssh:// URLs; fixes issue170.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1974
diff
changeset
|
1560 See pull for valid source format details. |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1561 """ |
5248 | 1562 source, revs, checkout = hg.parseurl(ui.expandpath(source), opts['rev']) |
4549
0c61124ad877
dispatch: move dispatching code to cmdutil
Matt Mackall <mpm@selenic.com>
parents:
4548
diff
changeset
|
1563 cmdutil.setremoteconfig(ui, opts) |
1965
62aa1b90414f
add remotecmd/ssh option support to incoming/outgoing
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1959
diff
changeset
|
1564 |
927
5a830d7bea52
Add hg incoming command for local repositories
mpm@selenic.com
parents:
924
diff
changeset
|
1565 other = hg.repository(ui, source) |
5525
dcbda0c4c3eb
Do not display passwords with pull/push/incoming/outgoing
Manuel Holtgrewe <purestorm@ggnore.net>
parents:
5482
diff
changeset
|
1566 ui.status(_('comparing with %s\n') % util.hidepassword(source)) |
4478
b2b55acbacdd
Add support for url#id syntax
Matt Mackall <mpm@selenic.com>
parents:
4474
diff
changeset
|
1567 if revs: |
5259
65dc707606ed
Push capability checking into protocol-level code.
Bryan O'Sullivan <bos@serpentine.com>
parents:
5248
diff
changeset
|
1568 revs = [other.lookup(rev) for rev in revs] |
4451
671158f060cc
Make "hg incoming -r revision_number" work for remote repos (issue566)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4324
diff
changeset
|
1569 incoming = repo.findincoming(other, heads=revs, force=opts["force"]) |
1944
fdf40c9b3306
incoming: add support for remote repo using bundlerepo
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1943
diff
changeset
|
1570 if not incoming: |
3933
7997c0e01bfc
hg in: if no incoming csets, remove existing bundle
Matt Mackall <mpm@selenic.com>
parents:
3931
diff
changeset
|
1571 try: |
7997c0e01bfc
hg in: if no incoming csets, remove existing bundle
Matt Mackall <mpm@selenic.com>
parents:
3931
diff
changeset
|
1572 os.unlink(opts["bundle"]) |
7997c0e01bfc
hg in: if no incoming csets, remove existing bundle
Matt Mackall <mpm@selenic.com>
parents:
3931
diff
changeset
|
1573 except: |
7997c0e01bfc
hg in: if no incoming csets, remove existing bundle
Matt Mackall <mpm@selenic.com>
parents:
3931
diff
changeset
|
1574 pass |
1993
fb6ca9801d04
show message if no changes found on incoming
TK Soh <teekaysoh@yahoo.com>
parents:
1981
diff
changeset
|
1575 ui.status(_("no changes found\n")) |
3931
f2cbcf1e98b2
incoming/outgoing: return failure if no changes found
Matt Mackall <mpm@selenic.com>
parents:
3930
diff
changeset
|
1576 return 1 |
1944
fdf40c9b3306
incoming: add support for remote repo using bundlerepo
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1943
diff
changeset
|
1577 |
fdf40c9b3306
incoming: add support for remote repo using bundlerepo
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1943
diff
changeset
|
1578 cleanup = None |
1974
0d54675cd566
Delete bundle file of hg incoming in case of errors, preserve existing files.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1973
diff
changeset
|
1579 try: |
0d54675cd566
Delete bundle file of hg incoming in case of errors, preserve existing files.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1973
diff
changeset
|
1580 fname = opts["bundle"] |
0d54675cd566
Delete bundle file of hg incoming in case of errors, preserve existing files.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1973
diff
changeset
|
1581 if fname or not other.local(): |
0d54675cd566
Delete bundle file of hg incoming in case of errors, preserve existing files.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1973
diff
changeset
|
1582 # create a bundle (uncompressed if other repo is not local) |
4451
671158f060cc
Make "hg incoming -r revision_number" work for remote repos (issue566)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4324
diff
changeset
|
1583 if revs is None: |
671158f060cc
Make "hg incoming -r revision_number" work for remote repos (issue566)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4324
diff
changeset
|
1584 cg = other.changegroup(incoming, "incoming") |
671158f060cc
Make "hg incoming -r revision_number" work for remote repos (issue566)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4324
diff
changeset
|
1585 else: |
671158f060cc
Make "hg incoming -r revision_number" work for remote repos (issue566)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4324
diff
changeset
|
1586 cg = other.changegroupsubset(incoming, revs, 'incoming') |
3706
0d810798acb1
Use 'bundletype' instead of 'type' to not shadow built-in function.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3704
diff
changeset
|
1587 bundletype = other.local() and "HG10BZ" or "HG10UN" |
0d810798acb1
Use 'bundletype' instead of 'type' to not shadow built-in function.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3704
diff
changeset
|
1588 fname = cleanup = changegroup.writebundle(cg, fname, bundletype) |
1974
0d54675cd566
Delete bundle file of hg incoming in case of errors, preserve existing files.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1973
diff
changeset
|
1589 # keep written bundle? |
0d54675cd566
Delete bundle file of hg incoming in case of errors, preserve existing files.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1973
diff
changeset
|
1590 if opts["bundle"]: |
0d54675cd566
Delete bundle file of hg incoming in case of errors, preserve existing files.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1973
diff
changeset
|
1591 cleanup = None |
0d54675cd566
Delete bundle file of hg incoming in case of errors, preserve existing files.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1973
diff
changeset
|
1592 if not other.local(): |
0d54675cd566
Delete bundle file of hg incoming in case of errors, preserve existing files.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1973
diff
changeset
|
1593 # use the created uncompressed bundlerepo |
0d54675cd566
Delete bundle file of hg incoming in case of errors, preserve existing files.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1973
diff
changeset
|
1594 other = bundlerepo.bundlerepository(ui, repo.root, fname) |
0d54675cd566
Delete bundle file of hg incoming in case of errors, preserve existing files.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1973
diff
changeset
|
1595 |
2521
9cceb439048b
add -r/--rev arguments to incoming and outgoing
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
2515
diff
changeset
|
1596 o = other.changelog.nodesbetween(incoming, revs)[0] |
1974
0d54675cd566
Delete bundle file of hg incoming in case of errors, preserve existing files.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1973
diff
changeset
|
1597 if opts['newest_first']: |
0d54675cd566
Delete bundle file of hg incoming in case of errors, preserve existing files.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1973
diff
changeset
|
1598 o.reverse() |
3643
b4ad640a3bcf
templates: move changeset templating bits to cmdutils
Matt Mackall <mpm@selenic.com>
parents:
3631
diff
changeset
|
1599 displayer = cmdutil.show_changeset(ui, other, opts) |
1974
0d54675cd566
Delete bundle file of hg incoming in case of errors, preserve existing files.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1973
diff
changeset
|
1600 for n in o: |
0d54675cd566
Delete bundle file of hg incoming in case of errors, preserve existing files.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1973
diff
changeset
|
1601 parents = [p for p in other.changelog.parents(n) if p != nullid] |
0d54675cd566
Delete bundle file of hg incoming in case of errors, preserve existing files.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1973
diff
changeset
|
1602 if opts['no_merges'] and len(parents) == 2: |
0d54675cd566
Delete bundle file of hg incoming in case of errors, preserve existing files.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1973
diff
changeset
|
1603 continue |
0d54675cd566
Delete bundle file of hg incoming in case of errors, preserve existing files.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1973
diff
changeset
|
1604 displayer.show(changenode=n) |
0d54675cd566
Delete bundle file of hg incoming in case of errors, preserve existing files.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1973
diff
changeset
|
1605 finally: |
0d54675cd566
Delete bundle file of hg incoming in case of errors, preserve existing files.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1973
diff
changeset
|
1606 if hasattr(other, 'close'): |
0d54675cd566
Delete bundle file of hg incoming in case of errors, preserve existing files.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1973
diff
changeset
|
1607 other.close() |
0d54675cd566
Delete bundle file of hg incoming in case of errors, preserve existing files.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1973
diff
changeset
|
1608 if cleanup: |
0d54675cd566
Delete bundle file of hg incoming in case of errors, preserve existing files.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1973
diff
changeset
|
1609 os.unlink(cleanup) |
1944
fdf40c9b3306
incoming: add support for remote repo using bundlerepo
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1943
diff
changeset
|
1610 |
2598
b898afee9d0d
Add ui method to set --ssh/--remotecmd, use it in init/clone/pull/push/in/out.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2597
diff
changeset
|
1611 def init(ui, dest=".", **opts): |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1612 """create a new repository in the given directory |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1613 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1614 Initialize a new repository in the given directory. If the given |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1615 directory does not exist, it is created. |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1616 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1617 If no directory is given, the current directory is used. |
2590
911b56853fdd
Additional information about URLs in pull/push/clone/init:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2589
diff
changeset
|
1618 |
911b56853fdd
Additional information about URLs in pull/push/clone/init:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2589
diff
changeset
|
1619 It is possible to specify an ssh:// URL as the destination. |
911b56853fdd
Additional information about URLs in pull/push/clone/init:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2589
diff
changeset
|
1620 Look at the help text for the pull command for important details |
911b56853fdd
Additional information about URLs in pull/push/clone/init:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2589
diff
changeset
|
1621 about ssh:// URLs. |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1622 """ |
4549
0c61124ad877
dispatch: move dispatching code to cmdutil
Matt Mackall <mpm@selenic.com>
parents:
4548
diff
changeset
|
1623 cmdutil.setremoteconfig(ui, opts) |
907
652507dc9fce
Modify init command to take an optional directory to set up.
Bryan O'Sullivan <bos@serpentine.com>
parents:
906
diff
changeset
|
1624 hg.repository(ui, dest, create=1) |
338 | 1625 |
627 | 1626 def locate(ui, repo, *pats, **opts): |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1627 """locate files matching specific patterns |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1628 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1629 Print all files under Mercurial control whose names match the |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1630 given patterns. |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1631 |
4195
e8ee8fdeddb1
change locate to use relglobs by default
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4174
diff
changeset
|
1632 This command searches the entire repository by default. To search |
4692
c135c6cddbec
Command in doc comment is now on a single line, fixed
paul sorenson <sf@metrak.com>
parents:
4686
diff
changeset
|
1633 just the current directory and its subdirectories, use |
c135c6cddbec
Command in doc comment is now on a single line, fixed
paul sorenson <sf@metrak.com>
parents:
4686
diff
changeset
|
1634 "--include .". |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1635 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1636 If no patterns are given to match, this command prints all file |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1637 names. |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1638 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1639 If you want to feed the output of this command into the "xargs" |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1640 command, use the "-0" option to both this command and "xargs". |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1641 This will avoid the problem of "xargs" treating single filenames |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1642 that contain white space as multiple filenames. |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1643 """ |
1065
6e94c0365d98
Cleanups to commands.py
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1062
diff
changeset
|
1644 end = opts['print0'] and '\0' or '\n' |
1622
5e9168401a68
fix locate broken since 63799b01985c
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1619
diff
changeset
|
1645 rev = opts['rev'] |
5e9168401a68
fix locate broken since 63799b01985c
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1619
diff
changeset
|
1646 if rev: |
5e9168401a68
fix locate broken since 63799b01985c
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1619
diff
changeset
|
1647 node = repo.lookup(rev) |
5e9168401a68
fix locate broken since 63799b01985c
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1619
diff
changeset
|
1648 else: |
5e9168401a68
fix locate broken since 63799b01985c
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1619
diff
changeset
|
1649 node = None |
742 | 1650 |
4196
1c69c73d85d9
locate: exit(1) if we didn't print any file
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4195
diff
changeset
|
1651 ret = 1 |
2882
cf98cd70d2c4
move walk and matchpats from commands to cmdutil.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2878
diff
changeset
|
1652 for src, abs, rel, exact in cmdutil.walk(repo, pats, opts, node=node, |
4308
a5cde03cd019
locate: don't print "file not found" messages.
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4252
diff
changeset
|
1653 badmatch=util.always, |
4195
e8ee8fdeddb1
change locate to use relglobs by default
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4174
diff
changeset
|
1654 default='relglob'): |
4308
a5cde03cd019
locate: don't print "file not found" messages.
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4252
diff
changeset
|
1655 if src == 'b': |
a5cde03cd019
locate: don't print "file not found" messages.
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4252
diff
changeset
|
1656 continue |
4906
30847b8af7ca
dirstate: add __contains__ and make __getitem__ more useful
Matt Mackall <mpm@selenic.com>
parents:
4904
diff
changeset
|
1657 if not node and abs not in repo.dirstate: |
1065
6e94c0365d98
Cleanups to commands.py
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1062
diff
changeset
|
1658 continue |
697
cb1be2327220
Multiple cleanups of things detected by pylint.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
696
diff
changeset
|
1659 if opts['fullpath']: |
724
1c0c413cccdd
Get add and locate to use new repo and dirstate walk code.
Bryan O'Sullivan <bos@serpentine.com>
parents:
723
diff
changeset
|
1660 ui.write(os.path.join(repo.root, abs), end) |
1c0c413cccdd
Get add and locate to use new repo and dirstate walk code.
Bryan O'Sullivan <bos@serpentine.com>
parents:
723
diff
changeset
|
1661 else: |
1625
e1bcf7fa983f
correct the relative path when walking from a subdir
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1622
diff
changeset
|
1662 ui.write(((pats and rel) or abs), end) |
4196
1c69c73d85d9
locate: exit(1) if we didn't print any file
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4195
diff
changeset
|
1663 ret = 0 |
1c69c73d85d9
locate: exit(1) if we didn't print any file
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4195
diff
changeset
|
1664 |
1c69c73d85d9
locate: exit(1) if we didn't print any file
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4195
diff
changeset
|
1665 return ret |
627 | 1666 |
1031
503aaf19a040
Rewrite log command. New version is faster and more featureful.
Bryan O'Sullivan <bos@serpentine.com>
parents:
1030
diff
changeset
|
1667 def log(ui, repo, *pats, **opts): |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1668 """show revision history of entire repository or files |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1669 |
2741
ae5ce3454ef5
log: add -f/--follow option, to follow rename/copy
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2739
diff
changeset
|
1670 Print the revision history of the specified files or the entire |
ae5ce3454ef5
log: add -f/--follow option, to follow rename/copy
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2739
diff
changeset
|
1671 project. |
ae5ce3454ef5
log: add -f/--follow option, to follow rename/copy
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2739
diff
changeset
|
1672 |
ae5ce3454ef5
log: add -f/--follow option, to follow rename/copy
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2739
diff
changeset
|
1673 File history is shown without following rename or copy history of |
2782
21e571c21a6b
Make log --follow without a file list follow a single head.
Brendan Cully <brendan@kublai.com>
parents:
2764
diff
changeset
|
1674 files. Use -f/--follow with a file name to follow history across |
21e571c21a6b
Make log --follow without a file list follow a single head.
Brendan Cully <brendan@kublai.com>
parents:
2764
diff
changeset
|
1675 renames and copies. --follow without a file name will only show |
2784
12a7bfcafd8f
Add log option --follow-first to follow only the first parent of
Brendan Cully <brendan@kublai.com>
parents:
2783
diff
changeset
|
1676 ancestors or descendants of the starting revision. --follow-first |
12a7bfcafd8f
Add log option --follow-first to follow only the first parent of
Brendan Cully <brendan@kublai.com>
parents:
2783
diff
changeset
|
1677 only follows the first parent of merge revisions. |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1678 |
2783
2e0cd25fe4ac
Make log --follow revision range start default to working dir parent.
Brendan Cully <brendan@kublai.com>
parents:
2782
diff
changeset
|
1679 If no revision range is specified, the default is tip:0 unless |
2e0cd25fe4ac
Make log --follow revision range start default to working dir parent.
Brendan Cully <brendan@kublai.com>
parents:
2782
diff
changeset
|
1680 --follow is set, in which case the working directory parent is |
2e0cd25fe4ac
Make log --follow revision range start default to working dir parent.
Brendan Cully <brendan@kublai.com>
parents:
2782
diff
changeset
|
1681 used as the starting revision. |
2e0cd25fe4ac
Make log --follow revision range start default to working dir parent.
Brendan Cully <brendan@kublai.com>
parents:
2782
diff
changeset
|
1682 |
6163
1f733c2f0165
Document log date ranges and mention 'hg help dates' for all commands (issue998)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6161
diff
changeset
|
1683 See 'hg help dates' for a list of formats valid for -d/--date. |
1f733c2f0165
Document log date ranges and mention 'hg help dates' for all commands (issue998)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6161
diff
changeset
|
1684 |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1685 By default this command outputs: changeset id and hash, tags, |
1557
f7d9823e65df
Updated help text for 'hg log'.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1552
diff
changeset
|
1686 non-trivial parents, user, date and time, and a summary for each |
f7d9823e65df
Updated help text for 'hg log'.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1552
diff
changeset
|
1687 commit. When the -v/--verbose switch is used, the list of changed |
f7d9823e65df
Updated help text for 'hg log'.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1552
diff
changeset
|
1688 files and full commit message is shown. |
3822
28134d82db9b
Add notes about diff/merge asymmetry to export, diff, and log
Matt Mackall <mpm@selenic.com>
parents:
3815
diff
changeset
|
1689 |
28134d82db9b
Add notes about diff/merge asymmetry to export, diff, and log
Matt Mackall <mpm@selenic.com>
parents:
3815
diff
changeset
|
1690 NOTE: log -p may generate unexpected diff output for merge |
28134d82db9b
Add notes about diff/merge asymmetry to export, diff, and log
Matt Mackall <mpm@selenic.com>
parents:
3815
diff
changeset
|
1691 changesets, as it will compare the merge changeset against its |
28134d82db9b
Add notes about diff/merge asymmetry to export, diff, and log
Matt Mackall <mpm@selenic.com>
parents:
3815
diff
changeset
|
1692 first parent only. Also, the files: list will only reflect files |
28134d82db9b
Add notes about diff/merge asymmetry to export, diff, and log
Matt Mackall <mpm@selenic.com>
parents:
3815
diff
changeset
|
1693 that are different from BOTH parents. |
28134d82db9b
Add notes about diff/merge asymmetry to export, diff, and log
Matt Mackall <mpm@selenic.com>
parents:
3815
diff
changeset
|
1694 |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1695 """ |
1756
f29857aaa053
add -l,--limit to log command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1747
diff
changeset
|
1696 |
3673
eb0b4a2d70a9
white space and line break cleanups
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3672
diff
changeset
|
1697 get = util.cachefunc(lambda r: repo.changectx(r).changeset()) |
3650
731e739b8659
move walkchangerevs to cmdutils
Matt Mackall <mpm@selenic.com>
parents:
3649
diff
changeset
|
1698 changeiter, matchfn = cmdutil.walkchangerevs(ui, repo, pats, get, opts) |
3518
467d923e4e3d
Fix excessive complaining from hg log -b
Matt Mackall <mpm@selenic.com>
parents:
3517
diff
changeset
|
1699 |
1756
f29857aaa053
add -l,--limit to log command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1747
diff
changeset
|
1700 if opts['limit']: |
f29857aaa053
add -l,--limit to log command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1747
diff
changeset
|
1701 try: |
f29857aaa053
add -l,--limit to log command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1747
diff
changeset
|
1702 limit = int(opts['limit']) |
f29857aaa053
add -l,--limit to log command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1747
diff
changeset
|
1703 except ValueError: |
f29857aaa053
add -l,--limit to log command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1747
diff
changeset
|
1704 raise util.Abort(_('limit must be a positive integer')) |
f29857aaa053
add -l,--limit to log command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1747
diff
changeset
|
1705 if limit <= 0: raise util.Abort(_('limit must be positive')) |
f29857aaa053
add -l,--limit to log command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1747
diff
changeset
|
1706 else: |
f29857aaa053
add -l,--limit to log command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1747
diff
changeset
|
1707 limit = sys.maxint |
f29857aaa053
add -l,--limit to log command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1747
diff
changeset
|
1708 count = 0 |
f29857aaa053
add -l,--limit to log command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1747
diff
changeset
|
1709 |
3197 | 1710 if opts['copies'] and opts['rev']: |
3707
67f44b825784
Removed unused ui parameter from revpair/revrange and fix its users.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3706
diff
changeset
|
1711 endrev = max(cmdutil.revrange(repo, opts['rev'])) + 1 |
3197 | 1712 else: |
1713 endrev = repo.changelog.count() | |
1714 rcache = {} | |
1715 ncache = {} | |
5811
180a3eee4b75
Fix copies reporting in log and convert.
Maxim Dounin <mdounin@mdounin.ru>
parents:
5783
diff
changeset
|
1716 def getrenamed(fn, rev): |
3197 | 1717 '''looks up all renames for a file (up to endrev) the first |
1718 time the file is given. It indexes on the changerev and only | |
1719 parses the manifest if linkrev != changerev. | |
1720 Returns rename info for fn at changerev rev.''' | |
1721 if fn not in rcache: | |
1722 rcache[fn] = {} | |
1723 ncache[fn] = {} | |
1724 fl = repo.file(fn) | |
1725 for i in xrange(fl.count()): | |
1726 node = fl.node(i) | |
1727 lr = fl.linkrev(node) | |
1728 renamed = fl.renamed(node) | |
1729 rcache[fn][lr] = renamed | |
1730 if renamed: | |
1731 ncache[fn][node] = renamed | |
1732 if lr >= endrev: | |
1733 break | |
1734 if rev in rcache[fn]: | |
1735 return rcache[fn][rev] | |
5811
180a3eee4b75
Fix copies reporting in log and convert.
Maxim Dounin <mdounin@mdounin.ru>
parents:
5783
diff
changeset
|
1736 |
180a3eee4b75
Fix copies reporting in log and convert.
Maxim Dounin <mdounin@mdounin.ru>
parents:
5783
diff
changeset
|
1737 # If linkrev != rev (i.e. rev not found in rcache) fallback to |
180a3eee4b75
Fix copies reporting in log and convert.
Maxim Dounin <mdounin@mdounin.ru>
parents:
5783
diff
changeset
|
1738 # filectx logic. |
180a3eee4b75
Fix copies reporting in log and convert.
Maxim Dounin <mdounin@mdounin.ru>
parents:
5783
diff
changeset
|
1739 |
180a3eee4b75
Fix copies reporting in log and convert.
Maxim Dounin <mdounin@mdounin.ru>
parents:
5783
diff
changeset
|
1740 try: |
180a3eee4b75
Fix copies reporting in log and convert.
Maxim Dounin <mdounin@mdounin.ru>
parents:
5783
diff
changeset
|
1741 return repo.changectx(rev).filectx(fn).renamed() |
180a3eee4b75
Fix copies reporting in log and convert.
Maxim Dounin <mdounin@mdounin.ru>
parents:
5783
diff
changeset
|
1742 except revlog.LookupError: |
180a3eee4b75
Fix copies reporting in log and convert.
Maxim Dounin <mdounin@mdounin.ru>
parents:
5783
diff
changeset
|
1743 pass |
3197 | 1744 return None |
1745 | |
3813 | 1746 df = False |
1747 if opts["date"]: | |
1748 df = util.matchdate(opts["date"]) | |
1749 | |
6067
57c1a7052982
Option to log to only show changesets within a specified branch.
Dustin Sallings <dustin@spy.net>
parents:
6048
diff
changeset
|
1750 only_branches = opts['only_branch'] |
57c1a7052982
Option to log to only show changesets within a specified branch.
Dustin Sallings <dustin@spy.net>
parents:
6048
diff
changeset
|
1751 |
3837
7df171ea50cd
Fix log regression where log -p file showed diffs for other files
Matt Mackall <mpm@selenic.com>
parents:
3833
diff
changeset
|
1752 displayer = cmdutil.show_changeset(ui, repo, opts, True, matchfn) |
1146
9061f79c6c6f
grep: extend functionality, add man page entry, add unit test.
bos@serpentine.internal.keyresearch.com
parents:
1145
diff
changeset
|
1753 for st, rev, fns in changeiter: |
3645
b984dcb1df71
Refactor log ui buffering and patch display
Matt Mackall <mpm@selenic.com>
parents:
3643
diff
changeset
|
1754 if st == 'add': |
1435
22b44fd9a166
add --no-merges (-M) for log, outgoing, incoming
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1431
diff
changeset
|
1755 changenode = repo.changelog.node(rev) |
3578
3b4e00cba57a
Define and use nullrev (revision of nullid) instead of -1.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3576
diff
changeset
|
1756 parents = [p for p in repo.changelog.parentrevs(rev) |
3b4e00cba57a
Define and use nullrev (revision of nullid) instead of -1.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3576
diff
changeset
|
1757 if p != nullrev] |
1435
22b44fd9a166
add --no-merges (-M) for log, outgoing, incoming
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1431
diff
changeset
|
1758 if opts['no_merges'] and len(parents) == 2: |
1615
83238c1db6de
Cleanup of indentation, spacing, newlines, strings and line length
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1607
diff
changeset
|
1759 continue |
1436
db6d7b4005ba
add --only-merges (-m) log
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1435
diff
changeset
|
1760 if opts['only_merges'] and len(parents) != 2: |
1615
83238c1db6de
Cleanup of indentation, spacing, newlines, strings and line length
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1607
diff
changeset
|
1761 continue |
1435
22b44fd9a166
add --no-merges (-M) for log, outgoing, incoming
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1431
diff
changeset
|
1762 |
6067
57c1a7052982
Option to log to only show changesets within a specified branch.
Dustin Sallings <dustin@spy.net>
parents:
6048
diff
changeset
|
1763 if only_branches: |
57c1a7052982
Option to log to only show changesets within a specified branch.
Dustin Sallings <dustin@spy.net>
parents:
6048
diff
changeset
|
1764 revbranch = get(rev)[5]['branch'] |
57c1a7052982
Option to log to only show changesets within a specified branch.
Dustin Sallings <dustin@spy.net>
parents:
6048
diff
changeset
|
1765 if revbranch not in only_branches: |
57c1a7052982
Option to log to only show changesets within a specified branch.
Dustin Sallings <dustin@spy.net>
parents:
6048
diff
changeset
|
1766 continue |
57c1a7052982
Option to log to only show changesets within a specified branch.
Dustin Sallings <dustin@spy.net>
parents:
6048
diff
changeset
|
1767 |
3813 | 1768 if df: |
1769 changes = get(rev) | |
1770 if not df(changes[2][0]): | |
1771 continue | |
1772 | |
1373
965d1db5c95d
hg log: add -k for keyword searching
Matt Mackall <mpm@selenic.com>
parents:
1366
diff
changeset
|
1773 if opts['keyword']: |
3650
731e739b8659
move walkchangerevs to cmdutils
Matt Mackall <mpm@selenic.com>
parents:
3649
diff
changeset
|
1774 changes = get(rev) |
1373
965d1db5c95d
hg log: add -k for keyword searching
Matt Mackall <mpm@selenic.com>
parents:
1366
diff
changeset
|
1775 miss = 0 |
1404
67e20e27d8df
log: make keyword search truly case-insensitive
TK Soh <teekaysoh@yahoo.com>
parents:
1402
diff
changeset
|
1776 for k in [kw.lower() for kw in opts['keyword']]: |
1373
965d1db5c95d
hg log: add -k for keyword searching
Matt Mackall <mpm@selenic.com>
parents:
1366
diff
changeset
|
1777 if not (k in changes[1].lower() or |
965d1db5c95d
hg log: add -k for keyword searching
Matt Mackall <mpm@selenic.com>
parents:
1366
diff
changeset
|
1778 k in changes[4].lower() or |
4322
38922a13101e
log: expand keyword search to full list of files
TK Soh <teekaysoh@yahoo.com>
parents:
4315
diff
changeset
|
1779 k in " ".join(changes[3]).lower()): |
1373
965d1db5c95d
hg log: add -k for keyword searching
Matt Mackall <mpm@selenic.com>
parents:
1366
diff
changeset
|
1780 miss = 1 |
965d1db5c95d
hg log: add -k for keyword searching
Matt Mackall <mpm@selenic.com>
parents:
1366
diff
changeset
|
1781 break |
965d1db5c95d
hg log: add -k for keyword searching
Matt Mackall <mpm@selenic.com>
parents:
1366
diff
changeset
|
1782 if miss: |
965d1db5c95d
hg log: add -k for keyword searching
Matt Mackall <mpm@selenic.com>
parents:
1366
diff
changeset
|
1783 continue |
965d1db5c95d
hg log: add -k for keyword searching
Matt Mackall <mpm@selenic.com>
parents:
1366
diff
changeset
|
1784 |
3197 | 1785 copies = [] |
1786 if opts.get('copies') and rev: | |
3650
731e739b8659
move walkchangerevs to cmdutils
Matt Mackall <mpm@selenic.com>
parents:
3649
diff
changeset
|
1787 for fn in get(rev)[3]: |
5811
180a3eee4b75
Fix copies reporting in log and convert.
Maxim Dounin <mdounin@mdounin.ru>
parents:
5783
diff
changeset
|
1788 rename = getrenamed(fn, rev) |
3197 | 1789 if rename: |
1790 copies.append((fn, rename[0])) | |
3649
e50891e461e4
Consolidate brinfo handling
Matt Mackall <mpm@selenic.com>
parents:
3645
diff
changeset
|
1791 displayer.show(rev, changenode, copies=copies) |
1057 | 1792 elif st == 'iter': |
1756
f29857aaa053
add -l,--limit to log command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1747
diff
changeset
|
1793 if count == limit: break |
3645
b984dcb1df71
Refactor log ui buffering and patch display
Matt Mackall <mpm@selenic.com>
parents:
3643
diff
changeset
|
1794 if displayer.flush(rev): |
1765
b9fac31f34c9
hg log --limit shouldn't count unprinted revisions (found by TK Soh)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1764
diff
changeset
|
1795 count += 1 |
255 | 1796 |
5155
13d23d66a6cd
manifest: accept -r for rev specification
Bryan O'Sullivan <bos@serpentine.com>
parents:
5148
diff
changeset
|
1797 def manifest(ui, repo, node=None, rev=None): |
3914
283ee8971570
doc string fix: hg cat and manifest default to current parent revision.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3900
diff
changeset
|
1798 """output the current or given revision of the project manifest |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1799 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1800 Print a list of version controlled files for the given revision. |
3915
3c82ab166eea
doc fix: hg tags defaults to current parent revision, too.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3914
diff
changeset
|
1801 If no revision is given, the parent of the working directory is used, |
3c82ab166eea
doc fix: hg tags defaults to current parent revision, too.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3914
diff
changeset
|
1802 or tip if no revision is checked out. |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1803 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1804 The manifest is the list of files being version controlled. If no revision |
3736 | 1805 is given then the first parent of the working directory is used. |
1806 | |
5760
0145f9afb0e7
Removed tabs and trailing whitespace in python files
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5741
diff
changeset
|
1807 With -v flag, print file permissions, symlink and executable bits. With |
5405
8feb33c2d153
Display symlink or executable bit with manifest -v
Patrick Mezard <pmezard@gmail.com>
parents:
5336
diff
changeset
|
1808 --debug flag, print file revision hashes. |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1809 """ |
3736 | 1810 |
5155
13d23d66a6cd
manifest: accept -r for rev specification
Bryan O'Sullivan <bos@serpentine.com>
parents:
5148
diff
changeset
|
1811 if rev and node: |
13d23d66a6cd
manifest: accept -r for rev specification
Bryan O'Sullivan <bos@serpentine.com>
parents:
5148
diff
changeset
|
1812 raise util.Abort(_("please specify just one revision")) |
13d23d66a6cd
manifest: accept -r for rev specification
Bryan O'Sullivan <bos@serpentine.com>
parents:
5148
diff
changeset
|
1813 |
13d23d66a6cd
manifest: accept -r for rev specification
Bryan O'Sullivan <bos@serpentine.com>
parents:
5148
diff
changeset
|
1814 if not node: |
13d23d66a6cd
manifest: accept -r for rev specification
Bryan O'Sullivan <bos@serpentine.com>
parents:
5148
diff
changeset
|
1815 node = rev |
13d23d66a6cd
manifest: accept -r for rev specification
Bryan O'Sullivan <bos@serpentine.com>
parents:
5148
diff
changeset
|
1816 |
13d23d66a6cd
manifest: accept -r for rev specification
Bryan O'Sullivan <bos@serpentine.com>
parents:
5148
diff
changeset
|
1817 m = repo.changectx(node).manifest() |
255 | 1818 files = m.keys() |
1819 files.sort() | |
1820 | |
1821 for f in files: | |
3736 | 1822 if ui.debugflag: |
1823 ui.write("%40s " % hex(m[f])) | |
1824 if ui.verbose: | |
5405
8feb33c2d153
Display symlink or executable bit with manifest -v
Patrick Mezard <pmezard@gmail.com>
parents:
5336
diff
changeset
|
1825 type = m.execf(f) and "*" or m.linkf(f) and "@" or " " |
8feb33c2d153
Display symlink or executable bit with manifest -v
Patrick Mezard <pmezard@gmail.com>
parents:
5336
diff
changeset
|
1826 perm = m.execf(f) and "755" or "644" |
8feb33c2d153
Display symlink or executable bit with manifest -v
Patrick Mezard <pmezard@gmail.com>
parents:
5336
diff
changeset
|
1827 ui.write("%3s %1s " % (perm, type)) |
3736 | 1828 ui.write("%s\n" % f) |
255 | 1829 |
4450
8fa54b9c6c5a
accept -r REV in more places
Daniel Holth <dholth@fastmail.fm>
parents:
4445
diff
changeset
|
1830 def merge(ui, repo, node=None, force=None, rev=None): |
4014
509342f95564
various doc fixes
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
4013
diff
changeset
|
1831 """merge working directory with another revision |
2019
ced2d3620f95
add merge command. means same thing as "update -m".
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1996
diff
changeset
|
1832 |
ced2d3620f95
add merge command. means same thing as "update -m".
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1996
diff
changeset
|
1833 Merge the contents of the current working directory and the |
ced2d3620f95
add merge command. means same thing as "update -m".
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1996
diff
changeset
|
1834 requested revision. Files that changed between either parent are |
ced2d3620f95
add merge command. means same thing as "update -m".
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1996
diff
changeset
|
1835 marked as changed for the next commit and a commit must be |
ced2d3620f95
add merge command. means same thing as "update -m".
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1996
diff
changeset
|
1836 performed before any further updates are allowed. |
2915
013921c753bd
merge with other head by default, not tip.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2911
diff
changeset
|
1837 |
013921c753bd
merge with other head by default, not tip.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2911
diff
changeset
|
1838 If no revision is specified, the working directory's parent is a |
013921c753bd
merge with other head by default, not tip.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2911
diff
changeset
|
1839 head revision, and the repository contains exactly one other head, |
013921c753bd
merge with other head by default, not tip.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2911
diff
changeset
|
1840 the other head is merged with by default. Otherwise, an explicit |
013921c753bd
merge with other head by default, not tip.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2911
diff
changeset
|
1841 revision to merge with must be provided. |
2019
ced2d3620f95
add merge command. means same thing as "update -m".
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1996
diff
changeset
|
1842 """ |
2806
0bf22c109cc3
Factor doupdate into _lookup + hg.update
Matt Mackall <mpm@selenic.com>
parents:
2803
diff
changeset
|
1843 |
4450
8fa54b9c6c5a
accept -r REV in more places
Daniel Holth <dholth@fastmail.fm>
parents:
4445
diff
changeset
|
1844 if rev and node: |
8fa54b9c6c5a
accept -r REV in more places
Daniel Holth <dholth@fastmail.fm>
parents:
4445
diff
changeset
|
1845 raise util.Abort(_("please specify just one revision")) |
8fa54b9c6c5a
accept -r REV in more places
Daniel Holth <dholth@fastmail.fm>
parents:
4445
diff
changeset
|
1846 if not node: |
8fa54b9c6c5a
accept -r REV in more places
Daniel Holth <dholth@fastmail.fm>
parents:
4445
diff
changeset
|
1847 node = rev |
8fa54b9c6c5a
accept -r REV in more places
Daniel Holth <dholth@fastmail.fm>
parents:
4445
diff
changeset
|
1848 |
3876
1e0b94cfba0e
Remove deprecated old-style branch support
Matt Mackall <mpm@selenic.com>
parents:
3862
diff
changeset
|
1849 if not node: |
2915
013921c753bd
merge with other head by default, not tip.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2911
diff
changeset
|
1850 heads = repo.heads() |
013921c753bd
merge with other head by default, not tip.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2911
diff
changeset
|
1851 if len(heads) > 2: |
013921c753bd
merge with other head by default, not tip.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2911
diff
changeset
|
1852 raise util.Abort(_('repo has %d heads - ' |
013921c753bd
merge with other head by default, not tip.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2911
diff
changeset
|
1853 'please merge with an explicit rev') % |
013921c753bd
merge with other head by default, not tip.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2911
diff
changeset
|
1854 len(heads)) |
5242
9cd6578750b9
improve error message for 'hg merge' when repo already at branchtip
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
5205
diff
changeset
|
1855 parent = repo.dirstate.parents()[0] |
2915
013921c753bd
merge with other head by default, not tip.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2911
diff
changeset
|
1856 if len(heads) == 1: |
5242
9cd6578750b9
improve error message for 'hg merge' when repo already at branchtip
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
5205
diff
changeset
|
1857 msg = _('there is nothing to merge') |
9cd6578750b9
improve error message for 'hg merge' when repo already at branchtip
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
5205
diff
changeset
|
1858 if parent != repo.lookup(repo.workingctx().branch()): |
5542
253736bb0dc9
i18n: fix complaints from pygettext
Matt Mackall <mpm@selenic.com>
parents:
5525
diff
changeset
|
1859 msg = _('%s - use "hg update" instead') % msg |
5242
9cd6578750b9
improve error message for 'hg merge' when repo already at branchtip
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
5205
diff
changeset
|
1860 raise util.Abort(msg) |
9cd6578750b9
improve error message for 'hg merge' when repo already at branchtip
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
5205
diff
changeset
|
1861 |
2915
013921c753bd
merge with other head by default, not tip.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2911
diff
changeset
|
1862 if parent not in heads: |
013921c753bd
merge with other head by default, not tip.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2911
diff
changeset
|
1863 raise util.Abort(_('working dir not at a head rev - ' |
013921c753bd
merge with other head by default, not tip.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2911
diff
changeset
|
1864 'use "hg update" or merge with an explicit rev')) |
013921c753bd
merge with other head by default, not tip.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2911
diff
changeset
|
1865 node = parent == heads[0] and heads[-1] or heads[0] |
2808
30f59f4a327e
Introduce update helper functions: update, merge, clean, and revert
Matt Mackall <mpm@selenic.com>
parents:
2806
diff
changeset
|
1866 return hg.merge(repo, node, force=force) |
2029
d436b21b20dc
rewrite revert command. fix issues 93, 123, 147.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2022
diff
changeset
|
1867 |
2494
73ac95671788
push, outgoing, bundle: fall back to "default" if "default-push" not defined
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2493
diff
changeset
|
1868 def outgoing(ui, repo, dest=None, **opts): |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1869 """show changesets not found in destination |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1870 |
1979
d545fa1426b9
More detailed documentation about ssh:// URLs; fixes issue170.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1974
diff
changeset
|
1871 Show changesets not found in the specified destination repository or |
d545fa1426b9
More detailed documentation about ssh:// URLs; fixes issue170.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1974
diff
changeset
|
1872 the default push location. These are the changesets that would be pushed |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1873 if a push was requested. |
1811
6cb548cffdf5
resync commands.py docstrings with hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1804
diff
changeset
|
1874 |
1979
d545fa1426b9
More detailed documentation about ssh:// URLs; fixes issue170.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1974
diff
changeset
|
1875 See pull for valid destination format details. |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1876 """ |
5248 | 1877 dest, revs, checkout = hg.parseurl( |
4478
b2b55acbacdd
Add support for url#id syntax
Matt Mackall <mpm@selenic.com>
parents:
4474
diff
changeset
|
1878 ui.expandpath(dest or 'default-push', dest or 'default'), opts['rev']) |
4549
0c61124ad877
dispatch: move dispatching code to cmdutil
Matt Mackall <mpm@selenic.com>
parents:
4548
diff
changeset
|
1879 cmdutil.setremoteconfig(ui, opts) |
4478
b2b55acbacdd
Add support for url#id syntax
Matt Mackall <mpm@selenic.com>
parents:
4474
diff
changeset
|
1880 if revs: |
b2b55acbacdd
Add support for url#id syntax
Matt Mackall <mpm@selenic.com>
parents:
4474
diff
changeset
|
1881 revs = [repo.lookup(rev) for rev in revs] |
1965
62aa1b90414f
add remotecmd/ssh option support to incoming/outgoing
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1959
diff
changeset
|
1882 |
920 | 1883 other = hg.repository(ui, dest) |
5525
dcbda0c4c3eb
Do not display passwords with pull/push/incoming/outgoing
Manuel Holtgrewe <purestorm@ggnore.net>
parents:
5482
diff
changeset
|
1884 ui.status(_('comparing with %s\n') % util.hidepassword(dest)) |
1959
d53a18f592be
add -f/--force to pull, incoming, outgoing, to work on unrelated repo.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1948
diff
changeset
|
1885 o = repo.findoutgoing(other, force=opts['force']) |
1994
78ef83c9e9e1
show message if no changes found on outgoing
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1993
diff
changeset
|
1886 if not o: |
78ef83c9e9e1
show message if no changes found on outgoing
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1993
diff
changeset
|
1887 ui.status(_("no changes found\n")) |
3931
f2cbcf1e98b2
incoming/outgoing: return failure if no changes found
Matt Mackall <mpm@selenic.com>
parents:
3930
diff
changeset
|
1888 return 1 |
2521
9cceb439048b
add -r/--rev arguments to incoming and outgoing
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
2515
diff
changeset
|
1889 o = repo.changelog.nodesbetween(o, revs)[0] |
1439
65cbe22b03fa
allow 'hg out' / 'hg in' to show newest commit first
Michal Kvasnica <kvasnica@gmail.com>
parents:
1437
diff
changeset
|
1890 if opts['newest_first']: |
65cbe22b03fa
allow 'hg out' / 'hg in' to show newest commit first
Michal Kvasnica <kvasnica@gmail.com>
parents:
1437
diff
changeset
|
1891 o.reverse() |
3643
b4ad640a3bcf
templates: move changeset templating bits to cmdutils
Matt Mackall <mpm@selenic.com>
parents:
3631
diff
changeset
|
1892 displayer = cmdutil.show_changeset(ui, repo, opts) |
920 | 1893 for n in o: |
1435
22b44fd9a166
add --no-merges (-M) for log, outgoing, incoming
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1431
diff
changeset
|
1894 parents = [p for p in repo.changelog.parents(n) if p != nullid] |
22b44fd9a166
add --no-merges (-M) for log, outgoing, incoming
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1431
diff
changeset
|
1895 if opts['no_merges'] and len(parents) == 2: |
22b44fd9a166
add --no-merges (-M) for log, outgoing, incoming
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1431
diff
changeset
|
1896 continue |
1907
7718885070b1
let commands that show changesets use templates.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1800
diff
changeset
|
1897 displayer.show(changenode=n) |
920 | 1898 |
3658
d12c8668b102
remove legacy hg parents REV syntax
Matt Mackall <mpm@selenic.com>
parents:
3657
diff
changeset
|
1899 def parents(ui, repo, file_=None, **opts): |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1900 """show the parents of the working dir or revision |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1901 |
4586
1fcc076fcb17
Make parents with a file but not a revision use working directory revision.
Brendan Cully <brendan@kublai.com>
parents:
4451
diff
changeset
|
1902 Print the working directory's parent revisions. If a |
1fcc076fcb17
Make parents with a file but not a revision use working directory revision.
Brendan Cully <brendan@kublai.com>
parents:
4451
diff
changeset
|
1903 revision is given via --rev, the parent of that revision |
1fcc076fcb17
Make parents with a file but not a revision use working directory revision.
Brendan Cully <brendan@kublai.com>
parents:
4451
diff
changeset
|
1904 will be printed. If a file argument is given, revision in |
1fcc076fcb17
Make parents with a file but not a revision use working directory revision.
Brendan Cully <brendan@kublai.com>
parents:
4451
diff
changeset
|
1905 which the file was last changed (before the working directory |
1fcc076fcb17
Make parents with a file but not a revision use working directory revision.
Brendan Cully <brendan@kublai.com>
parents:
4451
diff
changeset
|
1906 revision or the argument to --rev if given) is printed. |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1907 """ |
3658
d12c8668b102
remove legacy hg parents REV syntax
Matt Mackall <mpm@selenic.com>
parents:
3657
diff
changeset
|
1908 rev = opts.get('rev') |
5298
cba2a689117d
parents: make it match the doc when called on a file
Patrick Mezard <pmezard@gmail.com>
parents:
5230
diff
changeset
|
1909 if rev: |
cba2a689117d
parents: make it match the doc when called on a file
Patrick Mezard <pmezard@gmail.com>
parents:
5230
diff
changeset
|
1910 ctx = repo.changectx(rev) |
cba2a689117d
parents: make it match the doc when called on a file
Patrick Mezard <pmezard@gmail.com>
parents:
5230
diff
changeset
|
1911 else: |
cba2a689117d
parents: make it match the doc when called on a file
Patrick Mezard <pmezard@gmail.com>
parents:
5230
diff
changeset
|
1912 ctx = repo.workingctx() |
cba2a689117d
parents: make it match the doc when called on a file
Patrick Mezard <pmezard@gmail.com>
parents:
5230
diff
changeset
|
1913 |
4586
1fcc076fcb17
Make parents with a file but not a revision use working directory revision.
Brendan Cully <brendan@kublai.com>
parents:
4451
diff
changeset
|
1914 if file_: |
4894
be5dc5e3ab2d
hg parents: don't pass an OS-specific path to repo.filectx
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4877
diff
changeset
|
1915 files, match, anypats = cmdutil.matchpats(repo, (file_,), opts) |
be5dc5e3ab2d
hg parents: don't pass an OS-specific path to repo.filectx
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4877
diff
changeset
|
1916 if anypats or len(files) != 1: |
be5dc5e3ab2d
hg parents: don't pass an OS-specific path to repo.filectx
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4877
diff
changeset
|
1917 raise util.Abort(_('can only specify an explicit file name')) |
5298
cba2a689117d
parents: make it match the doc when called on a file
Patrick Mezard <pmezard@gmail.com>
parents:
5230
diff
changeset
|
1918 file_ = files[0] |
cba2a689117d
parents: make it match the doc when called on a file
Patrick Mezard <pmezard@gmail.com>
parents:
5230
diff
changeset
|
1919 filenodes = [] |
cba2a689117d
parents: make it match the doc when called on a file
Patrick Mezard <pmezard@gmail.com>
parents:
5230
diff
changeset
|
1920 for cp in ctx.parents(): |
cba2a689117d
parents: make it match the doc when called on a file
Patrick Mezard <pmezard@gmail.com>
parents:
5230
diff
changeset
|
1921 if not cp: |
cba2a689117d
parents: make it match the doc when called on a file
Patrick Mezard <pmezard@gmail.com>
parents:
5230
diff
changeset
|
1922 continue |
cba2a689117d
parents: make it match the doc when called on a file
Patrick Mezard <pmezard@gmail.com>
parents:
5230
diff
changeset
|
1923 try: |
cba2a689117d
parents: make it match the doc when called on a file
Patrick Mezard <pmezard@gmail.com>
parents:
5230
diff
changeset
|
1924 filenodes.append(cp.filenode(file_)) |
cba2a689117d
parents: make it match the doc when called on a file
Patrick Mezard <pmezard@gmail.com>
parents:
5230
diff
changeset
|
1925 except revlog.LookupError: |
cba2a689117d
parents: make it match the doc when called on a file
Patrick Mezard <pmezard@gmail.com>
parents:
5230
diff
changeset
|
1926 pass |
cba2a689117d
parents: make it match the doc when called on a file
Patrick Mezard <pmezard@gmail.com>
parents:
5230
diff
changeset
|
1927 if not filenodes: |
cba2a689117d
parents: make it match the doc when called on a file
Patrick Mezard <pmezard@gmail.com>
parents:
5230
diff
changeset
|
1928 raise util.Abort(_("'%s' not found in manifest!") % file_) |
cba2a689117d
parents: make it match the doc when called on a file
Patrick Mezard <pmezard@gmail.com>
parents:
5230
diff
changeset
|
1929 fl = repo.file(file_) |
cba2a689117d
parents: make it match the doc when called on a file
Patrick Mezard <pmezard@gmail.com>
parents:
5230
diff
changeset
|
1930 p = [repo.lookup(fl.linkrev(fn)) for fn in filenodes] |
255 | 1931 else: |
5298
cba2a689117d
parents: make it match the doc when called on a file
Patrick Mezard <pmezard@gmail.com>
parents:
5230
diff
changeset
|
1932 p = [cp.node() for cp in ctx.parents()] |
255 | 1933 |
3643
b4ad640a3bcf
templates: move changeset templating bits to cmdutils
Matt Mackall <mpm@selenic.com>
parents:
3631
diff
changeset
|
1934 displayer = cmdutil.show_changeset(ui, repo, opts) |
255 | 1935 for n in p: |
1092 | 1936 if n != nullid: |
3649
e50891e461e4
Consolidate brinfo handling
Matt Mackall <mpm@selenic.com>
parents:
3645
diff
changeset
|
1937 displayer.show(changenode=n) |
255 | 1938 |
1858
9fab6e903bae
Make hg paths and hg debugconfig work with -R/--repository option.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1857
diff
changeset
|
1939 def paths(ui, repo, search=None): |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1940 """show definition of symbolic path names |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1941 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1942 Show definition of symbolic path name NAME. If no name is given, show |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1943 definition of available names. |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1944 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1945 Path names are defined in the [paths] section of /etc/mercurial/hgrc |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1946 and $HOME/.hgrc. If run inside a repository, .hg/hgrc is used, too. |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1947 """ |
779 | 1948 if search: |
1949 for name, path in ui.configitems("paths"): | |
1950 if name == search: | |
1951 ui.write("%s\n" % path) | |
1952 return | |
1402
9d2c2e6b32b5
i18n part2: use '_' for all strings who are part of the user interface
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1400
diff
changeset
|
1953 ui.warn(_("not found!\n")) |
779 | 1954 return 1 |
1955 else: | |
1956 for name, path in ui.configitems("paths"): | |
1957 ui.write("%s = %s\n" % (name, path)) | |
1958 | |
5224
20817af258d8
pull -u: if "url#rev" was given, update to rev
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
5222
diff
changeset
|
1959 def postincoming(ui, repo, modheads, optupdate, checkout): |
2019
ced2d3620f95
add merge command. means same thing as "update -m".
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1996
diff
changeset
|
1960 if modheads == 0: |
ced2d3620f95
add merge command. means same thing as "update -m".
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1996
diff
changeset
|
1961 return |
ced2d3620f95
add merge command. means same thing as "update -m".
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1996
diff
changeset
|
1962 if optupdate: |
5224
20817af258d8
pull -u: if "url#rev" was given, update to rev
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
5222
diff
changeset
|
1963 if modheads <= 1 or checkout: |
20817af258d8
pull -u: if "url#rev" was given, update to rev
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
5222
diff
changeset
|
1964 return hg.update(repo, checkout) |
2019
ced2d3620f95
add merge command. means same thing as "update -m".
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1996
diff
changeset
|
1965 else: |
ced2d3620f95
add merge command. means same thing as "update -m".
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1996
diff
changeset
|
1966 ui.status(_("not updating, since new heads added\n")) |
ced2d3620f95
add merge command. means same thing as "update -m".
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1996
diff
changeset
|
1967 if modheads > 1: |
ced2d3620f95
add merge command. means same thing as "update -m".
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1996
diff
changeset
|
1968 ui.status(_("(run 'hg heads' to see heads, 'hg merge' to merge)\n")) |
ced2d3620f95
add merge command. means same thing as "update -m".
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1996
diff
changeset
|
1969 else: |
ced2d3620f95
add merge command. means same thing as "update -m".
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1996
diff
changeset
|
1970 ui.status(_("(run 'hg update' to get a working copy)\n")) |
2029
d436b21b20dc
rewrite revert command. fix issues 93, 123, 147.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2022
diff
changeset
|
1971 |
404 | 1972 def pull(ui, repo, source="default", **opts): |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1973 """pull changes from the specified source |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1974 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1975 Pull changes from a remote repository to a local one. |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1976 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1977 This finds all changes from the repository at the specified path |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1978 or URL and adds them to the local repository. By default, this |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1979 does not update the copy of the project in the working directory. |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1980 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1981 Valid URLs are of the form: |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1982 |
3563
db946221a58a
Some clarifications for pull/push protocols:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3553
diff
changeset
|
1983 local/filesystem/path (or file://local/filesystem/path) |
2589
dc63db82b530
disambiguate help about url syntax
"Aurelien Jacobs <aurel@gnuage.org>"
parents:
2580
diff
changeset
|
1984 http://[user@]host[:port]/[path] |
dc63db82b530
disambiguate help about url syntax
"Aurelien Jacobs <aurel@gnuage.org>"
parents:
2580
diff
changeset
|
1985 https://[user@]host[:port]/[path] |
dc63db82b530
disambiguate help about url syntax
"Aurelien Jacobs <aurel@gnuage.org>"
parents:
2580
diff
changeset
|
1986 ssh://[user@]host[:port]/[path] |
3563
db946221a58a
Some clarifications for pull/push protocols:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3553
diff
changeset
|
1987 static-http://host[:port]/[path] |
db946221a58a
Some clarifications for pull/push protocols:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3553
diff
changeset
|
1988 |
db946221a58a
Some clarifications for pull/push protocols:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3553
diff
changeset
|
1989 Paths in the local filesystem can either point to Mercurial |
db946221a58a
Some clarifications for pull/push protocols:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3553
diff
changeset
|
1990 repositories or to bundle files (as created by 'hg bundle' or |
db946221a58a
Some clarifications for pull/push protocols:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3553
diff
changeset
|
1991 'hg incoming --bundle'). The static-http:// protocol, albeit slow, |
db946221a58a
Some clarifications for pull/push protocols:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3553
diff
changeset
|
1992 allows access to a Mercurial repository where you simply use a web |
db946221a58a
Some clarifications for pull/push protocols:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3553
diff
changeset
|
1993 server to publish the .hg directory as static content. |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1994 |
4478
b2b55acbacdd
Add support for url#id syntax
Matt Mackall <mpm@selenic.com>
parents:
4474
diff
changeset
|
1995 An optional identifier after # indicates a particular branch, tag, |
b2b55acbacdd
Add support for url#id syntax
Matt Mackall <mpm@selenic.com>
parents:
4474
diff
changeset
|
1996 or changeset to pull. |
b2b55acbacdd
Add support for url#id syntax
Matt Mackall <mpm@selenic.com>
parents:
4474
diff
changeset
|
1997 |
1979
d545fa1426b9
More detailed documentation about ssh:// URLs; fixes issue170.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1974
diff
changeset
|
1998 Some notes about using SSH with Mercurial: |
d545fa1426b9
More detailed documentation about ssh:// URLs; fixes issue170.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1974
diff
changeset
|
1999 - SSH requires an accessible shell account on the destination machine |
d545fa1426b9
More detailed documentation about ssh:// URLs; fixes issue170.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1974
diff
changeset
|
2000 and a copy of hg in the remote path or specified with as remotecmd. |
2589
dc63db82b530
disambiguate help about url syntax
"Aurelien Jacobs <aurel@gnuage.org>"
parents:
2580
diff
changeset
|
2001 - path is relative to the remote user's home directory by default. |
2590
911b56853fdd
Additional information about URLs in pull/push/clone/init:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2589
diff
changeset
|
2002 Use an extra slash at the start of a path to specify an absolute path: |
911b56853fdd
Additional information about URLs in pull/push/clone/init:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2589
diff
changeset
|
2003 ssh://example.com//tmp/repository |
1979
d545fa1426b9
More detailed documentation about ssh:// URLs; fixes issue170.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1974
diff
changeset
|
2004 - Mercurial doesn't use its own compression via SSH; the right thing |
3471
be2bf7263276
Corrected SSH configuration example in pull help.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3467
diff
changeset
|
2005 to do is to configure it in your ~/.ssh/config, e.g.: |
1979
d545fa1426b9
More detailed documentation about ssh:// URLs; fixes issue170.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1974
diff
changeset
|
2006 Host *.mylocalnetwork.example.com |
3471
be2bf7263276
Corrected SSH configuration example in pull help.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3467
diff
changeset
|
2007 Compression no |
1979
d545fa1426b9
More detailed documentation about ssh:// URLs; fixes issue170.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1974
diff
changeset
|
2008 Host * |
3471
be2bf7263276
Corrected SSH configuration example in pull help.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3467
diff
changeset
|
2009 Compression yes |
1979
d545fa1426b9
More detailed documentation about ssh:// URLs; fixes issue170.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1974
diff
changeset
|
2010 Alternatively specify "ssh -C" as your ssh command in your hgrc or |
d545fa1426b9
More detailed documentation about ssh:// URLs; fixes issue170.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1974
diff
changeset
|
2011 with the --ssh command line option. |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2012 """ |
5248 | 2013 source, revs, checkout = hg.parseurl(ui.expandpath(source), opts['rev']) |
4549
0c61124ad877
dispatch: move dispatching code to cmdutil
Matt Mackall <mpm@selenic.com>
parents:
4548
diff
changeset
|
2014 cmdutil.setremoteconfig(ui, opts) |
963
84355e3e4493
Add -e and --remotecmd for clone and pull too
mpm@selenic.com
parents:
961
diff
changeset
|
2015 |
246
96cde50a746f
Migrate rawcommit, import, export, history, and merge
mpm@selenic.com
parents:
245
diff
changeset
|
2016 other = hg.repository(ui, source) |
5525
dcbda0c4c3eb
Do not display passwords with pull/push/incoming/outgoing
Manuel Holtgrewe <purestorm@ggnore.net>
parents:
5482
diff
changeset
|
2017 ui.status(_('pulling from %s\n') % util.hidepassword(source)) |
4478
b2b55acbacdd
Add support for url#id syntax
Matt Mackall <mpm@selenic.com>
parents:
4474
diff
changeset
|
2018 if revs: |
5259
65dc707606ed
Push capability checking into protocol-level code.
Bryan O'Sullivan <bos@serpentine.com>
parents:
5248
diff
changeset
|
2019 try: |
4478
b2b55acbacdd
Add support for url#id syntax
Matt Mackall <mpm@selenic.com>
parents:
4474
diff
changeset
|
2020 revs = [other.lookup(rev) for rev in revs] |
5259
65dc707606ed
Push capability checking into protocol-level code.
Bryan O'Sullivan <bos@serpentine.com>
parents:
5248
diff
changeset
|
2021 except repo.NoCapability: |
65dc707606ed
Push capability checking into protocol-level code.
Bryan O'Sullivan <bos@serpentine.com>
parents:
5248
diff
changeset
|
2022 error = _("Other repository doesn't support revision lookup, " |
65dc707606ed
Push capability checking into protocol-level code.
Bryan O'Sullivan <bos@serpentine.com>
parents:
5248
diff
changeset
|
2023 "so a rev cannot be specified.") |
3448
6ca49c5fe268
Stop erroring out pull -r and clone -r if repository isn't local.
Eric Hopper <hopper@omnifarious.org>
parents:
3421
diff
changeset
|
2024 raise util.Abort(error) |
4478
b2b55acbacdd
Add support for url#id syntax
Matt Mackall <mpm@selenic.com>
parents:
4474
diff
changeset
|
2025 |
2019
ced2d3620f95
add merge command. means same thing as "update -m".
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1996
diff
changeset
|
2026 modheads = repo.pull(other, heads=revs, force=opts['force']) |
5224
20817af258d8
pull -u: if "url#rev" was given, update to rev
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
5222
diff
changeset
|
2027 return postincoming(ui, repo, modheads, opts['update'], checkout) |
246
96cde50a746f
Migrate rawcommit, import, export, history, and merge
mpm@selenic.com
parents:
245
diff
changeset
|
2028 |
2494
73ac95671788
push, outgoing, bundle: fall back to "default" if "default-push" not defined
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2493
diff
changeset
|
2029 def push(ui, repo, dest=None, **opts): |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2030 """push changes to the specified destination |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2031 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2032 Push changes from the local repository to the given destination. |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2033 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2034 This is the symmetrical operation for pull. It helps to move |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2035 changes from the current repository to a different one. If the |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2036 destination is local this is identical to a pull in that directory |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2037 from the current one. |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2038 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2039 By default, push will refuse to run if it detects the result would |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2040 increase the number of remote heads. This generally indicates the |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2041 the client has forgotten to sync and merge before pushing. |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2042 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2043 Valid URLs are of the form: |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2044 |
3563
db946221a58a
Some clarifications for pull/push protocols:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3553
diff
changeset
|
2045 local/filesystem/path (or file://local/filesystem/path) |
2589
dc63db82b530
disambiguate help about url syntax
"Aurelien Jacobs <aurel@gnuage.org>"
parents:
2580
diff
changeset
|
2046 ssh://[user@]host[:port]/[path] |
3563
db946221a58a
Some clarifications for pull/push protocols:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3553
diff
changeset
|
2047 http://[user@]host[:port]/[path] |
db946221a58a
Some clarifications for pull/push protocols:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3553
diff
changeset
|
2048 https://[user@]host[:port]/[path] |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2049 |
4478
b2b55acbacdd
Add support for url#id syntax
Matt Mackall <mpm@selenic.com>
parents:
4474
diff
changeset
|
2050 An optional identifier after # indicates a particular branch, tag, |
b2b55acbacdd
Add support for url#id syntax
Matt Mackall <mpm@selenic.com>
parents:
4474
diff
changeset
|
2051 or changeset to push. |
b2b55acbacdd
Add support for url#id syntax
Matt Mackall <mpm@selenic.com>
parents:
4474
diff
changeset
|
2052 |
1979
d545fa1426b9
More detailed documentation about ssh:// URLs; fixes issue170.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1974
diff
changeset
|
2053 Look at the help text for the pull command for important details |
d545fa1426b9
More detailed documentation about ssh:// URLs; fixes issue170.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1974
diff
changeset
|
2054 about ssh:// URLs. |
2590
911b56853fdd
Additional information about URLs in pull/push/clone/init:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2589
diff
changeset
|
2055 |
3563
db946221a58a
Some clarifications for pull/push protocols:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3553
diff
changeset
|
2056 Pushing to http:// and https:// URLs is only possible, if this |
db946221a58a
Some clarifications for pull/push protocols:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3553
diff
changeset
|
2057 feature is explicitly enabled on the remote Mercurial server. |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2058 """ |
5248 | 2059 dest, revs, checkout = hg.parseurl( |
4478
b2b55acbacdd
Add support for url#id syntax
Matt Mackall <mpm@selenic.com>
parents:
4474
diff
changeset
|
2060 ui.expandpath(dest or 'default-push', dest or 'default'), opts['rev']) |
4549
0c61124ad877
dispatch: move dispatching code to cmdutil
Matt Mackall <mpm@selenic.com>
parents:
4548
diff
changeset
|
2061 cmdutil.setremoteconfig(ui, opts) |
961 | 2062 |
640
b48b91d3fb4a
Switch push over to the new scheme
Matt Mackall <mpm@selenic.com>
parents:
639
diff
changeset
|
2063 other = hg.repository(ui, dest) |
5525
dcbda0c4c3eb
Do not display passwords with pull/push/incoming/outgoing
Manuel Holtgrewe <purestorm@ggnore.net>
parents:
5482
diff
changeset
|
2064 ui.status('pushing to %s\n' % util.hidepassword(dest)) |
4478
b2b55acbacdd
Add support for url#id syntax
Matt Mackall <mpm@selenic.com>
parents:
4474
diff
changeset
|
2065 if revs: |
b2b55acbacdd
Add support for url#id syntax
Matt Mackall <mpm@selenic.com>
parents:
4474
diff
changeset
|
2066 revs = [repo.lookup(rev) for rev in revs] |
1781
284fc722c342
add an optional argument to push only the specified revisions (push -r)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1712
diff
changeset
|
2067 r = repo.push(other, opts['force'], revs=revs) |
2019
ced2d3620f95
add merge command. means same thing as "update -m".
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1996
diff
changeset
|
2068 return r == 0 |
319 | 2069 |
3653 | 2070 def rawcommit(ui, repo, *pats, **opts): |
1812
a81f99dfaa2a
fix the synopsis of some commands, mark rawcommit as deprecated in short help
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1811
diff
changeset
|
2071 """raw commit interface (DEPRECATED) |
1811
6cb548cffdf5
resync commands.py docstrings with hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1804
diff
changeset
|
2072 |
6cb548cffdf5
resync commands.py docstrings with hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1804
diff
changeset
|
2073 (DEPRECATED) |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2074 Lowlevel commit, for use in helper scripts. |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2075 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2076 This command is not intended to be used by normal users, as it is |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2077 primarily useful for importing from other SCMs. |
1657
dbb8bba48510
deprecate the rawcommit command
Matt Mackall <mpm@selenic.com>
parents:
1654
diff
changeset
|
2078 |
dbb8bba48510
deprecate the rawcommit command
Matt Mackall <mpm@selenic.com>
parents:
1654
diff
changeset
|
2079 This command is now deprecated and will be removed in a future |
dbb8bba48510
deprecate the rawcommit command
Matt Mackall <mpm@selenic.com>
parents:
1654
diff
changeset
|
2080 release, please use debugsetparents and commit instead. |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2081 """ |
1657
dbb8bba48510
deprecate the rawcommit command
Matt Mackall <mpm@selenic.com>
parents:
1654
diff
changeset
|
2082 |
dbb8bba48510
deprecate the rawcommit command
Matt Mackall <mpm@selenic.com>
parents:
1654
diff
changeset
|
2083 ui.warn(_("(the rawcommit command is deprecated)\n")) |
dbb8bba48510
deprecate the rawcommit command
Matt Mackall <mpm@selenic.com>
parents:
1654
diff
changeset
|
2084 |
4549
0c61124ad877
dispatch: move dispatching code to cmdutil
Matt Mackall <mpm@selenic.com>
parents:
4548
diff
changeset
|
2085 message = cmdutil.logmessage(opts) |
3653 | 2086 |
2087 files, match, anypats = cmdutil.matchpats(repo, pats, opts) | |
2088 if opts['files']: | |
2089 files += open(opts['files']).read().splitlines() | |
2090 | |
2091 parents = [repo.lookup(p) for p in opts['parent']] | |
500
ebc4714a7632
[PATCH] Clean up destination directory if a clone fails.
mpm@selenic.com
parents:
499
diff
changeset
|
2092 |
1202
71111d796e40
Commit date validation: more stringent checks, more useful error messages.
Bryan O'Sullivan <bos@serpentine.com>
parents:
1194
diff
changeset
|
2093 try: |
3659
025f68f22ae2
move write_bundle to changegroup.py
Matt Mackall <mpm@selenic.com>
parents:
3658
diff
changeset
|
2094 repo.rawcommit(files, message, opts['user'], opts['date'], *parents) |
1202
71111d796e40
Commit date validation: more stringent checks, more useful error messages.
Bryan O'Sullivan <bos@serpentine.com>
parents:
1194
diff
changeset
|
2095 except ValueError, inst: |
71111d796e40
Commit date validation: more stringent checks, more useful error messages.
Bryan O'Sullivan <bos@serpentine.com>
parents:
1194
diff
changeset
|
2096 raise util.Abort(str(inst)) |
500
ebc4714a7632
[PATCH] Clean up destination directory if a clone fails.
mpm@selenic.com
parents:
499
diff
changeset
|
2097 |
245 | 2098 def recover(ui, repo): |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2099 """roll back an interrupted transaction |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2100 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2101 Recover from an interrupted commit or pull. |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2102 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2103 This command tries to fix the repository status after an interrupted |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2104 operation. It should only be necessary when Mercurial suggests it. |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2105 """ |
1516
0b1b029b4de3
Automatically run "verify" whenever we run "recover"
Matt Mackall <mpm@selenic.com>
parents:
1514
diff
changeset
|
2106 if repo.recover(): |
2778 | 2107 return hg.verify(repo) |
2057
fef2d653beaf
Never exit directly from commands.dispatch(), but pass return code to caller.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2056
diff
changeset
|
2108 return 1 |
245 | 2109 |
2179
520dd3d28e9b
add --after option to remove command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2175
diff
changeset
|
2110 def remove(ui, repo, *pats, **opts): |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2111 """remove the specified files on the next commit |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2112 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2113 Schedule the indicated files for removal from the repository. |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2114 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2115 This only removes files from the current branch, not from the |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2116 entire project history. If the files still exist in the working |
2179
520dd3d28e9b
add --after option to remove command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2175
diff
changeset
|
2117 directory, they will be deleted from it. If invoked with --after, |
4392
9770d260a405
Make rm --after simply mark files as removed, unless --force is also given
Brendan Cully <brendan@kublai.com>
parents:
4384
diff
changeset
|
2118 files are marked as removed, but not actually unlinked unless --force |
4394
a6436e9333db
Also restore old rm -A behavior for inexact patterns
Brendan Cully <brendan@kublai.com>
parents:
4393
diff
changeset
|
2119 is also given. Without exact file names, --after will only mark |
4393
cf5f35ec4720
Fix rm -A with no patterns, which I just broke.
Brendan Cully <brendan@kublai.com>
parents:
4392
diff
changeset
|
2120 files as removed if they are no longer in the working directory. |
2309
b2f37c7026ca
remove: rewrite to be ~400x faster, bit more friendly
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2301
diff
changeset
|
2121 |
3829
531c116b2028
Add doc notes about revert and hg status vs diff
Matt Mackall <mpm@selenic.com>
parents:
3822
diff
changeset
|
2122 This command schedules the files to be removed at the next commit. |
531c116b2028
Add doc notes about revert and hg status vs diff
Matt Mackall <mpm@selenic.com>
parents:
3822
diff
changeset
|
2123 To undo a remove before that, see hg revert. |
531c116b2028
Add doc notes about revert and hg status vs diff
Matt Mackall <mpm@selenic.com>
parents:
3822
diff
changeset
|
2124 |
2309
b2f37c7026ca
remove: rewrite to be ~400x faster, bit more friendly
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2301
diff
changeset
|
2125 Modified files and added files are not removed by default. To |
b2f37c7026ca
remove: rewrite to be ~400x faster, bit more friendly
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2301
diff
changeset
|
2126 remove them, use the -f/--force option. |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2127 """ |
2179
520dd3d28e9b
add --after option to remove command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2175
diff
changeset
|
2128 if not opts['after'] and not pats: |
520dd3d28e9b
add --after option to remove command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2175
diff
changeset
|
2129 raise util.Abort(_('no files specified')) |
2882
cf98cd70d2c4
move walk and matchpats from commands to cmdutil.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2878
diff
changeset
|
2130 files, matchfn, anypats = cmdutil.matchpats(repo, pats, opts) |
2309
b2f37c7026ca
remove: rewrite to be ~400x faster, bit more friendly
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2301
diff
changeset
|
2131 exact = dict.fromkeys(files) |
2875
3d6efcbbd1c9
remove localrepository.changes.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2874
diff
changeset
|
2132 mardu = map(dict.fromkeys, repo.status(files=files, match=matchfn))[:5] |
2309
b2f37c7026ca
remove: rewrite to be ~400x faster, bit more friendly
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2301
diff
changeset
|
2133 modified, added, removed, deleted, unknown = mardu |
b2f37c7026ca
remove: rewrite to be ~400x faster, bit more friendly
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2301
diff
changeset
|
2134 remove, forget = [], [] |
2882
cf98cd70d2c4
move walk and matchpats from commands to cmdutil.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2878
diff
changeset
|
2135 for src, abs, rel, exact in cmdutil.walk(repo, pats, opts): |
1189
4cbcc54695b2
Make removal check more complete and informative.
Bryan O'Sullivan <bos@serpentine.com>
parents:
1188
diff
changeset
|
2136 reason = None |
4392
9770d260a405
Make rm --after simply mark files as removed, unless --force is also given
Brendan Cully <brendan@kublai.com>
parents:
4384
diff
changeset
|
2137 if abs in modified and not opts['force']: |
2309
b2f37c7026ca
remove: rewrite to be ~400x faster, bit more friendly
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2301
diff
changeset
|
2138 reason = _('is modified (use -f to force removal)') |
b2f37c7026ca
remove: rewrite to be ~400x faster, bit more friendly
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2301
diff
changeset
|
2139 elif abs in added: |
b2f37c7026ca
remove: rewrite to be ~400x faster, bit more friendly
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2301
diff
changeset
|
2140 if opts['force']: |
b2f37c7026ca
remove: rewrite to be ~400x faster, bit more friendly
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2301
diff
changeset
|
2141 forget.append(abs) |
b2f37c7026ca
remove: rewrite to be ~400x faster, bit more friendly
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2301
diff
changeset
|
2142 continue |
b2f37c7026ca
remove: rewrite to be ~400x faster, bit more friendly
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2301
diff
changeset
|
2143 reason = _('has been marked for add (use -f to force removal)') |
5636
7e6ddde68a23
rm: complain more about removing added files
Matt Mackall <mpm@selenic.com>
parents:
5610
diff
changeset
|
2144 exact = 1 # force the message |
4906
30847b8af7ca
dirstate: add __contains__ and make __getitem__ more useful
Matt Mackall <mpm@selenic.com>
parents:
4904
diff
changeset
|
2145 elif abs not in repo.dirstate: |
1615
83238c1db6de
Cleanup of indentation, spacing, newlines, strings and line length
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1607
diff
changeset
|
2146 reason = _('is not managed') |
4394
a6436e9333db
Also restore old rm -A behavior for inexact patterns
Brendan Cully <brendan@kublai.com>
parents:
4393
diff
changeset
|
2147 elif opts['after'] and not exact and abs not in deleted: |
4393
cf5f35ec4720
Fix rm -A with no patterns, which I just broke.
Brendan Cully <brendan@kublai.com>
parents:
4392
diff
changeset
|
2148 continue |
2309
b2f37c7026ca
remove: rewrite to be ~400x faster, bit more friendly
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2301
diff
changeset
|
2149 elif abs in removed: |
b2f37c7026ca
remove: rewrite to be ~400x faster, bit more friendly
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2301
diff
changeset
|
2150 continue |
1255
e825dfea3823
Get all commands that operate on files to honour --verbose and --quiet.
Bryan O'Sullivan <bos@serpentine.com>
parents:
1254
diff
changeset
|
2151 if reason: |
1615
83238c1db6de
Cleanup of indentation, spacing, newlines, strings and line length
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1607
diff
changeset
|
2152 if exact: |
83238c1db6de
Cleanup of indentation, spacing, newlines, strings and line length
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1607
diff
changeset
|
2153 ui.warn(_('not removing %s: file %s\n') % (rel, reason)) |
1189
4cbcc54695b2
Make removal check more complete and informative.
Bryan O'Sullivan <bos@serpentine.com>
parents:
1188
diff
changeset
|
2154 else: |
1615
83238c1db6de
Cleanup of indentation, spacing, newlines, strings and line length
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1607
diff
changeset
|
2155 if ui.verbose or not exact: |
83238c1db6de
Cleanup of indentation, spacing, newlines, strings and line length
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1607
diff
changeset
|
2156 ui.status(_('removing %s\n') % rel) |
2309
b2f37c7026ca
remove: rewrite to be ~400x faster, bit more friendly
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2301
diff
changeset
|
2157 remove.append(abs) |
b2f37c7026ca
remove: rewrite to be ~400x faster, bit more friendly
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2301
diff
changeset
|
2158 repo.forget(forget) |
4392
9770d260a405
Make rm --after simply mark files as removed, unless --force is also given
Brendan Cully <brendan@kublai.com>
parents:
4384
diff
changeset
|
2159 repo.remove(remove, unlink=opts['force'] or not opts['after']) |
245 | 2160 |
1253
a45e717c61a8
Add rename/mv command.
Bryan O'Sullivan <bos@serpentine.com>
parents:
1250
diff
changeset
|
2161 def rename(ui, repo, *pats, **opts): |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2162 """rename files; equivalent of copy + remove |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2163 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2164 Mark dest as copies of sources; mark sources for deletion. If |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2165 dest is a directory, copies are put in that directory. If dest is |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2166 a file, there can only be one source. |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2167 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2168 By default, this command copies the contents of files as they |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2169 stand in the working directory. If invoked with --after, the |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2170 operation is recorded, but no copying is performed. |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2171 |
3829
531c116b2028
Add doc notes about revert and hg status vs diff
Matt Mackall <mpm@selenic.com>
parents:
3822
diff
changeset
|
2172 This command takes effect in the next commit. To undo a rename |
531c116b2028
Add doc notes about revert and hg status vs diff
Matt Mackall <mpm@selenic.com>
parents:
3822
diff
changeset
|
2173 before that, see hg revert. |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2174 """ |
4914 | 2175 wlock = repo.wlock(False) |
4915
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2176 try: |
5610
2493a478f395
copy: handle rename internally
Matt Mackall <mpm@selenic.com>
parents:
5589
diff
changeset
|
2177 return cmdutil.copy(ui, repo, pats, opts, rename=True) |
4915
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2178 finally: |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2179 del wlock |
1253
a45e717c61a8
Add rename/mv command.
Bryan O'Sullivan <bos@serpentine.com>
parents:
1250
diff
changeset
|
2180 |
1472
3c909a747d7f
make revert use standard matcher
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1470
diff
changeset
|
2181 def revert(ui, repo, *pats, **opts): |
5574 | 2182 """restore individual files or dirs to an earlier state |
2183 | |
2184 (use update -r to check out earlier revisions, revert does not | |
2185 change the working dir parents) | |
2204
eb5fa83ffcfa
fix doc comments for revert command. people found them confusing.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2189
diff
changeset
|
2186 |
2212
8164e3f31638
revert: require explicit revision when working dir has two parents.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2204
diff
changeset
|
2187 With no revision specified, revert the named files or directories |
8164e3f31638
revert: require explicit revision when working dir has two parents.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2204
diff
changeset
|
2188 to the contents they had in the parent of the working directory. |
8164e3f31638
revert: require explicit revision when working dir has two parents.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2204
diff
changeset
|
2189 This restores the contents of the affected files to an unmodified |
3829
531c116b2028
Add doc notes about revert and hg status vs diff
Matt Mackall <mpm@selenic.com>
parents:
3822
diff
changeset
|
2190 state and unschedules adds, removes, copies, and renames. If the |
531c116b2028
Add doc notes about revert and hg status vs diff
Matt Mackall <mpm@selenic.com>
parents:
3822
diff
changeset
|
2191 working directory has two parents, you must explicitly specify the |
531c116b2028
Add doc notes about revert and hg status vs diff
Matt Mackall <mpm@selenic.com>
parents:
3822
diff
changeset
|
2192 revision to revert to. |
1811
6cb548cffdf5
resync commands.py docstrings with hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1804
diff
changeset
|
2193 |
3016
2b255c3478dc
minor docstring fix for revert
TK Soh <teekaysoh@yahoo.com>
parents:
3014
diff
changeset
|
2194 Using the -r option, revert the given files or directories to their |
2b255c3478dc
minor docstring fix for revert
TK Soh <teekaysoh@yahoo.com>
parents:
3014
diff
changeset
|
2195 contents as of a specific revision. This can be helpful to "roll |
6163
1f733c2f0165
Document log date ranges and mention 'hg help dates' for all commands (issue998)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6161
diff
changeset
|
2196 back" some or all of an earlier change. |
1f733c2f0165
Document log date ranges and mention 'hg help dates' for all commands (issue998)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6161
diff
changeset
|
2197 See 'hg help dates' for a list of formats valid for -d/--date. |
1811
6cb548cffdf5
resync commands.py docstrings with hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1804
diff
changeset
|
2198 |
6cb548cffdf5
resync commands.py docstrings with hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1804
diff
changeset
|
2199 Revert modifies the working directory. It does not commit any |
2204
eb5fa83ffcfa
fix doc comments for revert command. people found them confusing.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2189
diff
changeset
|
2200 changes, or change the parent of the working directory. If you |
eb5fa83ffcfa
fix doc comments for revert command. people found them confusing.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2189
diff
changeset
|
2201 revert to a revision other than the parent of the working |
eb5fa83ffcfa
fix doc comments for revert command. people found them confusing.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2189
diff
changeset
|
2202 directory, the reverted files will thus appear modified |
eb5fa83ffcfa
fix doc comments for revert command. people found them confusing.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2189
diff
changeset
|
2203 afterwards. |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2204 |
4804
7db38bfb307e
Fix issue589 wording problem
Patrick Mezard <pmezard@gmail.com>
parents:
4747
diff
changeset
|
2205 If a file has been deleted, it is restored. If the executable |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2206 mode of a file was changed, it is reset. |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2207 |
1472
3c909a747d7f
make revert use standard matcher
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1470
diff
changeset
|
2208 If names are given, all files matching the names are reverted. |
2982
890e285c52a1
revert: require --all to revert all files.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2963
diff
changeset
|
2209 If no arguments are given, no files are reverted. |
5574 | 2210 |
2211 Modified files are saved with a .orig suffix before reverting. | |
2212 To disable these backups, use --no-backup. | |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2213 """ |
2982
890e285c52a1
revert: require --all to revert all files.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2963
diff
changeset
|
2214 |
3814
120be84f33de
Add --date support to update and revert
Matt Mackall <mpm@selenic.com>
parents:
3813
diff
changeset
|
2215 if opts["date"]: |
120be84f33de
Add --date support to update and revert
Matt Mackall <mpm@selenic.com>
parents:
3813
diff
changeset
|
2216 if opts["rev"]: |
120be84f33de
Add --date support to update and revert
Matt Mackall <mpm@selenic.com>
parents:
3813
diff
changeset
|
2217 raise util.Abort(_("you can't specify a revision and a date")) |
120be84f33de
Add --date support to update and revert
Matt Mackall <mpm@selenic.com>
parents:
3813
diff
changeset
|
2218 opts["rev"] = cmdutil.finddate(ui, repo, opts["date"]) |
120be84f33de
Add --date support to update and revert
Matt Mackall <mpm@selenic.com>
parents:
3813
diff
changeset
|
2219 |
2982
890e285c52a1
revert: require --all to revert all files.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2963
diff
changeset
|
2220 if not pats and not opts['all']: |
3020
ea2a9c13afc6
Add a hint for revert --all when aborting
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3016
diff
changeset
|
2221 raise util.Abort(_('no files or directories specified; ' |
ea2a9c13afc6
Add a hint for revert --all when aborting
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3016
diff
changeset
|
2222 'use --all to revert the whole repo')) |
2982
890e285c52a1
revert: require --all to revert all files.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2963
diff
changeset
|
2223 |
2212
8164e3f31638
revert: require explicit revision when working dir has two parents.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2204
diff
changeset
|
2224 parent, p2 = repo.dirstate.parents() |
3132
81da3c45aabd
Move defaultrev into changectx
Brendan Cully <brendan@kublai.com>
parents:
3095
diff
changeset
|
2225 if not opts['rev'] and p2 != nullid: |
81da3c45aabd
Move defaultrev into changectx
Brendan Cully <brendan@kublai.com>
parents:
3095
diff
changeset
|
2226 raise util.Abort(_('uncommitted merge - please provide a ' |
81da3c45aabd
Move defaultrev into changectx
Brendan Cully <brendan@kublai.com>
parents:
3095
diff
changeset
|
2227 'specific revision')) |
3972
356e20d46b34
commands.py: use contexts in various places (debug*state, revert)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3951
diff
changeset
|
2228 ctx = repo.changectx(opts['rev']) |
356e20d46b34
commands.py: use contexts in various places (debug*state, revert)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3951
diff
changeset
|
2229 node = ctx.node() |
356e20d46b34
commands.py: use contexts in various places (debug*state, revert)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3951
diff
changeset
|
2230 mf = ctx.manifest() |
2407
8fe3d60b7f19
revert: better fix for not printing 'reverting' message
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2406
diff
changeset
|
2231 if node == parent: |
8fe3d60b7f19
revert: better fix for not printing 'reverting' message
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2406
diff
changeset
|
2232 pmf = mf |
8fe3d60b7f19
revert: better fix for not printing 'reverting' message
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2406
diff
changeset
|
2233 else: |
8fe3d60b7f19
revert: better fix for not printing 'reverting' message
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2406
diff
changeset
|
2234 pmf = None |
2029
d436b21b20dc
rewrite revert command. fix issues 93, 123, 147.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2022
diff
changeset
|
2235 |
2042
a514c7509fa9
small changes to revert command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2037
diff
changeset
|
2236 # need all matching names in dirstate and manifest of target rev, |
a514c7509fa9
small changes to revert command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2037
diff
changeset
|
2237 # so have to walk both. do not print errors if files exist in one |
a514c7509fa9
small changes to revert command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2037
diff
changeset
|
2238 # but not other. |
a514c7509fa9
small changes to revert command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2037
diff
changeset
|
2239 |
2029
d436b21b20dc
rewrite revert command. fix issues 93, 123, 147.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2022
diff
changeset
|
2240 names = {} |
2042
a514c7509fa9
small changes to revert command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2037
diff
changeset
|
2241 |
4915
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2242 wlock = repo.wlock() |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2243 try: |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2244 # walk dirstate. |
6106
cb2f7652ad1b
revert: don't let repo.status walk the whole working dir
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6094
diff
changeset
|
2245 files = [] |
4915
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2246 for src, abs, rel, exact in cmdutil.walk(repo, pats, opts, |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2247 badmatch=mf.has_key): |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2248 names[abs] = (rel, exact) |
6106
cb2f7652ad1b
revert: don't let repo.status walk the whole working dir
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6094
diff
changeset
|
2249 if src != 'b': |
cb2f7652ad1b
revert: don't let repo.status walk the whole working dir
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6094
diff
changeset
|
2250 files.append(abs) |
4915
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2251 |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2252 # walk target manifest. |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2253 |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2254 def badmatch(path): |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2255 if path in names: |
4225
281f9f8f1bd4
Fix confusing message from hg revert (issue332)
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4213
diff
changeset
|
2256 return True |
4915
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2257 path_ = path + '/' |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2258 for f in names: |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2259 if f.startswith(path_): |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2260 return True |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2261 return False |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2262 |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2263 for src, abs, rel, exact in cmdutil.walk(repo, pats, opts, node=node, |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2264 badmatch=badmatch): |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2265 if abs in names or src == 'b': |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2266 continue |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2267 names[abs] = (rel, exact) |
6031
7383384793fb
revert: don't assume ignored files will be returned in the unknown list
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6030
diff
changeset
|
2268 |
6106
cb2f7652ad1b
revert: don't let repo.status walk the whole working dir
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6094
diff
changeset
|
2269 changes = repo.status(files=files, match=names.has_key)[:4] |
6031
7383384793fb
revert: don't assume ignored files will be returned in the unknown list
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6030
diff
changeset
|
2270 modified, added, removed, deleted = map(dict.fromkeys, changes) |
4915
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2271 |
5266 | 2272 # if f is a rename, also revert the source |
2273 cwd = repo.getcwd() | |
2274 for f in added: | |
2275 src = repo.dirstate.copied(f) | |
2276 if src and src not in names and repo.dirstate[src] == 'r': | |
2277 removed[src] = None | |
2278 names[src] = (repo.pathto(src, cwd), True) | |
2279 | |
6109
242595e612ed
revert: unify forget and remove lists
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6108
diff
changeset
|
2280 def removeforget(abs): |
242595e612ed
revert: unify forget and remove lists
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6108
diff
changeset
|
2281 if repo.dirstate[abs] == 'a': |
242595e612ed
revert: unify forget and remove lists
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6108
diff
changeset
|
2282 return _('forgetting %s\n') |
242595e612ed
revert: unify forget and remove lists
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6108
diff
changeset
|
2283 return _('removing %s\n') |
242595e612ed
revert: unify forget and remove lists
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6108
diff
changeset
|
2284 |
4915
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2285 revert = ([], _('reverting %s\n')) |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2286 add = ([], _('adding %s\n')) |
6109
242595e612ed
revert: unify forget and remove lists
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6108
diff
changeset
|
2287 remove = ([], removeforget) |
4915
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2288 undelete = ([], _('undeleting %s\n')) |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2289 |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2290 disptable = ( |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2291 # dispatch table: |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2292 # file state |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2293 # action if in target manifest |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2294 # action if not in target manifest |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2295 # make backup if in target manifest |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2296 # make backup if not in target manifest |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2297 (modified, revert, remove, True, True), |
6109
242595e612ed
revert: unify forget and remove lists
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6108
diff
changeset
|
2298 (added, revert, remove, True, False), |
4915
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2299 (removed, undelete, None, False, False), |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2300 (deleted, revert, remove, False, False), |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2301 ) |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2302 |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2303 entries = names.items() |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2304 entries.sort() |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2305 |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2306 for abs, (rel, exact) in entries: |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2307 mfentry = mf.get(abs) |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2308 target = repo.wjoin(abs) |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2309 def handle(xlist, dobackup): |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2310 xlist[0].append(abs) |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2311 if dobackup and not opts['no_backup'] and util.lexists(target): |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2312 bakname = "%s.orig" % rel |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2313 ui.note(_('saving current version of %s as %s\n') % |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2314 (rel, bakname)) |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2315 if not opts.get('dry_run'): |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2316 util.copyfile(target, bakname) |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2317 if ui.verbose or not exact: |
6109
242595e612ed
revert: unify forget and remove lists
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6108
diff
changeset
|
2318 msg = xlist[1] |
242595e612ed
revert: unify forget and remove lists
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6108
diff
changeset
|
2319 if not isinstance(msg, basestring): |
242595e612ed
revert: unify forget and remove lists
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6108
diff
changeset
|
2320 msg = msg(abs) |
242595e612ed
revert: unify forget and remove lists
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6108
diff
changeset
|
2321 ui.status(msg % rel) |
4915
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2322 for table, hitlist, misslist, backuphit, backupmiss in disptable: |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2323 if abs not in table: continue |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2324 # file has changed in dirstate |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2325 if mfentry: |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2326 handle(hitlist, backuphit) |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2327 elif misslist is not None: |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2328 handle(misslist, backupmiss) |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2329 break |
2029
d436b21b20dc
rewrite revert command. fix issues 93, 123, 147.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2022
diff
changeset
|
2330 else: |
6031
7383384793fb
revert: don't assume ignored files will be returned in the unknown list
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6030
diff
changeset
|
2331 if abs not in repo.dirstate: |
7383384793fb
revert: don't assume ignored files will be returned in the unknown list
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6030
diff
changeset
|
2332 if mfentry: |
7383384793fb
revert: don't assume ignored files will be returned in the unknown list
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6030
diff
changeset
|
2333 handle(add, True) |
7383384793fb
revert: don't assume ignored files will be returned in the unknown list
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6030
diff
changeset
|
2334 elif exact: |
7383384793fb
revert: don't assume ignored files will be returned in the unknown list
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6030
diff
changeset
|
2335 ui.warn(_('file not managed: %s\n') % rel) |
7383384793fb
revert: don't assume ignored files will be returned in the unknown list
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6030
diff
changeset
|
2336 continue |
4915
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2337 # file has not changed in dirstate |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2338 if node == parent: |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2339 if exact: ui.warn(_('no changes needed to %s\n') % rel) |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2340 continue |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2341 if pmf is None: |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2342 # only need parent manifest in this unlikely case, |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2343 # so do not read by default |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2344 pmf = repo.changectx(parent).manifest() |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2345 if abs in pmf: |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2346 if mfentry: |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2347 # if version of file is same in parent and target |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2348 # manifests, do nothing |
6030
d0dbae32517c
revert: revert clean files when only a change of flags is needed
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
5986
diff
changeset
|
2349 if (pmf[abs] != mfentry or |
d0dbae32517c
revert: revert clean files when only a change of flags is needed
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
5986
diff
changeset
|
2350 pmf.flags(abs) != mf.flags(abs)): |
4915
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2351 handle(revert, False) |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2352 else: |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2353 handle(remove, False) |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2354 |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2355 if not opts.get('dry_run'): |
6107
41bb88cb913e
commands.revert: don't call hg.revert
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6106
diff
changeset
|
2356 def checkout(f): |
41bb88cb913e
commands.revert: don't call hg.revert
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6106
diff
changeset
|
2357 fc = ctx[f] |
41bb88cb913e
commands.revert: don't call hg.revert
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6106
diff
changeset
|
2358 repo.wwrite(f, fc.data(), fc.fileflags()) |
41bb88cb913e
commands.revert: don't call hg.revert
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6106
diff
changeset
|
2359 |
6109
242595e612ed
revert: unify forget and remove lists
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6108
diff
changeset
|
2360 audit_path = util.path_auditor(repo.root) |
242595e612ed
revert: unify forget and remove lists
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6108
diff
changeset
|
2361 for f in remove[0]: |
242595e612ed
revert: unify forget and remove lists
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6108
diff
changeset
|
2362 if repo.dirstate[f] == 'a': |
242595e612ed
revert: unify forget and remove lists
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6108
diff
changeset
|
2363 repo.dirstate.forget(f) |
242595e612ed
revert: unify forget and remove lists
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6108
diff
changeset
|
2364 continue |
242595e612ed
revert: unify forget and remove lists
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6108
diff
changeset
|
2365 audit_path(f) |
242595e612ed
revert: unify forget and remove lists
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6108
diff
changeset
|
2366 try: |
242595e612ed
revert: unify forget and remove lists
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6108
diff
changeset
|
2367 util.unlink(repo.wjoin(f)) |
242595e612ed
revert: unify forget and remove lists
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6108
diff
changeset
|
2368 except OSError: |
242595e612ed
revert: unify forget and remove lists
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6108
diff
changeset
|
2369 pass |
242595e612ed
revert: unify forget and remove lists
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6108
diff
changeset
|
2370 repo.dirstate.remove(f) |
6107
41bb88cb913e
commands.revert: don't call hg.revert
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6106
diff
changeset
|
2371 |
41bb88cb913e
commands.revert: don't call hg.revert
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6106
diff
changeset
|
2372 for f in revert[0]: |
41bb88cb913e
commands.revert: don't call hg.revert
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6106
diff
changeset
|
2373 checkout(f) |
41bb88cb913e
commands.revert: don't call hg.revert
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6106
diff
changeset
|
2374 |
4915
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2375 for f in add[0]: |
6107
41bb88cb913e
commands.revert: don't call hg.revert
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6106
diff
changeset
|
2376 checkout(f) |
4915
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2377 repo.dirstate.add(f) |
6107
41bb88cb913e
commands.revert: don't call hg.revert
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6106
diff
changeset
|
2378 |
6108
5086576a2152
revert: only call dirstate.normal when we know the file is clean
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6107
diff
changeset
|
2379 normal = repo.dirstate.normallookup |
5086576a2152
revert: only call dirstate.normal when we know the file is clean
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6107
diff
changeset
|
2380 if node == parent and p2 == nullid: |
5086576a2152
revert: only call dirstate.normal when we know the file is clean
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6107
diff
changeset
|
2381 normal = repo.dirstate.normal |
4915
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2382 for f in undelete[0]: |
6107
41bb88cb913e
commands.revert: don't call hg.revert
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6106
diff
changeset
|
2383 checkout(f) |
6108
5086576a2152
revert: only call dirstate.normal when we know the file is clean
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6107
diff
changeset
|
2384 normal(f) |
6107
41bb88cb913e
commands.revert: don't call hg.revert
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6106
diff
changeset
|
2385 |
4915
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2386 finally: |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2387 del wlock |
588 | 2388 |
2227
4f072bb06e89
deprecate undo command, replace with rollback command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2212
diff
changeset
|
2389 def rollback(ui, repo): |
5575
8788ff630c26
imported patch rollback-help
Matt Mackall <mpm@selenic.com>
parents:
5574
diff
changeset
|
2390 """roll back the last transaction |
8788ff630c26
imported patch rollback-help
Matt Mackall <mpm@selenic.com>
parents:
5574
diff
changeset
|
2391 |
8788ff630c26
imported patch rollback-help
Matt Mackall <mpm@selenic.com>
parents:
5574
diff
changeset
|
2392 This command should be used with care. There is only one level of |
8788ff630c26
imported patch rollback-help
Matt Mackall <mpm@selenic.com>
parents:
5574
diff
changeset
|
2393 rollback, and there is no way to undo a rollback. It will also |
8788ff630c26
imported patch rollback-help
Matt Mackall <mpm@selenic.com>
parents:
5574
diff
changeset
|
2394 restore the dirstate at the time of the last transaction, losing |
8788ff630c26
imported patch rollback-help
Matt Mackall <mpm@selenic.com>
parents:
5574
diff
changeset
|
2395 any dirstate changes since that time. |
2227
4f072bb06e89
deprecate undo command, replace with rollback command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2212
diff
changeset
|
2396 |
4f072bb06e89
deprecate undo command, replace with rollback command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2212
diff
changeset
|
2397 Transactions are used to encapsulate the effects of all commands |
4f072bb06e89
deprecate undo command, replace with rollback command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2212
diff
changeset
|
2398 that create new changesets or propagate existing changesets into a |
4f072bb06e89
deprecate undo command, replace with rollback command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2212
diff
changeset
|
2399 repository. For example, the following commands are transactional, |
4f072bb06e89
deprecate undo command, replace with rollback command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2212
diff
changeset
|
2400 and their effects can be rolled back: |
4f072bb06e89
deprecate undo command, replace with rollback command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2212
diff
changeset
|
2401 |
4f072bb06e89
deprecate undo command, replace with rollback command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2212
diff
changeset
|
2402 commit |
4f072bb06e89
deprecate undo command, replace with rollback command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2212
diff
changeset
|
2403 import |
4f072bb06e89
deprecate undo command, replace with rollback command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2212
diff
changeset
|
2404 pull |
4f072bb06e89
deprecate undo command, replace with rollback command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2212
diff
changeset
|
2405 push (with this repository as destination) |
4f072bb06e89
deprecate undo command, replace with rollback command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2212
diff
changeset
|
2406 unbundle |
4f072bb06e89
deprecate undo command, replace with rollback command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2212
diff
changeset
|
2407 |
4f072bb06e89
deprecate undo command, replace with rollback command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2212
diff
changeset
|
2408 This command is not intended for use on public repositories. Once |
4f072bb06e89
deprecate undo command, replace with rollback command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2212
diff
changeset
|
2409 changes are visible for pull by other users, rolling a transaction |
4f072bb06e89
deprecate undo command, replace with rollback command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2212
diff
changeset
|
2410 back locally is ineffective (someone else may already have pulled |
4f072bb06e89
deprecate undo command, replace with rollback command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2212
diff
changeset
|
2411 the changes). Furthermore, a race is possible with readers of the |
4f072bb06e89
deprecate undo command, replace with rollback command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2212
diff
changeset
|
2412 repository; for example an in-progress pull from the repository |
4f072bb06e89
deprecate undo command, replace with rollback command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2212
diff
changeset
|
2413 may fail if a rollback is performed. |
4f072bb06e89
deprecate undo command, replace with rollback command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2212
diff
changeset
|
2414 """ |
2362
482d3fb47d80
Renamed localrepo.undo() to rollback() and talk about "rollback information".
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2356
diff
changeset
|
2415 repo.rollback() |
2227
4f072bb06e89
deprecate undo command, replace with rollback command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2212
diff
changeset
|
2416 |
468 | 2417 def root(ui, repo): |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2418 """print the root (top) of the current working dir |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2419 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2420 Print the root directory of the current repository. |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2421 """ |
468 | 2422 ui.write(repo.root + "\n") |
2423 | |
245 | 2424 def serve(ui, repo, **opts): |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2425 """export the repository via HTTP |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2426 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2427 Start a local HTTP repository browser and pull server. |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2428 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2429 By default, the server logs accesses to stdout and errors to |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2430 stderr. Use the "-A" and "-E" options to log to files. |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2431 """ |
624
876333a295ff
Add an sshrepository class and hg serve --stdio
Matt Mackall <mpm@selenic.com>
parents:
618
diff
changeset
|
2432 |
876333a295ff
Add an sshrepository class and hg serve --stdio
Matt Mackall <mpm@selenic.com>
parents:
618
diff
changeset
|
2433 if opts["stdio"]: |
2127
8a85dbbadddf
Allow 'hg serve --webdir-conf foo' to be run outside a repository.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2125
diff
changeset
|
2434 if repo is None: |
3079
4c9fcb5e3b82
If local repository is missing, make error message clearer.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3072
diff
changeset
|
2435 raise hg.RepoError(_("There is no Mercurial repository here" |
4c9fcb5e3b82
If local repository is missing, make error message clearer.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3072
diff
changeset
|
2436 " (.hg not found)")) |
2396
8d44649df03b
refactor ssh server.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2392
diff
changeset
|
2437 s = sshserver.sshserver(ui, repo) |
8d44649df03b
refactor ssh server.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2392
diff
changeset
|
2438 s.serve_forever() |
2363
fa4c11751367
Give a response to unknown SSH commands
Matt Mackall <mpm@selenic.com>
parents:
2362
diff
changeset
|
2439 |
4078
ff08cebcd116
hg serve: call setconfig on the parentui
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4064
diff
changeset
|
2440 parentui = ui.parentui or ui |
5835
bd34f0ac3cb0
adding "prefix" option to "hg serve" (command line and [web] section)
Michele Cella <michele.cella@gmail.com>
parents:
5811
diff
changeset
|
2441 optlist = ("name templates style address port prefix ipv6" |
4860
f3802f9f1840
Add SSL support to hg serve, activated via --certificate option
Brendan Cully <brendan@kublai.com>
parents:
4857
diff
changeset
|
2442 " accesslog errorlog webdir_conf certificate") |
987 | 2443 for o in optlist.split(): |
2444 if opts[o]: | |
4078
ff08cebcd116
hg serve: call setconfig on the parentui
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4064
diff
changeset
|
2445 parentui.setconfig("web", o, str(opts[o])) |
5083
f94dbc6c7eaf
Fix hgwebdir after 9858477ed74cce9dc8f4069f9453a1bda0e13ba1 broke it.
Eric Hopper <hopper@omnifarious.org>
parents:
5080
diff
changeset
|
2446 if (repo is not None) and (repo.ui != parentui): |
4835
9858477ed74c
serve: respect settings from .hg/hgrc
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4833
diff
changeset
|
2447 repo.ui.setconfig("web", o, str(opts[o])) |
987 | 2448 |
2127
8a85dbbadddf
Allow 'hg serve --webdir-conf foo' to be run outside a repository.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2125
diff
changeset
|
2449 if repo is None and not ui.config("web", "webdir_conf"): |
3079
4c9fcb5e3b82
If local repository is missing, make error message clearer.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3072
diff
changeset
|
2450 raise hg.RepoError(_("There is no Mercurial repository here" |
4c9fcb5e3b82
If local repository is missing, make error message clearer.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3072
diff
changeset
|
2451 " (.hg not found)")) |
2127
8a85dbbadddf
Allow 'hg serve --webdir-conf foo' to be run outside a repository.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2125
diff
changeset
|
2452 |
4380
e89f9afc462b
Refactor commands.serve to allow other commands to run as services.
Bryan O'Sullivan <bos@serpentine.com>
parents:
4376
diff
changeset
|
2453 class service: |
e89f9afc462b
Refactor commands.serve to allow other commands to run as services.
Bryan O'Sullivan <bos@serpentine.com>
parents:
4376
diff
changeset
|
2454 def init(self): |
4672
272c0a09b203
Handle CTRL+C in serve under Windows.
Marcos Chaves <marcos.nospam@gmail.com>
parents:
4659
diff
changeset
|
2455 util.set_signal_handler() |
4380
e89f9afc462b
Refactor commands.serve to allow other commands to run as services.
Bryan O'Sullivan <bos@serpentine.com>
parents:
4376
diff
changeset
|
2456 try: |
e89f9afc462b
Refactor commands.serve to allow other commands to run as services.
Bryan O'Sullivan <bos@serpentine.com>
parents:
4376
diff
changeset
|
2457 self.httpd = hgweb.server.create_server(parentui, repo) |
e89f9afc462b
Refactor commands.serve to allow other commands to run as services.
Bryan O'Sullivan <bos@serpentine.com>
parents:
4376
diff
changeset
|
2458 except socket.error, inst: |
e89f9afc462b
Refactor commands.serve to allow other commands to run as services.
Bryan O'Sullivan <bos@serpentine.com>
parents:
4376
diff
changeset
|
2459 raise util.Abort(_('cannot start server: ') + inst.args[1]) |
e89f9afc462b
Refactor commands.serve to allow other commands to run as services.
Bryan O'Sullivan <bos@serpentine.com>
parents:
4376
diff
changeset
|
2460 |
e89f9afc462b
Refactor commands.serve to allow other commands to run as services.
Bryan O'Sullivan <bos@serpentine.com>
parents:
4376
diff
changeset
|
2461 if not ui.verbose: return |
e89f9afc462b
Refactor commands.serve to allow other commands to run as services.
Bryan O'Sullivan <bos@serpentine.com>
parents:
4376
diff
changeset
|
2462 |
5970
f25070ecf334
hgweb: fixes to make hg serve prefix handling more robust
Michele Cella <michele.cella@gmail.com>
parents:
5953
diff
changeset
|
2463 if self.httpd.prefix: |
f25070ecf334
hgweb: fixes to make hg serve prefix handling more robust
Michele Cella <michele.cella@gmail.com>
parents:
5953
diff
changeset
|
2464 prefix = self.httpd.prefix.strip('/') + '/' |
f25070ecf334
hgweb: fixes to make hg serve prefix handling more robust
Michele Cella <michele.cella@gmail.com>
parents:
5953
diff
changeset
|
2465 else: |
f25070ecf334
hgweb: fixes to make hg serve prefix handling more robust
Michele Cella <michele.cella@gmail.com>
parents:
5953
diff
changeset
|
2466 prefix = '' |
f25070ecf334
hgweb: fixes to make hg serve prefix handling more robust
Michele Cella <michele.cella@gmail.com>
parents:
5953
diff
changeset
|
2467 |
4505 | 2468 if self.httpd.port != 80: |
5970
f25070ecf334
hgweb: fixes to make hg serve prefix handling more robust
Michele Cella <michele.cella@gmail.com>
parents:
5953
diff
changeset
|
2469 ui.status(_('listening at http://%s:%d/%s\n') % |
f25070ecf334
hgweb: fixes to make hg serve prefix handling more robust
Michele Cella <michele.cella@gmail.com>
parents:
5953
diff
changeset
|
2470 (self.httpd.addr, self.httpd.port, prefix)) |
4380
e89f9afc462b
Refactor commands.serve to allow other commands to run as services.
Bryan O'Sullivan <bos@serpentine.com>
parents:
4376
diff
changeset
|
2471 else: |
5970
f25070ecf334
hgweb: fixes to make hg serve prefix handling more robust
Michele Cella <michele.cella@gmail.com>
parents:
5953
diff
changeset
|
2472 ui.status(_('listening at http://%s/%s\n') % |
f25070ecf334
hgweb: fixes to make hg serve prefix handling more robust
Michele Cella <michele.cella@gmail.com>
parents:
5953
diff
changeset
|
2473 (self.httpd.addr, prefix)) |
4380
e89f9afc462b
Refactor commands.serve to allow other commands to run as services.
Bryan O'Sullivan <bos@serpentine.com>
parents:
4376
diff
changeset
|
2474 |
e89f9afc462b
Refactor commands.serve to allow other commands to run as services.
Bryan O'Sullivan <bos@serpentine.com>
parents:
4376
diff
changeset
|
2475 def run(self): |
e89f9afc462b
Refactor commands.serve to allow other commands to run as services.
Bryan O'Sullivan <bos@serpentine.com>
parents:
4376
diff
changeset
|
2476 self.httpd.serve_forever() |
e89f9afc462b
Refactor commands.serve to allow other commands to run as services.
Bryan O'Sullivan <bos@serpentine.com>
parents:
4376
diff
changeset
|
2477 |
e89f9afc462b
Refactor commands.serve to allow other commands to run as services.
Bryan O'Sullivan <bos@serpentine.com>
parents:
4376
diff
changeset
|
2478 service = service() |
e89f9afc462b
Refactor commands.serve to allow other commands to run as services.
Bryan O'Sullivan <bos@serpentine.com>
parents:
4376
diff
changeset
|
2479 |
e89f9afc462b
Refactor commands.serve to allow other commands to run as services.
Bryan O'Sullivan <bos@serpentine.com>
parents:
4376
diff
changeset
|
2480 cmdutil.service(opts, initfn=service.init, runfn=service.run) |
500
ebc4714a7632
[PATCH] Clean up destination directory if a clone fails.
mpm@selenic.com
parents:
499
diff
changeset
|
2481 |
731
91ca3afab8e8
Add name matching to status command.
Bryan O'Sullivan <bos@serpentine.com>
parents:
729
diff
changeset
|
2482 def status(ui, repo, *pats, **opts): |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2483 """show changed files in the working directory |
213 | 2484 |
2661
5c10b7ed3411
status: add -c (clean) and -A (all files) options
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2639
diff
changeset
|
2485 Show status of files in the repository. If names are given, only |
5998
5d91f6e6f841
Clarify help for hg status and make it consistent.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5994
diff
changeset
|
2486 files that match are shown. Files that are clean or ignored or |
5d91f6e6f841
Clarify help for hg status and make it consistent.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5994
diff
changeset
|
2487 source of a copy/move operation, are not listed unless -c (clean), |
5d91f6e6f841
Clarify help for hg status and make it consistent.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5994
diff
changeset
|
2488 -i (ignored), -C (copies) or -A is given. Unless options described |
5d91f6e6f841
Clarify help for hg status and make it consistent.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5994
diff
changeset
|
2489 with "show only ..." are given, the options -mardu are used. |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2490 |
3822
28134d82db9b
Add notes about diff/merge asymmetry to export, diff, and log
Matt Mackall <mpm@selenic.com>
parents:
3815
diff
changeset
|
2491 NOTE: status may appear to disagree with diff if permissions have |
28134d82db9b
Add notes about diff/merge asymmetry to export, diff, and log
Matt Mackall <mpm@selenic.com>
parents:
3815
diff
changeset
|
2492 changed or a merge has occurred. The standard diff format does not |
28134d82db9b
Add notes about diff/merge asymmetry to export, diff, and log
Matt Mackall <mpm@selenic.com>
parents:
3815
diff
changeset
|
2493 report permission changes and diff only reports changes relative |
28134d82db9b
Add notes about diff/merge asymmetry to export, diff, and log
Matt Mackall <mpm@selenic.com>
parents:
3815
diff
changeset
|
2494 to one merge parent. |
28134d82db9b
Add notes about diff/merge asymmetry to export, diff, and log
Matt Mackall <mpm@selenic.com>
parents:
3815
diff
changeset
|
2495 |
3467
2b3b703b3a2b
Add --rev option to status
Brendan Cully <brendan@kublai.com>
parents:
3465
diff
changeset
|
2496 If one revision is given, it is used as the base revision. |
2b3b703b3a2b
Add --rev option to status
Brendan Cully <brendan@kublai.com>
parents:
3465
diff
changeset
|
2497 If two revisions are given, the difference between them is shown. |
2b3b703b3a2b
Add --rev option to status
Brendan Cully <brendan@kublai.com>
parents:
3465
diff
changeset
|
2498 |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2499 The codes used to show the status of files are: |
746 | 2500 M = modified |
245 | 2501 A = added |
2502 R = removed | |
2661
5c10b7ed3411
status: add -c (clean) and -A (all files) options
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2639
diff
changeset
|
2503 C = clean |
1619
1ba0d7041ac4
Distinguish removed and deleted files. Tests are not fixed yet.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1618
diff
changeset
|
2504 ! = deleted, but still tracked |
842
8fb488773063
Rewritten change type selection for hg status.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
841
diff
changeset
|
2505 ? = not tracked |
5998
5d91f6e6f841
Clarify help for hg status and make it consistent.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5994
diff
changeset
|
2506 I = ignored |
2639
001703ec311d
Add an option '-C|--copies' to hg status to show the source of copied files.
Brendan Cully <brendan@kublai.com>
parents:
2630
diff
changeset
|
2507 = the previous added file was copied from here |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2508 """ |
312 | 2509 |
2661
5c10b7ed3411
status: add -c (clean) and -A (all files) options
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2639
diff
changeset
|
2510 all = opts['all'] |
3707
67f44b825784
Removed unused ui parameter from revpair/revrange and fix its users.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3706
diff
changeset
|
2511 node1, node2 = cmdutil.revpair(repo, opts.get('rev')) |
3223
53e843840349
Whitespace/Tab cleanup
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3204
diff
changeset
|
2512 |
2882
cf98cd70d2c4
move walk and matchpats from commands to cmdutil.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2878
diff
changeset
|
2513 files, matchfn, anypats = cmdutil.matchpats(repo, pats, opts) |
1625
e1bcf7fa983f
correct the relative path when walking from a subdir
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1622
diff
changeset
|
2514 cwd = (pats and repo.getcwd()) or '' |
2661
5c10b7ed3411
status: add -c (clean) and -A (all files) options
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2639
diff
changeset
|
2515 modified, added, removed, deleted, unknown, ignored, clean = [ |
4043
31047b6f7ec1
Copied files sources were not shown by status -C under Win32.
Patrick Mezard <pmezard@gmail.com>
parents:
4014
diff
changeset
|
2516 n for n in repo.status(node1=node1, node2=node2, files=files, |
3467
2b3b703b3a2b
Add --rev option to status
Brendan Cully <brendan@kublai.com>
parents:
3465
diff
changeset
|
2517 match=matchfn, |
2661
5c10b7ed3411
status: add -c (clean) and -A (all files) options
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2639
diff
changeset
|
2518 list_ignored=all or opts['ignored'], |
5c10b7ed3411
status: add -c (clean) and -A (all files) options
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2639
diff
changeset
|
2519 list_clean=all or opts['clean'])] |
5c10b7ed3411
status: add -c (clean) and -A (all files) options
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2639
diff
changeset
|
2520 |
5c10b7ed3411
status: add -c (clean) and -A (all files) options
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2639
diff
changeset
|
2521 changetypes = (('modified', 'M', modified), |
1966
f8b0e73e320f
hg status cleanups: Don't translate long options, remove stray semicolon.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1965
diff
changeset
|
2522 ('added', 'A', added), |
f8b0e73e320f
hg status cleanups: Don't translate long options, remove stray semicolon.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1965
diff
changeset
|
2523 ('removed', 'R', removed), |
f8b0e73e320f
hg status cleanups: Don't translate long options, remove stray semicolon.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1965
diff
changeset
|
2524 ('deleted', '!', deleted), |
2022
a59da8cc35e4
New option -i/--ignored for 'hg status' to show ignored files.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2020
diff
changeset
|
2525 ('unknown', '?', unknown), |
2661
5c10b7ed3411
status: add -c (clean) and -A (all files) options
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2639
diff
changeset
|
2526 ('ignored', 'I', ignored)) |
5c10b7ed3411
status: add -c (clean) and -A (all files) options
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2639
diff
changeset
|
2527 |
5c10b7ed3411
status: add -c (clean) and -A (all files) options
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2639
diff
changeset
|
2528 explicit_changetypes = changetypes + (('clean', 'C', clean),) |
842
8fb488773063
Rewritten change type selection for hg status.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
841
diff
changeset
|
2529 |
1085
6f94688b81b6
status: added option -p and -0 to assist xargs
TK Soh <teekaysoh@yahoo.com>
parents:
1081
diff
changeset
|
2530 end = opts['print0'] and '\0' or '\n' |
1106
95a044b73bd5
Whitespace cleanup.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1105
diff
changeset
|
2531 |
2661
5c10b7ed3411
status: add -c (clean) and -A (all files) options
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2639
diff
changeset
|
2532 for opt, char, changes in ([ct for ct in explicit_changetypes |
5c10b7ed3411
status: add -c (clean) and -A (all files) options
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2639
diff
changeset
|
2533 if all or opts[ct[0]]] |
842
8fb488773063
Rewritten change type selection for hg status.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
841
diff
changeset
|
2534 or changetypes): |
1105
a906b018eaef
Replaced hg status -p/--strip with -n/--no-status to not confuse with patch.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1085
diff
changeset
|
2535 if opts['no_status']: |
1085
6f94688b81b6
status: added option -p and -0 to assist xargs
TK Soh <teekaysoh@yahoo.com>
parents:
1081
diff
changeset
|
2536 format = "%%s%s" % end |
6f94688b81b6
status: added option -p and -0 to assist xargs
TK Soh <teekaysoh@yahoo.com>
parents:
1081
diff
changeset
|
2537 else: |
1966
f8b0e73e320f
hg status cleanups: Don't translate long options, remove stray semicolon.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1965
diff
changeset
|
2538 format = "%s %%s%s" % (char, end) |
1106
95a044b73bd5
Whitespace cleanup.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1105
diff
changeset
|
2539 |
842
8fb488773063
Rewritten change type selection for hg status.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
841
diff
changeset
|
2540 for f in changes: |
4525
78b6add1f966
Add dirstate.pathto and localrepo.pathto.
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4524
diff
changeset
|
2541 ui.write(format % repo.pathto(f, cwd)) |
3250
7c114915fbdb
Make status -C work with merge+rename
Matt Mackall <mpm@selenic.com>
parents:
3223
diff
changeset
|
2542 if ((all or opts.get('copies')) and not opts.get('no_status')): |
3159
e43fd1623fe1
fix users of dirstate.copies broken by b1f10d3223c1
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3146
diff
changeset
|
2543 copied = repo.dirstate.copied(f) |
e43fd1623fe1
fix users of dirstate.copies broken by b1f10d3223c1
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3146
diff
changeset
|
2544 if copied: |
4525
78b6add1f966
Add dirstate.pathto and localrepo.pathto.
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4524
diff
changeset
|
2545 ui.write(' %s%s' % (repo.pathto(copied, cwd), end)) |
213 | 2546 |
1596
41366b7d6709
fix 'hg tag <tagname> <revision>
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1589
diff
changeset
|
2547 def tag(ui, repo, name, rev_=None, **opts): |
3915
3c82ab166eea
doc fix: hg tags defaults to current parent revision, too.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3914
diff
changeset
|
2548 """add a tag for the current or given revision |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2549 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2550 Name a particular revision using <name>. |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2551 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2552 Tags are used to name particular revisions of the repository and are |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2553 very useful to compare different revision, to go back to significant |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2554 earlier versions or to mark branch points as releases, etc. |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2555 |
3915
3c82ab166eea
doc fix: hg tags defaults to current parent revision, too.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3914
diff
changeset
|
2556 If no revision is given, the parent of the working directory is used, |
3c82ab166eea
doc fix: hg tags defaults to current parent revision, too.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3914
diff
changeset
|
2557 or tip if no revision is checked out. |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2558 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2559 To facilitate version control, distribution, and merging of tags, |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2560 they are stored as a file named ".hgtags" which is managed |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2561 similarly to other project files and can be hand-edited if |
1654
b7fc961507db
deprecate the use of 'hg tag NAME [REV]'
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1648
diff
changeset
|
2562 necessary. The file '.hg/localtags' is used for local tags (not |
b7fc961507db
deprecate the use of 'hg tag NAME [REV]'
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1648
diff
changeset
|
2563 shared among repositories). |
6163
1f733c2f0165
Document log date ranges and mention 'hg help dates' for all commands (issue998)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6161
diff
changeset
|
2564 |
1f733c2f0165
Document log date ranges and mention 'hg help dates' for all commands (issue998)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6161
diff
changeset
|
2565 See 'hg help dates' for a list of formats valid for -d/--date. |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2566 """ |
3801
bd7011246fab
Add "null" pseudo-tag pointing to nullid
Brendan Cully <brendan@kublai.com>
parents:
3786
diff
changeset
|
2567 if name in ['tip', '.', 'null']: |
2789
e3564699409c
Add '.' as a shortcut revision name for the working directory parent.
Brendan Cully <brendan@kublai.com>
parents:
2784
diff
changeset
|
2568 raise util.Abort(_("the name '%s' is reserved") % name) |
1654
b7fc961507db
deprecate the use of 'hg tag NAME [REV]'
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1648
diff
changeset
|
2569 if rev_ is not None: |
b7fc961507db
deprecate the use of 'hg tag NAME [REV]'
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1648
diff
changeset
|
2570 ui.warn(_("use of 'hg tag NAME [REV]' is deprecated, " |
1661
b11507d6d16d
Added missing quote in warning text.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1657
diff
changeset
|
2571 "please use 'hg tag [-r REV] NAME' instead\n")) |
1654
b7fc961507db
deprecate the use of 'hg tag NAME [REV]'
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1648
diff
changeset
|
2572 if opts['rev']: |
b7fc961507db
deprecate the use of 'hg tag NAME [REV]'
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1648
diff
changeset
|
2573 raise util.Abort(_("use only one form to specify the revision")) |
4213 | 2574 if opts['rev'] and opts['remove']: |
2575 raise util.Abort(_("--rev and --remove are incompatible")) | |
1596
41366b7d6709
fix 'hg tag <tagname> <revision>
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1589
diff
changeset
|
2576 if opts['rev']: |
41366b7d6709
fix 'hg tag <tagname> <revision>
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1589
diff
changeset
|
2577 rev_ = opts['rev'] |
4213 | 2578 message = opts['message'] |
2579 if opts['remove']: | |
5657
47915bf68c44
Properly check tag's existence as a local/global tag when removing it.
Osku Salerma <osku@iki.fi>
parents:
5636
diff
changeset
|
2580 tagtype = repo.tagtype(name) |
47915bf68c44
Properly check tag's existence as a local/global tag when removing it.
Osku Salerma <osku@iki.fi>
parents:
5636
diff
changeset
|
2581 |
47915bf68c44
Properly check tag's existence as a local/global tag when removing it.
Osku Salerma <osku@iki.fi>
parents:
5636
diff
changeset
|
2582 if not tagtype: |
4650
15e22b483adc
tag: abort when trying to remove nonexistent tags
TK Soh <teekaysoh@yahoo.com>
parents:
4649
diff
changeset
|
2583 raise util.Abort(_('tag %s does not exist') % name) |
5657
47915bf68c44
Properly check tag's existence as a local/global tag when removing it.
Osku Salerma <osku@iki.fi>
parents:
5636
diff
changeset
|
2584 if opts['local'] and tagtype == 'global': |
47915bf68c44
Properly check tag's existence as a local/global tag when removing it.
Osku Salerma <osku@iki.fi>
parents:
5636
diff
changeset
|
2585 raise util.Abort(_('%s tag is global') % name) |
47915bf68c44
Properly check tag's existence as a local/global tag when removing it.
Osku Salerma <osku@iki.fi>
parents:
5636
diff
changeset
|
2586 if not opts['local'] and tagtype == 'local': |
47915bf68c44
Properly check tag's existence as a local/global tag when removing it.
Osku Salerma <osku@iki.fi>
parents:
5636
diff
changeset
|
2587 raise util.Abort(_('%s tag is local') % name) |
47915bf68c44
Properly check tag's existence as a local/global tag when removing it.
Osku Salerma <osku@iki.fi>
parents:
5636
diff
changeset
|
2588 |
4213 | 2589 rev_ = nullid |
2590 if not message: | |
2591 message = _('Removed tag %s') % name | |
4267
8185a1ca8628
tags: require -f to replace an existing tag
Matt Mackall <mpm@selenic.com>
parents:
4247
diff
changeset
|
2592 elif name in repo.tags() and not opts['force']: |
8185a1ca8628
tags: require -f to replace an existing tag
Matt Mackall <mpm@selenic.com>
parents:
4247
diff
changeset
|
2593 raise util.Abort(_('a tag named %s already exists (use -f to force)') |
8185a1ca8628
tags: require -f to replace an existing tag
Matt Mackall <mpm@selenic.com>
parents:
4247
diff
changeset
|
2594 % name) |
3132
81da3c45aabd
Move defaultrev into changectx
Brendan Cully <brendan@kublai.com>
parents:
3095
diff
changeset
|
2595 if not rev_ and repo.dirstate.parents()[1] != nullid: |
81da3c45aabd
Move defaultrev into changectx
Brendan Cully <brendan@kublai.com>
parents:
3095
diff
changeset
|
2596 raise util.Abort(_('uncommitted merge - please provide a ' |
81da3c45aabd
Move defaultrev into changectx
Brendan Cully <brendan@kublai.com>
parents:
3095
diff
changeset
|
2597 'specific revision')) |
81da3c45aabd
Move defaultrev into changectx
Brendan Cully <brendan@kublai.com>
parents:
3095
diff
changeset
|
2598 r = repo.changectx(rev_).node() |
2967
eef469259745
tag: shorten hash in default commit message
Matt Mackall <mpm@selenic.com>
parents:
2966
diff
changeset
|
2599 |
eef469259745
tag: shorten hash in default commit message
Matt Mackall <mpm@selenic.com>
parents:
2966
diff
changeset
|
2600 if not message: |
eef469259745
tag: shorten hash in default commit message
Matt Mackall <mpm@selenic.com>
parents:
2966
diff
changeset
|
2601 message = _('Added tag %s for changeset %s') % (name, short(r)) |
eef469259745
tag: shorten hash in default commit message
Matt Mackall <mpm@selenic.com>
parents:
2966
diff
changeset
|
2602 |
eef469259745
tag: shorten hash in default commit message
Matt Mackall <mpm@selenic.com>
parents:
2966
diff
changeset
|
2603 repo.tag(name, r, message, opts['local'], opts['user'], opts['date']) |
401
af4848f83e68
From: Radoslaw Szkodzinski <astralstorm@gorzow.mm.pl>
mpm@selenic.com
parents:
396
diff
changeset
|
2604 |
248 | 2605 def tags(ui, repo): |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2606 """list repository tags |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2607 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2608 List the repository tags. |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2609 |
5658
ae3089cefaab
Add --verbose support to tags command.
Osku Salerma <osku@iki.fi>
parents:
5657
diff
changeset
|
2610 This lists both regular and local tags. When the -v/--verbose switch |
ae3089cefaab
Add --verbose support to tags command.
Osku Salerma <osku@iki.fi>
parents:
5657
diff
changeset
|
2611 is used, a third column "local" is printed for local tags. |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2612 """ |
477
520540fd6b64
Handle errors in .hgtags or hgrc [tags] section more gracefully.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
470
diff
changeset
|
2613 |
343 | 2614 l = repo.tagslist() |
2615 l.reverse() | |
2966
fb493241d7f6
Only show long hashes with --debug, not --verbose
Matt Mackall <mpm@selenic.com>
parents:
2963
diff
changeset
|
2616 hexfunc = ui.debugflag and hex or short |
5658
ae3089cefaab
Add --verbose support to tags command.
Osku Salerma <osku@iki.fi>
parents:
5657
diff
changeset
|
2617 tagtype = "" |
ae3089cefaab
Add --verbose support to tags command.
Osku Salerma <osku@iki.fi>
parents:
5657
diff
changeset
|
2618 |
477
520540fd6b64
Handle errors in .hgtags or hgrc [tags] section more gracefully.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
470
diff
changeset
|
2619 for t, n in l: |
5658
ae3089cefaab
Add --verbose support to tags command.
Osku Salerma <osku@iki.fi>
parents:
5657
diff
changeset
|
2620 if ui.quiet: |
ae3089cefaab
Add --verbose support to tags command.
Osku Salerma <osku@iki.fi>
parents:
5657
diff
changeset
|
2621 ui.write("%s\n" % t) |
ae3089cefaab
Add --verbose support to tags command.
Osku Salerma <osku@iki.fi>
parents:
5657
diff
changeset
|
2622 continue |
ae3089cefaab
Add --verbose support to tags command.
Osku Salerma <osku@iki.fi>
parents:
5657
diff
changeset
|
2623 |
248 | 2624 try: |
4516
96d8a56d4ef9
Removed trailing whitespace and tabs from python files
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4505
diff
changeset
|
2625 hn = hexfunc(n) |
5658
ae3089cefaab
Add --verbose support to tags command.
Osku Salerma <osku@iki.fi>
parents:
5657
diff
changeset
|
2626 r = "%5d:%s" % (repo.changelog.rev(n), hn) |
3930
01d98d68d697
Add revlog.LookupError exception, and use it instead of RevlogError.
Brendan Cully <brendan@kublai.com>
parents:
3920
diff
changeset
|
2627 except revlog.LookupError: |
01d98d68d697
Add revlog.LookupError exception, and use it instead of RevlogError.
Brendan Cully <brendan@kublai.com>
parents:
3920
diff
changeset
|
2628 r = " ?:%s" % hn |
2035
107dc72880f8
Make 'hg tags -q' only list tag names without revision numbers and hashes,
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2034
diff
changeset
|
2629 else: |
4143
26314500a5e1
Don't truncate tag and branch names after 30 chars (introduced 73860ffbe798)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4078
diff
changeset
|
2630 spaces = " " * (30 - util.locallen(t)) |
5658
ae3089cefaab
Add --verbose support to tags command.
Osku Salerma <osku@iki.fi>
parents:
5657
diff
changeset
|
2631 if ui.verbose: |
ae3089cefaab
Add --verbose support to tags command.
Osku Salerma <osku@iki.fi>
parents:
5657
diff
changeset
|
2632 if repo.tagtype(t) == 'local': |
ae3089cefaab
Add --verbose support to tags command.
Osku Salerma <osku@iki.fi>
parents:
5657
diff
changeset
|
2633 tagtype = " local" |
ae3089cefaab
Add --verbose support to tags command.
Osku Salerma <osku@iki.fi>
parents:
5657
diff
changeset
|
2634 else: |
ae3089cefaab
Add --verbose support to tags command.
Osku Salerma <osku@iki.fi>
parents:
5657
diff
changeset
|
2635 tagtype = "" |
ae3089cefaab
Add --verbose support to tags command.
Osku Salerma <osku@iki.fi>
parents:
5657
diff
changeset
|
2636 ui.write("%s%s %s%s\n" % (t, spaces, r, tagtype)) |
248 | 2637 |
1731
251729df9cc6
add -p option to tip. for issue 64.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1728
diff
changeset
|
2638 def tip(ui, repo, **opts): |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2639 """show the tip revision |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2640 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2641 Show the tip revision. |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2642 """ |
3671
86d3f966201d
Use nullrev+count instead of count-1 in a newly introduced expression.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3663
diff
changeset
|
2643 cmdutil.show_changeset(ui, repo, opts).show(nullrev+repo.changelog.count()) |
245 | 2644 |
4699
a6b62584d0b2
unbundle: accept multiple file arguments
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
4697
diff
changeset
|
2645 def unbundle(ui, repo, fname1, *fnames, **opts): |
a6b62584d0b2
unbundle: accept multiple file arguments
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
4697
diff
changeset
|
2646 """apply one or more changegroup files |
a6b62584d0b2
unbundle: accept multiple file arguments
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
4697
diff
changeset
|
2647 |
a6b62584d0b2
unbundle: accept multiple file arguments
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
4697
diff
changeset
|
2648 Apply one or more compressed changegroup files generated by the |
a6b62584d0b2
unbundle: accept multiple file arguments
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
4697
diff
changeset
|
2649 bundle command. |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2650 """ |
4699
a6b62584d0b2
unbundle: accept multiple file arguments
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
4697
diff
changeset
|
2651 fnames = (fname1,) + fnames |
6180
d98ef03893e6
commands: lock() the repo while unbundling (issue1004)
Patrick Mezard <pmezard@gmail.com>
parents:
6178
diff
changeset
|
2652 |
d98ef03893e6
commands: lock() the repo while unbundling (issue1004)
Patrick Mezard <pmezard@gmail.com>
parents:
6178
diff
changeset
|
2653 lock = None |
d98ef03893e6
commands: lock() the repo while unbundling (issue1004)
Patrick Mezard <pmezard@gmail.com>
parents:
6178
diff
changeset
|
2654 try: |
d98ef03893e6
commands: lock() the repo while unbundling (issue1004)
Patrick Mezard <pmezard@gmail.com>
parents:
6178
diff
changeset
|
2655 lock = repo.lock() |
d98ef03893e6
commands: lock() the repo while unbundling (issue1004)
Patrick Mezard <pmezard@gmail.com>
parents:
6178
diff
changeset
|
2656 for fname in fnames: |
d98ef03893e6
commands: lock() the repo while unbundling (issue1004)
Patrick Mezard <pmezard@gmail.com>
parents:
6178
diff
changeset
|
2657 if os.path.exists(fname): |
d98ef03893e6
commands: lock() the repo while unbundling (issue1004)
Patrick Mezard <pmezard@gmail.com>
parents:
6178
diff
changeset
|
2658 f = open(fname, "rb") |
d98ef03893e6
commands: lock() the repo while unbundling (issue1004)
Patrick Mezard <pmezard@gmail.com>
parents:
6178
diff
changeset
|
2659 else: |
d98ef03893e6
commands: lock() the repo while unbundling (issue1004)
Patrick Mezard <pmezard@gmail.com>
parents:
6178
diff
changeset
|
2660 f = urllib.urlopen(fname) |
d98ef03893e6
commands: lock() the repo while unbundling (issue1004)
Patrick Mezard <pmezard@gmail.com>
parents:
6178
diff
changeset
|
2661 gen = changegroup.readbundle(f, fname) |
d98ef03893e6
commands: lock() the repo while unbundling (issue1004)
Patrick Mezard <pmezard@gmail.com>
parents:
6178
diff
changeset
|
2662 modheads = repo.addchangegroup(gen, 'unbundle', 'bundle:' + fname) |
d98ef03893e6
commands: lock() the repo while unbundling (issue1004)
Patrick Mezard <pmezard@gmail.com>
parents:
6178
diff
changeset
|
2663 finally: |
d98ef03893e6
commands: lock() the repo while unbundling (issue1004)
Patrick Mezard <pmezard@gmail.com>
parents:
6178
diff
changeset
|
2664 del lock |
4699
a6b62584d0b2
unbundle: accept multiple file arguments
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
4697
diff
changeset
|
2665 |
5224
20817af258d8
pull -u: if "url#rev" was given, update to rev
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
5222
diff
changeset
|
2666 return postincoming(ui, repo, modheads, opts['update'], None) |
1218
cde6818e082a
Add preliminary support for the bundle and unbundle commands
mpm@selenic.com
parents:
1215
diff
changeset
|
2667 |
4450
8fa54b9c6c5a
accept -r REV in more places
Daniel Holth <dholth@fastmail.fm>
parents:
4445
diff
changeset
|
2668 def update(ui, repo, node=None, rev=None, clean=False, date=None): |
4014
509342f95564
various doc fixes
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
4013
diff
changeset
|
2669 """update working directory |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2670 |
4205
7ca05d29c1f0
Clarify update help text for update without an explicit revision
Brendan Cully <brendan@kublai.com>
parents:
4204
diff
changeset
|
2671 Update the working directory to the specified revision, or the |
7ca05d29c1f0
Clarify update help text for update without an explicit revision
Brendan Cully <brendan@kublai.com>
parents:
4204
diff
changeset
|
2672 tip of the current branch if none is specified. |
6163
1f733c2f0165
Document log date ranges and mention 'hg help dates' for all commands (issue998)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6161
diff
changeset
|
2673 See 'hg help dates' for a list of formats valid for -d/--date. |
254 | 2674 |
2675 If there are no outstanding changes in the working directory and | |
2676 there is a linear relationship between the current version and the | |
2677 requested version, the result is the requested version. | |
2678 | |
2283
e506c14382fd
deprecate 'update -m'. use 'merge' instead.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2272
diff
changeset
|
2679 To merge the working directory with another revision, use the |
e506c14382fd
deprecate 'update -m'. use 'merge' instead.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2272
diff
changeset
|
2680 merge command. |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2681 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2682 By default, update will refuse to run if doing so would require |
4014
509342f95564
various doc fixes
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
4013
diff
changeset
|
2683 discarding local changes. |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2684 """ |
4450
8fa54b9c6c5a
accept -r REV in more places
Daniel Holth <dholth@fastmail.fm>
parents:
4445
diff
changeset
|
2685 if rev and node: |
8fa54b9c6c5a
accept -r REV in more places
Daniel Holth <dholth@fastmail.fm>
parents:
4445
diff
changeset
|
2686 raise util.Abort(_("please specify just one revision")) |
8fa54b9c6c5a
accept -r REV in more places
Daniel Holth <dholth@fastmail.fm>
parents:
4445
diff
changeset
|
2687 |
8fa54b9c6c5a
accept -r REV in more places
Daniel Holth <dholth@fastmail.fm>
parents:
4445
diff
changeset
|
2688 if not rev: |
8fa54b9c6c5a
accept -r REV in more places
Daniel Holth <dholth@fastmail.fm>
parents:
4445
diff
changeset
|
2689 rev = node |
8fa54b9c6c5a
accept -r REV in more places
Daniel Holth <dholth@fastmail.fm>
parents:
4445
diff
changeset
|
2690 |
3814
120be84f33de
Add --date support to update and revert
Matt Mackall <mpm@selenic.com>
parents:
3813
diff
changeset
|
2691 if date: |
4450
8fa54b9c6c5a
accept -r REV in more places
Daniel Holth <dholth@fastmail.fm>
parents:
4445
diff
changeset
|
2692 if rev: |
3814
120be84f33de
Add --date support to update and revert
Matt Mackall <mpm@selenic.com>
parents:
3813
diff
changeset
|
2693 raise util.Abort(_("you can't specify a revision and a date")) |
4450
8fa54b9c6c5a
accept -r REV in more places
Daniel Holth <dholth@fastmail.fm>
parents:
4445
diff
changeset
|
2694 rev = cmdutil.finddate(ui, repo, date) |
3814
120be84f33de
Add --date support to update and revert
Matt Mackall <mpm@selenic.com>
parents:
3813
diff
changeset
|
2695 |
3521
ba94e80e5540
Remove update -m, deprecated for 0.9.1
Matt Mackall <mpm@selenic.com>
parents:
3520
diff
changeset
|
2696 if clean: |
4450
8fa54b9c6c5a
accept -r REV in more places
Daniel Holth <dholth@fastmail.fm>
parents:
4445
diff
changeset
|
2697 return hg.clean(repo, rev) |
2808
30f59f4a327e
Introduce update helper functions: update, merge, clean, and revert
Matt Mackall <mpm@selenic.com>
parents:
2806
diff
changeset
|
2698 else: |
4450
8fa54b9c6c5a
accept -r REV in more places
Daniel Holth <dholth@fastmail.fm>
parents:
4445
diff
changeset
|
2699 return hg.update(repo, rev) |
254 | 2700 |
247 | 2701 def verify(ui, repo): |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2702 """verify the integrity of the repository |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2703 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2704 Verify the integrity of the current repository. |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2705 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2706 This will perform an extensive check of the repository's |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2707 integrity, validating the hashes and checksums of each entry in |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2708 the changelog, manifest, and tracked files, as well as the |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2709 integrity of their crosslinks and indices. |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2710 """ |
2778 | 2711 return hg.verify(repo) |
247 | 2712 |
3651
6389205291c6
move show_version to version_
Matt Mackall <mpm@selenic.com>
parents:
3650
diff
changeset
|
2713 def version_(ui): |
6389205291c6
move show_version to version_
Matt Mackall <mpm@selenic.com>
parents:
3650
diff
changeset
|
2714 """output version and copyright information""" |
6389205291c6
move show_version to version_
Matt Mackall <mpm@selenic.com>
parents:
3650
diff
changeset
|
2715 ui.write(_("Mercurial Distributed SCM (version %s)\n") |
6389205291c6
move show_version to version_
Matt Mackall <mpm@selenic.com>
parents:
3650
diff
changeset
|
2716 % version.get_version()) |
6389205291c6
move show_version to version_
Matt Mackall <mpm@selenic.com>
parents:
3650
diff
changeset
|
2717 ui.status(_( |
5994
a445388aa554
update copyright notice in version output
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
5970
diff
changeset
|
2718 "\nCopyright (C) 2005-2008 Matt Mackall <mpm@selenic.com> and others\n" |
3651
6389205291c6
move show_version to version_
Matt Mackall <mpm@selenic.com>
parents:
3650
diff
changeset
|
2719 "This is free software; see the source for copying conditions. " |
6389205291c6
move show_version to version_
Matt Mackall <mpm@selenic.com>
parents:
3650
diff
changeset
|
2720 "There is NO\nwarranty; " |
6389205291c6
move show_version to version_
Matt Mackall <mpm@selenic.com>
parents:
3650
diff
changeset
|
2721 "not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n" |
6389205291c6
move show_version to version_
Matt Mackall <mpm@selenic.com>
parents:
3650
diff
changeset
|
2722 )) |
6389205291c6
move show_version to version_
Matt Mackall <mpm@selenic.com>
parents:
3650
diff
changeset
|
2723 |
255 | 2724 # Command options and aliases are listed here, alphabetically |
2725 | |
3187
fca5ddbaa12a
factor opts: move globalopts to a more logical place
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3181
diff
changeset
|
2726 globalopts = [ |
fca5ddbaa12a
factor opts: move globalopts to a more logical place
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3181
diff
changeset
|
2727 ('R', 'repository', '', |
fca5ddbaa12a
factor opts: move globalopts to a more logical place
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3181
diff
changeset
|
2728 _('repository root directory or symbolic path name')), |
fca5ddbaa12a
factor opts: move globalopts to a more logical place
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3181
diff
changeset
|
2729 ('', 'cwd', '', _('change working directory')), |
fca5ddbaa12a
factor opts: move globalopts to a more logical place
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3181
diff
changeset
|
2730 ('y', 'noninteractive', None, |
fca5ddbaa12a
factor opts: move globalopts to a more logical place
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3181
diff
changeset
|
2731 _('do not prompt, assume \'yes\' for any required answers')), |
fca5ddbaa12a
factor opts: move globalopts to a more logical place
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3181
diff
changeset
|
2732 ('q', 'quiet', None, _('suppress output')), |
fca5ddbaa12a
factor opts: move globalopts to a more logical place
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3181
diff
changeset
|
2733 ('v', 'verbose', None, _('enable additional output')), |
fca5ddbaa12a
factor opts: move globalopts to a more logical place
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3181
diff
changeset
|
2734 ('', 'config', [], _('set/override config option')), |
fca5ddbaa12a
factor opts: move globalopts to a more logical place
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3181
diff
changeset
|
2735 ('', 'debug', None, _('enable debugging output')), |
fca5ddbaa12a
factor opts: move globalopts to a more logical place
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3181
diff
changeset
|
2736 ('', 'debugger', None, _('start debugger')), |
3774
a88e02081a88
Add global options for setting encoding and encodingmode
Matt Mackall <mpm@selenic.com>
parents:
3773
diff
changeset
|
2737 ('', 'encoding', util._encoding, _('set the charset encoding')), |
a88e02081a88
Add global options for setting encoding and encodingmode
Matt Mackall <mpm@selenic.com>
parents:
3773
diff
changeset
|
2738 ('', 'encodingmode', util._encodingmode, _('set the charset encoding mode')), |
3187
fca5ddbaa12a
factor opts: move globalopts to a more logical place
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3181
diff
changeset
|
2739 ('', 'lsprof', None, _('print improved command execution profile')), |
fca5ddbaa12a
factor opts: move globalopts to a more logical place
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3181
diff
changeset
|
2740 ('', 'traceback', None, _('print traceback on exception')), |
fca5ddbaa12a
factor opts: move globalopts to a more logical place
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3181
diff
changeset
|
2741 ('', 'time', None, _('time how long the command takes')), |
fca5ddbaa12a
factor opts: move globalopts to a more logical place
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3181
diff
changeset
|
2742 ('', 'profile', None, _('print command execution profile')), |
fca5ddbaa12a
factor opts: move globalopts to a more logical place
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3181
diff
changeset
|
2743 ('', 'version', None, _('output version information and exit')), |
fca5ddbaa12a
factor opts: move globalopts to a more logical place
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3181
diff
changeset
|
2744 ('h', 'help', None, _('display help and exit')), |
fca5ddbaa12a
factor opts: move globalopts to a more logical place
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3181
diff
changeset
|
2745 ] |
fca5ddbaa12a
factor opts: move globalopts to a more logical place
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3181
diff
changeset
|
2746 |
3189
a73a785ea8e1
factor opts: --dry-run option
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3188
diff
changeset
|
2747 dryrunopts = [('n', 'dry-run', None, |
a73a785ea8e1
factor opts: --dry-run option
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3188
diff
changeset
|
2748 _('do not perform actions, just print output'))] |
a73a785ea8e1
factor opts: --dry-run option
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3188
diff
changeset
|
2749 |
3190
37b53487c341
factor opts: remote repo access options
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3189
diff
changeset
|
2750 remoteopts = [ |
37b53487c341
factor opts: remote repo access options
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3189
diff
changeset
|
2751 ('e', 'ssh', '', _('specify ssh command to use')), |
37b53487c341
factor opts: remote repo access options
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3189
diff
changeset
|
2752 ('', 'remotecmd', '', _('specify hg command to run on the remote side')), |
37b53487c341
factor opts: remote repo access options
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3189
diff
changeset
|
2753 ] |
37b53487c341
factor opts: remote repo access options
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3189
diff
changeset
|
2754 |
3188
725e3d3145d8
factor opts: walk options
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3187
diff
changeset
|
2755 walkopts = [ |
725e3d3145d8
factor opts: walk options
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3187
diff
changeset
|
2756 ('I', 'include', [], _('include names matching the given patterns')), |
725e3d3145d8
factor opts: walk options
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3187
diff
changeset
|
2757 ('X', 'exclude', [], _('exclude names matching the given patterns')), |
725e3d3145d8
factor opts: walk options
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3187
diff
changeset
|
2758 ] |
725e3d3145d8
factor opts: walk options
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3187
diff
changeset
|
2759 |
3857
f6f16f871049
Uniformisation of commit help for -m and -l.
Mathieu Clabaut <mathieu.clabaut@gmail.com>
parents:
3855
diff
changeset
|
2760 commitopts = [ |
f6f16f871049
Uniformisation of commit help for -m and -l.
Mathieu Clabaut <mathieu.clabaut@gmail.com>
parents:
3855
diff
changeset
|
2761 ('m', 'message', '', _('use <text> as commit message')), |
f6f16f871049
Uniformisation of commit help for -m and -l.
Mathieu Clabaut <mathieu.clabaut@gmail.com>
parents:
3855
diff
changeset
|
2762 ('l', 'logfile', '', _('read commit message from <file>')), |
f6f16f871049
Uniformisation of commit help for -m and -l.
Mathieu Clabaut <mathieu.clabaut@gmail.com>
parents:
3855
diff
changeset
|
2763 ] |
f6f16f871049
Uniformisation of commit help for -m and -l.
Mathieu Clabaut <mathieu.clabaut@gmail.com>
parents:
3855
diff
changeset
|
2764 |
5147
c80af96943aa
refactor options from cmdtable
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
5125
diff
changeset
|
2765 commitopts2 = [ |
c80af96943aa
refactor options from cmdtable
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
5125
diff
changeset
|
2766 ('d', 'date', '', _('record datecode as commit date')), |
c80af96943aa
refactor options from cmdtable
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
5125
diff
changeset
|
2767 ('u', 'user', '', _('record user as committer')), |
c80af96943aa
refactor options from cmdtable
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
5125
diff
changeset
|
2768 ] |
c80af96943aa
refactor options from cmdtable
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
5125
diff
changeset
|
2769 |
209 | 2770 table = { |
3824
2631b506e93d
Fixed indentation, spacing and a typo (debugdata->debugdate) in commands.table.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3815
diff
changeset
|
2771 "^add": (add, walkopts + dryrunopts, _('hg add [OPTION]... [FILE]...')), |
2955
9d1c3529ebbc
addremove: do not deprecate.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2639
diff
changeset
|
2772 "addremove": |
841
03cc2ba291d1
Realigned command table again.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
840
diff
changeset
|
2773 (addremove, |
3188
725e3d3145d8
factor opts: walk options
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3187
diff
changeset
|
2774 [('s', 'similarity', '', |
3189
a73a785ea8e1
factor opts: --dry-run option
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3188
diff
changeset
|
2775 _('guess renamed files by similarity (0<=s<=100)')), |
a73a785ea8e1
factor opts: --dry-run option
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3188
diff
changeset
|
2776 ] + walkopts + dryrunopts, |
1615
83238c1db6de
Cleanup of indentation, spacing, newlines, strings and line length
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1607
diff
changeset
|
2777 _('hg addremove [OPTION]... [FILE]...')), |
6182
07f2236c4dee
add a blame alias for annotate
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
6180
diff
changeset
|
2778 "^annotate|blame": |
697
cb1be2327220
Multiple cleanups of things detected by pylint.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
696
diff
changeset
|
2779 (annotate, |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2780 [('r', 'rev', '', _('annotate the specified revision')), |
3172
5c93dd0ae413
Refactor annotate copy support.
Brendan Cully <brendan@kublai.com>
parents:
3159
diff
changeset
|
2781 ('f', 'follow', None, _('follow file copies and renames')), |
1402
9d2c2e6b32b5
i18n part2: use '_' for all strings who are part of the user interface
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1400
diff
changeset
|
2782 ('a', 'text', None, _('treat all files as text')), |
6134
7b937b26adf7
Make annotae/grep print short dates with -q/--quiet.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6133
diff
changeset
|
2783 ('u', 'user', None, _('list the author (long with -v)')), |
7b937b26adf7
Make annotae/grep print short dates with -q/--quiet.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6133
diff
changeset
|
2784 ('d', 'date', None, _('list the date (short with -q)')), |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2785 ('n', 'number', None, _('list the revision number (default)')), |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2786 ('c', 'changeset', None, _('list the changeset')), |
4857
2192001e4bb4
Add --line-number option to hg annotate (issue506)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4849
diff
changeset
|
2787 ('l', 'line-number', None, |
2192001e4bb4
Add --line-number option to hg annotate (issue506)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4849
diff
changeset
|
2788 _('show line number at the first appearance')) |
3188
725e3d3145d8
factor opts: walk options
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3187
diff
changeset
|
2789 ] + walkopts, |
4857
2192001e4bb4
Add --line-number option to hg annotate (issue506)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4849
diff
changeset
|
2790 _('hg annotate [-r REV] [-f] [-a] [-u] [-d] [-n] [-c] [-l] FILE...')), |
2160
858df1f354c1
Cleanup archive command: Don't overwrite gettext, quoting in cmd table entry.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2159
diff
changeset
|
2791 "archive": |
2112
2b03c6733efa
add "archive" command, like "cvs export" only better.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2092
diff
changeset
|
2792 (archive, |
2b03c6733efa
add "archive" command, like "cvs export" only better.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2092
diff
changeset
|
2793 [('', 'no-decode', None, _('do not pass files through decoders')), |
2b03c6733efa
add "archive" command, like "cvs export" only better.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2092
diff
changeset
|
2794 ('p', 'prefix', '', _('directory prefix for files in archive')), |
2b03c6733efa
add "archive" command, like "cvs export" only better.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2092
diff
changeset
|
2795 ('r', 'rev', '', _('revision to distribute')), |
2b03c6733efa
add "archive" command, like "cvs export" only better.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2092
diff
changeset
|
2796 ('t', 'type', '', _('type of distribution to create')), |
3188
725e3d3145d8
factor opts: walk options
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3187
diff
changeset
|
2797 ] + walkopts, |
2112
2b03c6733efa
add "archive" command, like "cvs export" only better.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2092
diff
changeset
|
2798 _('hg archive [OPTION]... DEST')), |
2159
5c34b98ad6b1
Small cleanups to backout command:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2158
diff
changeset
|
2799 "backout": |
2158
ec96c4518236
add backout command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2153
diff
changeset
|
2800 (backout, |
2159
5c34b98ad6b1
Small cleanups to backout command:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2158
diff
changeset
|
2801 [('', 'merge', None, |
5c34b98ad6b1
Small cleanups to backout command:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2158
diff
changeset
|
2802 _('merge with old dirstate parent after backout')), |
2614
8ba1c31f6864
backout: allow backout of merge changeset with --parent option.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2613
diff
changeset
|
2803 ('', 'parent', '', _('parent to choose when backing out merge')), |
4450
8fa54b9c6c5a
accept -r REV in more places
Daniel Holth <dholth@fastmail.fm>
parents:
4445
diff
changeset
|
2804 ('r', 'rev', '', _('revision to backout')), |
5147
c80af96943aa
refactor options from cmdtable
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
5125
diff
changeset
|
2805 ] + walkopts + commitopts + commitopts2, |
4450
8fa54b9c6c5a
accept -r REV in more places
Daniel Holth <dholth@fastmail.fm>
parents:
4445
diff
changeset
|
2806 _('hg backout [OPTION]... [-r] REV')), |
5778
9e97a7a0bb82
realign commands table
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5776
diff
changeset
|
2807 "bisect": |
9e97a7a0bb82
realign commands table
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5776
diff
changeset
|
2808 (bisect, |
9e97a7a0bb82
realign commands table
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5776
diff
changeset
|
2809 [('r', 'reset', False, _('reset bisect state')), |
9e97a7a0bb82
realign commands table
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5776
diff
changeset
|
2810 ('g', 'good', False, _('mark changeset good')), |
9e97a7a0bb82
realign commands table
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5776
diff
changeset
|
2811 ('b', 'bad', False, _('mark changeset bad')), |
9e97a7a0bb82
realign commands table
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5776
diff
changeset
|
2812 ('s', 'skip', False, _('skip testing changeset')), |
9e97a7a0bb82
realign commands table
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5776
diff
changeset
|
2813 ('U', 'noupdate', False, _('do not update to target'))], |
9e97a7a0bb82
realign commands table
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5776
diff
changeset
|
2814 _("hg bisect [-gbsr] [REV]")), |
4730
eadfaa9ec487
Updated command tables in commands.py and hgext extensions.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4726
diff
changeset
|
2815 "branch": |
eadfaa9ec487
Updated command tables in commands.py and hgext extensions.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4726
diff
changeset
|
2816 (branch, |
eadfaa9ec487
Updated command tables in commands.py and hgext extensions.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4726
diff
changeset
|
2817 [('f', 'force', None, |
eadfaa9ec487
Updated command tables in commands.py and hgext extensions.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4726
diff
changeset
|
2818 _('set branch name even if it shadows an existing branch'))], |
5778
9e97a7a0bb82
realign commands table
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5776
diff
changeset
|
2819 _('hg branch [-f] [NAME]')), |
4730
eadfaa9ec487
Updated command tables in commands.py and hgext extensions.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4726
diff
changeset
|
2820 "branches": |
eadfaa9ec487
Updated command tables in commands.py and hgext extensions.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4726
diff
changeset
|
2821 (branches, |
eadfaa9ec487
Updated command tables in commands.py and hgext extensions.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4726
diff
changeset
|
2822 [('a', 'active', False, |
eadfaa9ec487
Updated command tables in commands.py and hgext extensions.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4726
diff
changeset
|
2823 _('show only branches that have unmerged heads'))], |
eadfaa9ec487
Updated command tables in commands.py and hgext extensions.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4726
diff
changeset
|
2824 _('hg branches [-a]')), |
1218
cde6818e082a
Add preliminary support for the bundle and unbundle commands
mpm@selenic.com
parents:
1215
diff
changeset
|
2825 "bundle": |
cde6818e082a
Add preliminary support for the bundle and unbundle commands
mpm@selenic.com
parents:
1215
diff
changeset
|
2826 (bundle, |
1959
d53a18f592be
add -f/--force to pull, incoming, outgoing, to work on unrelated repo.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1948
diff
changeset
|
2827 [('f', 'force', None, |
3191
545b6d718593
add remoteopts to bundle command
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3190
diff
changeset
|
2828 _('run even when remote repository is unrelated')), |
3284
d89e98840b08
add -r/--rev and --base option to bundle
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3278
diff
changeset
|
2829 ('r', 'rev', [], |
d89e98840b08
add -r/--rev and --base option to bundle
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3278
diff
changeset
|
2830 _('a changeset you would like to bundle')), |
d89e98840b08
add -r/--rev and --base option to bundle
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3278
diff
changeset
|
2831 ('', 'base', [], |
d89e98840b08
add -r/--rev and --base option to bundle
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3278
diff
changeset
|
2832 _('a base changeset to specify instead of a destination')), |
6171
73b1de288801
Add --all option to bundle command
John Mulligan <phlogistonjohn@yahoo.com>
parents:
6163
diff
changeset
|
2833 ('a', 'all', None, |
73b1de288801
Add --all option to bundle command
John Mulligan <phlogistonjohn@yahoo.com>
parents:
6163
diff
changeset
|
2834 _('bundle all changesets in the repository')), |
3191
545b6d718593
add remoteopts to bundle command
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3190
diff
changeset
|
2835 ] + remoteopts, |
6171
73b1de288801
Add --all option to bundle command
John Mulligan <phlogistonjohn@yahoo.com>
parents:
6163
diff
changeset
|
2836 _('hg bundle [-f] [-a] [-r REV]... [--base REV]... FILE [DEST]')), |
697
cb1be2327220
Multiple cleanups of things detected by pylint.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
696
diff
changeset
|
2837 "cat": |
cb1be2327220
Multiple cleanups of things detected by pylint.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
696
diff
changeset
|
2838 (cat, |
1816
08f4398bdb1a
Updated help synopsises and reordered some options. Dropped [-n] from revert.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1812
diff
changeset
|
2839 [('o', 'output', '', _('print output to file with formatted name')), |
08f4398bdb1a
Updated help synopsises and reordered some options. Dropped [-n] from revert.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1812
diff
changeset
|
2840 ('r', 'rev', '', _('print the given revision')), |
6094
3998c1b0828f
cat --decode: Drop short option, use opts.get() instead of opts[]
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6093
diff
changeset
|
2841 ('', 'decode', None, _('apply any matching decode filter')), |
3188
725e3d3145d8
factor opts: walk options
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3187
diff
changeset
|
2842 ] + walkopts, |
1402
9d2c2e6b32b5
i18n part2: use '_' for all strings who are part of the user interface
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1400
diff
changeset
|
2843 _('hg cat [OPTION]... FILE...')), |
697
cb1be2327220
Multiple cleanups of things detected by pylint.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
696
diff
changeset
|
2844 "^clone": |
cb1be2327220
Multiple cleanups of things detected by pylint.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
696
diff
changeset
|
2845 (clone, |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2846 [('U', 'noupdate', None, _('do not update the new working directory')), |
1602
fb4149eebdd4
strictly adher to 80 chars per line
Muli Ben-Yehuda <mulix@mulix.org>
parents:
1601
diff
changeset
|
2847 ('r', 'rev', [], |
2764
71029a3247cb
clone: replace long help string of inaky with doc comment.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2763
diff
changeset
|
2848 _('a changeset you would like to have after cloning')), |
1816
08f4398bdb1a
Updated help synopsises and reordered some options. Dropped [-n] from revert.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1812
diff
changeset
|
2849 ('', 'pull', None, _('use pull protocol to copy metadata')), |
2620
de82749d3a71
clone: change name of --stream to --uncompressed.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2618
diff
changeset
|
2850 ('', 'uncompressed', None, |
de82749d3a71
clone: change name of --stream to --uncompressed.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2618
diff
changeset
|
2851 _('use uncompressed transfer (fast over LAN)')), |
3190
37b53487c341
factor opts: remote repo access options
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3189
diff
changeset
|
2852 ] + remoteopts, |
1402
9d2c2e6b32b5
i18n part2: use '_' for all strings who are part of the user interface
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1400
diff
changeset
|
2853 _('hg clone [OPTION]... SOURCE [DEST]')), |
697
cb1be2327220
Multiple cleanups of things detected by pylint.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
696
diff
changeset
|
2854 "^commit|ci": |
cb1be2327220
Multiple cleanups of things detected by pylint.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
696
diff
changeset
|
2855 (commit, |
2184
2477a7183a6f
Add debugaddremove alias to addremove, so it doesn't show up in 'hg help'.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2181
diff
changeset
|
2856 [('A', 'addremove', None, |
2477a7183a6f
Add debugaddremove alias to addremove, so it doesn't show up in 'hg help'.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2181
diff
changeset
|
2857 _('mark new/missing files as added/removed before committing')), |
5147
c80af96943aa
refactor options from cmdtable
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
5125
diff
changeset
|
2858 ] + walkopts + commitopts + commitopts2, |
1402
9d2c2e6b32b5
i18n part2: use '_' for all strings who are part of the user interface
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1400
diff
changeset
|
2859 _('hg commit [OPTION]... [FILE]...')), |
1615
83238c1db6de
Cleanup of indentation, spacing, newlines, strings and line length
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1607
diff
changeset
|
2860 "copy|cp": |
83238c1db6de
Cleanup of indentation, spacing, newlines, strings and line length
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1607
diff
changeset
|
2861 (copy, |
1816
08f4398bdb1a
Updated help synopsises and reordered some options. Dropped [-n] from revert.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1812
diff
changeset
|
2862 [('A', 'after', None, _('record a copy that has already occurred')), |
1615
83238c1db6de
Cleanup of indentation, spacing, newlines, strings and line length
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1607
diff
changeset
|
2863 ('f', 'force', None, |
1816
08f4398bdb1a
Updated help synopsises and reordered some options. Dropped [-n] from revert.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1812
diff
changeset
|
2864 _('forcibly copy over an existing managed file')), |
3189
a73a785ea8e1
factor opts: --dry-run option
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3188
diff
changeset
|
2865 ] + walkopts + dryrunopts, |
1615
83238c1db6de
Cleanup of indentation, spacing, newlines, strings and line length
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1607
diff
changeset
|
2866 _('hg copy [OPTION]... [SOURCE]... DEST')), |
6178
81afdd016867
debugancestor: make the index argument optional, defaulting to 00changelog.i
Bryan O'Sullivan <bos@serpentine.com>
parents:
6171
diff
changeset
|
2867 "debugancestor": (debugancestor, [], |
81afdd016867
debugancestor: make the index argument optional, defaulting to 00changelog.i
Bryan O'Sullivan <bos@serpentine.com>
parents:
6171
diff
changeset
|
2868 _('hg debugancestor [INDEX] REV1 REV2')), |
5781
45d034c79ece
Sort commands table again and add some missing 'hg' in synopsises.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5778
diff
changeset
|
2869 "debugcheckstate": (debugcheckstate, [], _('hg debugcheckstate')), |
2034
5e7aff1b6ae1
add --options to debugcomplete and change bash_completion to use it
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2033
diff
changeset
|
2870 "debugcomplete": |
5e7aff1b6ae1
add --options to debugcomplete and change bash_completion to use it
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2033
diff
changeset
|
2871 (debugcomplete, |
5e7aff1b6ae1
add --options to debugcomplete and change bash_completion to use it
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
2033
diff
changeset
|
2872 [('o', 'options', None, _('show the command options'))], |
5781
45d034c79ece
Sort commands table again and add some missing 'hg' in synopsises.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5778
diff
changeset
|
2873 _('hg debugcomplete [-o] CMD')), |
45d034c79ece
Sort commands table again and add some missing 'hg' in synopsises.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5778
diff
changeset
|
2874 "debugdate": |
45d034c79ece
Sort commands table again and add some missing 'hg' in synopsises.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5778
diff
changeset
|
2875 (debugdate, |
45d034c79ece
Sort commands table again and add some missing 'hg' in synopsises.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5778
diff
changeset
|
2876 [('e', 'extended', None, _('try extended date formats'))], |
45d034c79ece
Sort commands table again and add some missing 'hg' in synopsises.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5778
diff
changeset
|
2877 _('hg debugdate [-e] DATE [RANGE]')), |
45d034c79ece
Sort commands table again and add some missing 'hg' in synopsises.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5778
diff
changeset
|
2878 "debugdata": (debugdata, [], _('hg debugdata FILE REV')), |
45d034c79ece
Sort commands table again and add some missing 'hg' in synopsises.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5778
diff
changeset
|
2879 "debugfsinfo": (debugfsinfo, [], _('hg debugfsinfo [PATH]')), |
45d034c79ece
Sort commands table again and add some missing 'hg' in synopsises.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5778
diff
changeset
|
2880 "debugindex": (debugindex, [], _('hg debugindex FILE')), |
45d034c79ece
Sort commands table again and add some missing 'hg' in synopsises.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5778
diff
changeset
|
2881 "debugindexdot": (debugindexdot, [], _('hg debugindexdot FILE')), |
45d034c79ece
Sort commands table again and add some missing 'hg' in synopsises.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5778
diff
changeset
|
2882 "debuginstall": (debuginstall, [], _('hg debuginstall')), |
45d034c79ece
Sort commands table again and add some missing 'hg' in synopsises.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5778
diff
changeset
|
2883 "debugrawcommit|rawcommit": |
45d034c79ece
Sort commands table again and add some missing 'hg' in synopsises.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5778
diff
changeset
|
2884 (rawcommit, |
45d034c79ece
Sort commands table again and add some missing 'hg' in synopsises.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5778
diff
changeset
|
2885 [('p', 'parent', [], _('parent')), |
45d034c79ece
Sort commands table again and add some missing 'hg' in synopsises.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5778
diff
changeset
|
2886 ('F', 'files', '', _('file list')) |
45d034c79ece
Sort commands table again and add some missing 'hg' in synopsises.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5778
diff
changeset
|
2887 ] + commitopts + commitopts2, |
45d034c79ece
Sort commands table again and add some missing 'hg' in synopsises.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5778
diff
changeset
|
2888 _('hg debugrawcommit [OPTION]... [FILE]...')), |
1755
a8f7791e3680
add 'debugrebuildstate' to rebuild the dirstate from a given revision
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1754
diff
changeset
|
2889 "debugrebuildstate": |
a8f7791e3680
add 'debugrebuildstate' to rebuild the dirstate from a given revision
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1754
diff
changeset
|
2890 (debugrebuildstate, |
1816
08f4398bdb1a
Updated help synopsises and reordered some options. Dropped [-n] from revert.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1812
diff
changeset
|
2891 [('r', 'rev', '', _('revision to rebuild to'))], |
5781
45d034c79ece
Sort commands table again and add some missing 'hg' in synopsises.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5778
diff
changeset
|
2892 _('hg debugrebuildstate [-r REV] [REV]')), |
4730
eadfaa9ec487
Updated command tables in commands.py and hgext extensions.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4726
diff
changeset
|
2893 "debugrename": |
eadfaa9ec487
Updated command tables in commands.py and hgext extensions.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4726
diff
changeset
|
2894 (debugrename, |
eadfaa9ec487
Updated command tables in commands.py and hgext extensions.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4726
diff
changeset
|
2895 [('r', 'rev', '', _('revision to debug'))], |
5781
45d034c79ece
Sort commands table again and add some missing 'hg' in synopsises.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5778
diff
changeset
|
2896 _('hg debugrename [-r REV] FILE')), |
45d034c79ece
Sort commands table again and add some missing 'hg' in synopsises.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5778
diff
changeset
|
2897 "debugsetparents": |
45d034c79ece
Sort commands table again and add some missing 'hg' in synopsises.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5778
diff
changeset
|
2898 (debugsetparents, |
45d034c79ece
Sort commands table again and add some missing 'hg' in synopsises.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5778
diff
changeset
|
2899 [], |
45d034c79ece
Sort commands table again and add some missing 'hg' in synopsises.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5778
diff
changeset
|
2900 _('hg debugsetparents REV1 [REV2]')), |
45d034c79ece
Sort commands table again and add some missing 'hg' in synopsises.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5778
diff
changeset
|
2901 "debugstate": (debugstate, [], _('hg debugstate')), |
45d034c79ece
Sort commands table again and add some missing 'hg' in synopsises.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5778
diff
changeset
|
2902 "debugwalk": (debugwalk, walkopts, _('hg debugwalk [OPTION]... [FILE]...')), |
697
cb1be2327220
Multiple cleanups of things detected by pylint.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
696
diff
changeset
|
2903 "^diff": |
cb1be2327220
Multiple cleanups of things detected by pylint.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
696
diff
changeset
|
2904 (diff, |
1402
9d2c2e6b32b5
i18n part2: use '_' for all strings who are part of the user interface
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1400
diff
changeset
|
2905 [('r', 'rev', [], _('revision')), |
9d2c2e6b32b5
i18n part2: use '_' for all strings who are part of the user interface
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1400
diff
changeset
|
2906 ('a', 'text', None, _('treat all files as text')), |
1728
9b92b71d5dd7
add -w and -p options to diff. this is for issue 126.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1720
diff
changeset
|
2907 ('p', 'show-function', None, |
9b92b71d5dd7
add -w and -p options to diff. this is for issue 126.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1720
diff
changeset
|
2908 _('show which function each change is in')), |
2907 | 2909 ('g', 'git', None, _('use git extended diff format')), |
3200
367a009c2acb
Remove single character equivalent of --nodates (was -D)
Stephen Darnell <stephen@darnell.plus.com>
parents:
3199
diff
changeset
|
2910 ('', 'nodates', None, _("don't include dates in diff headers")), |
1728
9b92b71d5dd7
add -w and -p options to diff. this is for issue 126.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1720
diff
changeset
|
2911 ('w', 'ignore-all-space', None, |
9b92b71d5dd7
add -w and -p options to diff. this is for issue 126.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1720
diff
changeset
|
2912 _('ignore white space when comparing lines')), |
2580
a20a1bb0c396
diff: add -b/-B options
Haakon Riiser <haakon.riiser@fys.uio.no>
parents:
2579
diff
changeset
|
2913 ('b', 'ignore-space-change', None, |
a20a1bb0c396
diff: add -b/-B options
Haakon Riiser <haakon.riiser@fys.uio.no>
parents:
2579
diff
changeset
|
2914 _('ignore changes in the amount of white space')), |
a20a1bb0c396
diff: add -b/-B options
Haakon Riiser <haakon.riiser@fys.uio.no>
parents:
2579
diff
changeset
|
2915 ('B', 'ignore-blank-lines', None, |
a20a1bb0c396
diff: add -b/-B options
Haakon Riiser <haakon.riiser@fys.uio.no>
parents:
2579
diff
changeset
|
2916 _('ignore changes whose lines are all blank')), |
6040
1d0bfa4c75c0
commands.py, patch.py: add -U option to hg diff command
jorendorff@mozilla.com
parents:
4967
diff
changeset
|
2917 ('U', 'unified', 3, |
1d0bfa4c75c0
commands.py, patch.py: add -U option to hg diff command
jorendorff@mozilla.com
parents:
4967
diff
changeset
|
2918 _('number of lines of context to show')) |
3188
725e3d3145d8
factor opts: walk options
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3187
diff
changeset
|
2919 ] + walkopts, |
3885
6081b4c68baf
Corrected synopsis for many commands.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3862
diff
changeset
|
2920 _('hg diff [OPTION]... [-r REV1 [-r REV2]] [FILE]...')), |
697
cb1be2327220
Multiple cleanups of things detected by pylint.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
696
diff
changeset
|
2921 "^export": |
cb1be2327220
Multiple cleanups of things detected by pylint.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
696
diff
changeset
|
2922 (export, |
1615
83238c1db6de
Cleanup of indentation, spacing, newlines, strings and line length
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1607
diff
changeset
|
2923 [('o', 'output', '', _('print output to file with formatted name')), |
1571
bcdc030c59f8
add a --switch-parent option to export against the other parent
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1570
diff
changeset
|
2924 ('a', 'text', None, _('treat all files as text')), |
3029 | 2925 ('g', 'git', None, _('use git extended diff format')), |
3200
367a009c2acb
Remove single character equivalent of --nodates (was -D)
Stephen Darnell <stephen@darnell.plus.com>
parents:
3199
diff
changeset
|
2926 ('', 'nodates', None, _("don't include dates in diff headers")), |
1571
bcdc030c59f8
add a --switch-parent option to export against the other parent
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1570
diff
changeset
|
2927 ('', 'switch-parent', None, _('diff against the second parent'))], |
3885
6081b4c68baf
Corrected synopsis for many commands.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3862
diff
changeset
|
2928 _('hg export [OPTION]... [-o OUTFILESPEC] REV...')), |
1065
6e94c0365d98
Cleanups to commands.py
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1062
diff
changeset
|
2929 "grep": |
6e94c0365d98
Cleanups to commands.py
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1062
diff
changeset
|
2930 (grep, |
1402
9d2c2e6b32b5
i18n part2: use '_' for all strings who are part of the user interface
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1400
diff
changeset
|
2931 [('0', 'print0', None, _('end fields with NUL')), |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2932 ('', 'all', None, _('print all revisions that match')), |
2870
8eaaf1321bfe
grep: add --follow support.
Brendan Cully <brendan@kublai.com>
parents:
2869
diff
changeset
|
2933 ('f', 'follow', None, |
8eaaf1321bfe
grep: add --follow support.
Brendan Cully <brendan@kublai.com>
parents:
2869
diff
changeset
|
2934 _('follow changeset history, or file history across copies and renames')), |
1402
9d2c2e6b32b5
i18n part2: use '_' for all strings who are part of the user interface
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1400
diff
changeset
|
2935 ('i', 'ignore-case', None, _('ignore case when matching')), |
1602
fb4149eebdd4
strictly adher to 80 chars per line
Muli Ben-Yehuda <mulix@mulix.org>
parents:
1601
diff
changeset
|
2936 ('l', 'files-with-matches', None, |
fb4149eebdd4
strictly adher to 80 chars per line
Muli Ben-Yehuda <mulix@mulix.org>
parents:
1601
diff
changeset
|
2937 _('print only filenames and revs that match')), |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2938 ('n', 'line-number', None, _('print matching line numbers')), |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2939 ('r', 'rev', [], _('search in given revision range')), |
6134
7b937b26adf7
Make annotae/grep print short dates with -q/--quiet.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6133
diff
changeset
|
2940 ('u', 'user', None, _('list the author (long with -v)')), |
7b937b26adf7
Make annotae/grep print short dates with -q/--quiet.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6133
diff
changeset
|
2941 ('d', 'date', None, _('list the date (short with -q)')), |
3188
725e3d3145d8
factor opts: walk options
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3187
diff
changeset
|
2942 ] + walkopts, |
1615
83238c1db6de
Cleanup of indentation, spacing, newlines, strings and line length
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1607
diff
changeset
|
2943 _('hg grep [OPTION]... PATTERN [FILE]...')), |
905
65763ff9fa53
Update online help of hg heads for new --branches option.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
904
diff
changeset
|
2944 "heads": |
65763ff9fa53
Update online help of hg heads for new --branches option.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
904
diff
changeset
|
2945 (heads, |
3876
1e0b94cfba0e
Remove deprecated old-style branch support
Matt Mackall <mpm@selenic.com>
parents:
3862
diff
changeset
|
2946 [('', 'style', '', _('display using template map file')), |
1907
7718885070b1
let commands that show changesets use templates.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1800
diff
changeset
|
2947 ('r', 'rev', '', _('show only heads which are descendants of rev')), |
1913
74cf2b2f43d4
fix some things people wanted to be cleaner.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1910
diff
changeset
|
2948 ('', 'template', '', _('display with template'))], |
4648
8e503fa54d2d
Add option to heads to show only heads for current branch.
Eric Hopper <hopper@omnifarious.org>
parents:
4646
diff
changeset
|
2949 _('hg heads [-r REV] [REV]...')), |
1402
9d2c2e6b32b5
i18n part2: use '_' for all strings who are part of the user interface
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1400
diff
changeset
|
2950 "help": (help_, [], _('hg help [COMMAND]')), |
4665
091c9e54d306
identify: accept a revision argument
Matt Mackall <mpm@selenic.com>
parents:
4664
diff
changeset
|
2951 "identify|id": |
091c9e54d306
identify: accept a revision argument
Matt Mackall <mpm@selenic.com>
parents:
4664
diff
changeset
|
2952 (identify, |
4666
48c94bffdb28
identify: add support for output flags
Matt Mackall <mpm@selenic.com>
parents:
4665
diff
changeset
|
2953 [('r', 'rev', '', _('identify the specified rev')), |
48c94bffdb28
identify: add support for output flags
Matt Mackall <mpm@selenic.com>
parents:
4665
diff
changeset
|
2954 ('n', 'num', None, _('show local revision number')), |
48c94bffdb28
identify: add support for output flags
Matt Mackall <mpm@selenic.com>
parents:
4665
diff
changeset
|
2955 ('i', 'id', None, _('show global revision id')), |
48c94bffdb28
identify: add support for output flags
Matt Mackall <mpm@selenic.com>
parents:
4665
diff
changeset
|
2956 ('b', 'branch', None, _('show branch')), |
48c94bffdb28
identify: add support for output flags
Matt Mackall <mpm@selenic.com>
parents:
4665
diff
changeset
|
2957 ('t', 'tags', None, _('show tags'))], |
4671
150afe6becf6
identify: take a path to a remote repo
Matt Mackall <mpm@selenic.com>
parents:
4667
diff
changeset
|
2958 _('hg identify [-nibt] [-r REV] [SOURCE]')), |
697
cb1be2327220
Multiple cleanups of things detected by pylint.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
696
diff
changeset
|
2959 "import|patch": |
cb1be2327220
Multiple cleanups of things detected by pylint.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
696
diff
changeset
|
2960 (import_, |
1602
fb4149eebdd4
strictly adher to 80 chars per line
Muli Ben-Yehuda <mulix@mulix.org>
parents:
1601
diff
changeset
|
2961 [('p', 'strip', 1, |
2125
3610d9468b1e
Use string literal concatenation for optlist and import -p option
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2124
diff
changeset
|
2962 _('directory strip option for patch. This has the same\n' |
3610d9468b1e
Use string literal concatenation for optlist and import -p option
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2124
diff
changeset
|
2963 'meaning as the corresponding patch option')), |
3876
1e0b94cfba0e
Remove deprecated old-style branch support
Matt Mackall <mpm@selenic.com>
parents:
3862
diff
changeset
|
2964 ('b', 'base', '', _('base path')), |
1602
fb4149eebdd4
strictly adher to 80 chars per line
Muli Ben-Yehuda <mulix@mulix.org>
parents:
1601
diff
changeset
|
2965 ('f', 'force', None, |
4263 | 2966 _('skip check for outstanding uncommitted changes')), |
5936
00dfc810dae4
Add --no-commit option to import command
Joel Rosdahl <joel@rosdahl.net>
parents:
5858
diff
changeset
|
2967 ('', 'no-commit', None, _("don't commit, just update the working directory")), |
4263 | 2968 ('', 'exact', None, |
4592
5243cece3d97
Add --import-branch option to hg import to pull in branch information without --exact
Eric Hopper <hopper@omnifarious.org>
parents:
4587
diff
changeset
|
2969 _('apply patch to the nodes from which it was generated')), |
5243cece3d97
Add --import-branch option to hg import to pull in branch information without --exact
Eric Hopper <hopper@omnifarious.org>
parents:
4587
diff
changeset
|
2970 ('', 'import-branch', None, |
5953
e7f1be4bf40a
Permitting the import command to accept a --user option.
Jesse Glick <jesse.glick@sun.com>
parents:
5936
diff
changeset
|
2971 _('Use any branch information in patch (implied by --exact)'))] + |
e7f1be4bf40a
Permitting the import command to accept a --user option.
Jesse Glick <jesse.glick@sun.com>
parents:
5936
diff
changeset
|
2972 commitopts + commitopts2, |
e7f1be4bf40a
Permitting the import command to accept a --user option.
Jesse Glick <jesse.glick@sun.com>
parents:
5936
diff
changeset
|
2973 _('hg import [OPTION]... PATCH...')), |
5778
9e97a7a0bb82
realign commands table
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5776
diff
changeset
|
2974 "incoming|in": |
9e97a7a0bb82
realign commands table
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5776
diff
changeset
|
2975 (incoming, |
1615
83238c1db6de
Cleanup of indentation, spacing, newlines, strings and line length
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1607
diff
changeset
|
2976 [('M', 'no-merges', None, _('do not show merges')), |
1959
d53a18f592be
add -f/--force to pull, incoming, outgoing, to work on unrelated repo.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1948
diff
changeset
|
2977 ('f', 'force', None, |
d53a18f592be
add -f/--force to pull, incoming, outgoing, to work on unrelated repo.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1948
diff
changeset
|
2978 _('run even when remote repository is unrelated')), |
1913
74cf2b2f43d4
fix some things people wanted to be cleaner.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1910
diff
changeset
|
2979 ('', 'style', '', _('display using template map file')), |
1907
7718885070b1
let commands that show changesets use templates.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1800
diff
changeset
|
2980 ('n', 'newest-first', None, _('show newest record first')), |
1944
fdf40c9b3306
incoming: add support for remote repo using bundlerepo
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1943
diff
changeset
|
2981 ('', 'bundle', '', _('file to store the bundles into')), |
1439
65cbe22b03fa
allow 'hg out' / 'hg in' to show newest commit first
Michal Kvasnica <kvasnica@gmail.com>
parents:
1437
diff
changeset
|
2982 ('p', 'patch', None, _('show patch')), |
2878
982c3237c63d
Make clear that hg pull -r REV pulls "up to" a revision.
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
2875
diff
changeset
|
2983 ('r', 'rev', [], _('a specific revision up to which you would like to pull')), |
1965
62aa1b90414f
add remotecmd/ssh option support to incoming/outgoing
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1959
diff
changeset
|
2984 ('', 'template', '', _('display with template')), |
3190
37b53487c341
factor opts: remote repo access options
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3189
diff
changeset
|
2985 ] + remoteopts, |
3885
6081b4c68baf
Corrected synopsis for many commands.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3862
diff
changeset
|
2986 _('hg incoming [-p] [-n] [-M] [-f] [-r REV]...' |
2544
0ab63318bc36
Added missing space in continued string.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2521
diff
changeset
|
2987 ' [--bundle FILENAME] [SOURCE]')), |
2598
b898afee9d0d
Add ui method to set --ssh/--remotecmd, use it in init/clone/pull/push/in/out.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2597
diff
changeset
|
2988 "^init": |
3885
6081b4c68baf
Corrected synopsis for many commands.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3862
diff
changeset
|
2989 (init, |
6081b4c68baf
Corrected synopsis for many commands.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3862
diff
changeset
|
2990 remoteopts, |
6081b4c68baf
Corrected synopsis for many commands.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3862
diff
changeset
|
2991 _('hg init [-e CMD] [--remotecmd CMD] [DEST]')), |
697
cb1be2327220
Multiple cleanups of things detected by pylint.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
696
diff
changeset
|
2992 "locate": |
cb1be2327220
Multiple cleanups of things detected by pylint.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
696
diff
changeset
|
2993 (locate, |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2994 [('r', 'rev', '', _('search the repository as it stood at rev')), |
1602
fb4149eebdd4
strictly adher to 80 chars per line
Muli Ben-Yehuda <mulix@mulix.org>
parents:
1601
diff
changeset
|
2995 ('0', 'print0', None, |
fb4149eebdd4
strictly adher to 80 chars per line
Muli Ben-Yehuda <mulix@mulix.org>
parents:
1601
diff
changeset
|
2996 _('end filenames with NUL, for use with xargs')), |
fb4149eebdd4
strictly adher to 80 chars per line
Muli Ben-Yehuda <mulix@mulix.org>
parents:
1601
diff
changeset
|
2997 ('f', 'fullpath', None, |
fb4149eebdd4
strictly adher to 80 chars per line
Muli Ben-Yehuda <mulix@mulix.org>
parents:
1601
diff
changeset
|
2998 _('print complete paths from the filesystem root')), |
3188
725e3d3145d8
factor opts: walk options
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3187
diff
changeset
|
2999 ] + walkopts, |
1402
9d2c2e6b32b5
i18n part2: use '_' for all strings who are part of the user interface
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1400
diff
changeset
|
3000 _('hg locate [OPTION]... [PATTERN]...')), |
697
cb1be2327220
Multiple cleanups of things detected by pylint.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
696
diff
changeset
|
3001 "^log|history": |
cb1be2327220
Multiple cleanups of things detected by pylint.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
696
diff
changeset
|
3002 (log, |
3876
1e0b94cfba0e
Remove deprecated old-style branch support
Matt Mackall <mpm@selenic.com>
parents:
3862
diff
changeset
|
3003 [('f', 'follow', None, |
2782
21e571c21a6b
Make log --follow without a file list follow a single head.
Brendan Cully <brendan@kublai.com>
parents:
2764
diff
changeset
|
3004 _('follow changeset history, or file history across copies and renames')), |
2784
12a7bfcafd8f
Add log option --follow-first to follow only the first parent of
Brendan Cully <brendan@kublai.com>
parents:
2783
diff
changeset
|
3005 ('', 'follow-first', None, |
12a7bfcafd8f
Add log option --follow-first to follow only the first parent of
Brendan Cully <brendan@kublai.com>
parents:
2783
diff
changeset
|
3006 _('only follow the first parent of merge changesets')), |
3813 | 3007 ('d', 'date', '', _('show revs matching date spec')), |
3197 | 3008 ('C', 'copies', None, _('show copied files')), |
4324
cd650cd61b06
help: log --keyword is case-insensitive
TK Soh <teekaysoh@yahoo.com>
parents:
4322
diff
changeset
|
3009 ('k', 'keyword', [], _('do case-insensitive search for a keyword')), |
1756
f29857aaa053
add -l,--limit to log command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1747
diff
changeset
|
3010 ('l', 'limit', '', _('limit number of changes displayed')), |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
3011 ('r', 'rev', [], _('show the specified revision or range')), |
3657 | 3012 ('', 'removed', None, _('include revs where files were removed')), |
1615
83238c1db6de
Cleanup of indentation, spacing, newlines, strings and line length
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1607
diff
changeset
|
3013 ('M', 'no-merges', None, _('do not show merges')), |
1913
74cf2b2f43d4
fix some things people wanted to be cleaner.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1910
diff
changeset
|
3014 ('', 'style', '', _('display using template map file')), |
1615
83238c1db6de
Cleanup of indentation, spacing, newlines, strings and line length
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1607
diff
changeset
|
3015 ('m', 'only-merges', None, _('show only merges')), |
6067
57c1a7052982
Option to log to only show changesets within a specified branch.
Dustin Sallings <dustin@spy.net>
parents:
6048
diff
changeset
|
3016 ('b', 'only-branch', [], |
57c1a7052982
Option to log to only show changesets within a specified branch.
Dustin Sallings <dustin@spy.net>
parents:
6048
diff
changeset
|
3017 _('show only changesets within the given named branch')), |
1816
08f4398bdb1a
Updated help synopsises and reordered some options. Dropped [-n] from revert.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1812
diff
changeset
|
3018 ('p', 'patch', None, _('show patch')), |
2901 | 3019 ('P', 'prune', [], _('do not display revision or any of its ancestors')), |
1920 | 3020 ('', 'template', '', _('display with template')), |
3188
725e3d3145d8
factor opts: walk options
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3187
diff
changeset
|
3021 ] + walkopts, |
1816
08f4398bdb1a
Updated help synopsises and reordered some options. Dropped [-n] from revert.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1812
diff
changeset
|
3022 _('hg log [OPTION]... [FILE]')), |
5778
9e97a7a0bb82
realign commands table
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5776
diff
changeset
|
3023 "manifest": |
9e97a7a0bb82
realign commands table
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5776
diff
changeset
|
3024 (manifest, |
9e97a7a0bb82
realign commands table
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5776
diff
changeset
|
3025 [('r', 'rev', '', _('revision to display'))], |
9e97a7a0bb82
realign commands table
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5776
diff
changeset
|
3026 _('hg manifest [-r REV]')), |
4014
509342f95564
various doc fixes
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
4013
diff
changeset
|
3027 "^merge": |
2044
b343e7d454b4
Don't allow --style and --template for hg update and hg merge.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2043
diff
changeset
|
3028 (merge, |
4450
8fa54b9c6c5a
accept -r REV in more places
Daniel Holth <dholth@fastmail.fm>
parents:
4445
diff
changeset
|
3029 [('f', 'force', None, _('force a merge with outstanding changes')), |
8fa54b9c6c5a
accept -r REV in more places
Daniel Holth <dholth@fastmail.fm>
parents:
4445
diff
changeset
|
3030 ('r', 'rev', '', _('revision to merge')), |
8fa54b9c6c5a
accept -r REV in more places
Daniel Holth <dholth@fastmail.fm>
parents:
4445
diff
changeset
|
3031 ], |
8fa54b9c6c5a
accept -r REV in more places
Daniel Holth <dholth@fastmail.fm>
parents:
4445
diff
changeset
|
3032 _('hg merge [-f] [[-r] REV]')), |
5778
9e97a7a0bb82
realign commands table
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5776
diff
changeset
|
3033 "outgoing|out": |
9e97a7a0bb82
realign commands table
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5776
diff
changeset
|
3034 (outgoing, |
1615
83238c1db6de
Cleanup of indentation, spacing, newlines, strings and line length
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1607
diff
changeset
|
3035 [('M', 'no-merges', None, _('do not show merges')), |
1959
d53a18f592be
add -f/--force to pull, incoming, outgoing, to work on unrelated repo.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1948
diff
changeset
|
3036 ('f', 'force', None, |
d53a18f592be
add -f/--force to pull, incoming, outgoing, to work on unrelated repo.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1948
diff
changeset
|
3037 _('run even when remote repository is unrelated')), |
1439
65cbe22b03fa
allow 'hg out' / 'hg in' to show newest commit first
Michal Kvasnica <kvasnica@gmail.com>
parents:
1437
diff
changeset
|
3038 ('p', 'patch', None, _('show patch')), |
1913
74cf2b2f43d4
fix some things people wanted to be cleaner.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1910
diff
changeset
|
3039 ('', 'style', '', _('display using template map file')), |
2521
9cceb439048b
add -r/--rev arguments to incoming and outgoing
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
2515
diff
changeset
|
3040 ('r', 'rev', [], _('a specific revision you would like to push')), |
1907
7718885070b1
let commands that show changesets use templates.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1800
diff
changeset
|
3041 ('n', 'newest-first', None, _('show newest record first')), |
1965
62aa1b90414f
add remotecmd/ssh option support to incoming/outgoing
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1959
diff
changeset
|
3042 ('', 'template', '', _('display with template')), |
3190
37b53487c341
factor opts: remote repo access options
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3189
diff
changeset
|
3043 ] + remoteopts, |
3885
6081b4c68baf
Corrected synopsis for many commands.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3862
diff
changeset
|
3044 _('hg outgoing [-M] [-p] [-n] [-f] [-r REV]... [DEST]')), |
1724
5a36609f73a7
add a -b/--branch option to 'hg parents'
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1720
diff
changeset
|
3045 "^parents": |
5a36609f73a7
add a -b/--branch option to 'hg parents'
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1720
diff
changeset
|
3046 (parents, |
3876
1e0b94cfba0e
Remove deprecated old-style branch support
Matt Mackall <mpm@selenic.com>
parents:
3862
diff
changeset
|
3047 [('r', 'rev', '', _('show parents from the specified rev')), |
1913
74cf2b2f43d4
fix some things people wanted to be cleaner.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1910
diff
changeset
|
3048 ('', 'style', '', _('display using template map file')), |
74cf2b2f43d4
fix some things people wanted to be cleaner.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1910
diff
changeset
|
3049 ('', 'template', '', _('display with template'))], |
3504
f4ab58d4ccd4
Remove [-b] options from help syntax lines
Matt Mackall <mpm@selenic.com>
parents:
3503
diff
changeset
|
3050 _('hg parents [-r REV] [FILE]')), |
1402
9d2c2e6b32b5
i18n part2: use '_' for all strings who are part of the user interface
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1400
diff
changeset
|
3051 "paths": (paths, [], _('hg paths [NAME]')), |
697
cb1be2327220
Multiple cleanups of things detected by pylint.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
696
diff
changeset
|
3052 "^pull": |
cb1be2327220
Multiple cleanups of things detected by pylint.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
696
diff
changeset
|
3053 (pull, |
1602
fb4149eebdd4
strictly adher to 80 chars per line
Muli Ben-Yehuda <mulix@mulix.org>
parents:
1601
diff
changeset
|
3054 [('u', 'update', None, |
3198
a32f65549b9e
Documentation clarification for --update option to pull and unbundle
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3197
diff
changeset
|
3055 _('update to new tip if changesets were pulled')), |
1959
d53a18f592be
add -f/--force to pull, incoming, outgoing, to work on unrelated repo.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1948
diff
changeset
|
3056 ('f', 'force', None, |
d53a18f592be
add -f/--force to pull, incoming, outgoing, to work on unrelated repo.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1948
diff
changeset
|
3057 _('run even when remote repository is unrelated')), |
3885
6081b4c68baf
Corrected synopsis for many commands.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3862
diff
changeset
|
3058 ('r', 'rev', [], |
6081b4c68baf
Corrected synopsis for many commands.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3862
diff
changeset
|
3059 _('a specific revision up to which you would like to pull')), |
3190
37b53487c341
factor opts: remote repo access options
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3189
diff
changeset
|
3060 ] + remoteopts, |
3885
6081b4c68baf
Corrected synopsis for many commands.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3862
diff
changeset
|
3061 _('hg pull [-u] [-f] [-r REV]... [-e CMD] [--remotecmd CMD] [SOURCE]')), |
818 | 3062 "^push": |
3063 (push, | |
1402
9d2c2e6b32b5
i18n part2: use '_' for all strings who are part of the user interface
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1400
diff
changeset
|
3064 [('f', 'force', None, _('force push')), |
1781
284fc722c342
add an optional argument to push only the specified revisions (push -r)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1712
diff
changeset
|
3065 ('r', 'rev', [], _('a specific revision you would like to push')), |
3190
37b53487c341
factor opts: remote repo access options
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3189
diff
changeset
|
3066 ] + remoteopts, |
3885
6081b4c68baf
Corrected synopsis for many commands.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3862
diff
changeset
|
3067 _('hg push [-f] [-r REV]... [-e CMD] [--remotecmd CMD] [DEST]')), |
1615
83238c1db6de
Cleanup of indentation, spacing, newlines, strings and line length
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1607
diff
changeset
|
3068 "recover": (recover, [], _('hg recover')), |
83238c1db6de
Cleanup of indentation, spacing, newlines, strings and line length
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1607
diff
changeset
|
3069 "^remove|rm": |
83238c1db6de
Cleanup of indentation, spacing, newlines, strings and line length
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1607
diff
changeset
|
3070 (remove, |
5573 | 3071 [('A', 'after', None, _('record remove without deleting')), |
2179
520dd3d28e9b
add --after option to remove command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2175
diff
changeset
|
3072 ('f', 'force', None, _('remove file even if modified')), |
3188
725e3d3145d8
factor opts: walk options
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3187
diff
changeset
|
3073 ] + walkopts, |
1615
83238c1db6de
Cleanup of indentation, spacing, newlines, strings and line length
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1607
diff
changeset
|
3074 _('hg remove [OPTION]... FILE...')), |
83238c1db6de
Cleanup of indentation, spacing, newlines, strings and line length
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1607
diff
changeset
|
3075 "rename|mv": |
83238c1db6de
Cleanup of indentation, spacing, newlines, strings and line length
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1607
diff
changeset
|
3076 (rename, |
1816
08f4398bdb1a
Updated help synopsises and reordered some options. Dropped [-n] from revert.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1812
diff
changeset
|
3077 [('A', 'after', None, _('record a rename that has already occurred')), |
1615
83238c1db6de
Cleanup of indentation, spacing, newlines, strings and line length
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1607
diff
changeset
|
3078 ('f', 'force', None, |
1816
08f4398bdb1a
Updated help synopsises and reordered some options. Dropped [-n] from revert.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1812
diff
changeset
|
3079 _('forcibly copy over an existing managed file')), |
3189
a73a785ea8e1
factor opts: --dry-run option
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3188
diff
changeset
|
3080 ] + walkopts + dryrunopts, |
1869
42c76ec7a8d4
Reordered options for remove, fixed synopsis for rename.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1867
diff
changeset
|
3081 _('hg rename [OPTION]... SOURCE... DEST')), |
5574 | 3082 "revert": |
697
cb1be2327220
Multiple cleanups of things detected by pylint.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
696
diff
changeset
|
3083 (revert, |
2983
3b7626b861f8
revert: add -a as alias for --all
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2982
diff
changeset
|
3084 [('a', 'all', None, _('revert all changes when no arguments given')), |
3814
120be84f33de
Add --date support to update and revert
Matt Mackall <mpm@selenic.com>
parents:
3813
diff
changeset
|
3085 ('d', 'date', '', _('tipmost revision matching date')), |
2982
890e285c52a1
revert: require --all to revert all files.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2963
diff
changeset
|
3086 ('r', 'rev', '', _('revision to revert to')), |
2029
d436b21b20dc
rewrite revert command. fix issues 93, 123, 147.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2022
diff
changeset
|
3087 ('', 'no-backup', None, _('do not save backup copies of files')), |
3189
a73a785ea8e1
factor opts: --dry-run option
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3188
diff
changeset
|
3088 ] + walkopts + dryrunopts, |
3885
6081b4c68baf
Corrected synopsis for many commands.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3862
diff
changeset
|
3089 _('hg revert [OPTION]... [-r REV] [NAME]...')), |
2227
4f072bb06e89
deprecate undo command, replace with rollback command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2212
diff
changeset
|
3090 "rollback": (rollback, [], _('hg rollback')), |
1615
83238c1db6de
Cleanup of indentation, spacing, newlines, strings and line length
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1607
diff
changeset
|
3091 "root": (root, [], _('hg root')), |
697
cb1be2327220
Multiple cleanups of things detected by pylint.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
696
diff
changeset
|
3092 "^serve": |
cb1be2327220
Multiple cleanups of things detected by pylint.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
696
diff
changeset
|
3093 (serve, |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
3094 [('A', 'accesslog', '', _('name of access log file to write to')), |
1740
f95654385065
add --daemon option to serve command. for issue 45.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1736
diff
changeset
|
3095 ('d', 'daemon', None, _('run server in background')), |
1742
1e5bb6c929cd
Added help string for --daemon-pipefds
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1741
diff
changeset
|
3096 ('', 'daemon-pipefds', '', _('used internally by daemon mode')), |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
3097 ('E', 'errorlog', '', _('name of error log file to write to')), |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
3098 ('p', 'port', 0, _('port to use (default: 8000)')), |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
3099 ('a', 'address', '', _('address to use')), |
5835
bd34f0ac3cb0
adding "prefix" option to "hg serve" (command line and [web] section)
Michele Cella <michele.cella@gmail.com>
parents:
5811
diff
changeset
|
3100 ('', 'prefix', '', _('prefix path to serve from (default: server root)')), |
1615
83238c1db6de
Cleanup of indentation, spacing, newlines, strings and line length
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1607
diff
changeset
|
3101 ('n', 'name', '', |
1602
fb4149eebdd4
strictly adher to 80 chars per line
Muli Ben-Yehuda <mulix@mulix.org>
parents:
1601
diff
changeset
|
3102 _('name to show in web pages (default: working dir)')), |
2124
27fd8b7a6c51
Cleaned trailing whitespace in hgweb.py, removed command line shortcut for webdir-conf.
Alexander Schremmer <alex AT alexanderweb DOT de>
parents:
2122
diff
changeset
|
3103 ('', 'webdir-conf', '', _('name of the webdir config file' |
27fd8b7a6c51
Cleaned trailing whitespace in hgweb.py, removed command line shortcut for webdir-conf.
Alexander Schremmer <alex AT alexanderweb DOT de>
parents:
2122
diff
changeset
|
3104 ' (serve more than one repo)')), |
1740
f95654385065
add --daemon option to serve command. for issue 45.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1736
diff
changeset
|
3105 ('', 'pid-file', '', _('name of file to write process ID to')), |
1402
9d2c2e6b32b5
i18n part2: use '_' for all strings who are part of the user interface
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1400
diff
changeset
|
3106 ('', 'stdio', None, _('for remote clients')), |
1615
83238c1db6de
Cleanup of indentation, spacing, newlines, strings and line length
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1607
diff
changeset
|
3107 ('t', 'templates', '', _('web templates to use')), |
83238c1db6de
Cleanup of indentation, spacing, newlines, strings and line length
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1607
diff
changeset
|
3108 ('', 'style', '', _('template style to use')), |
4860
f3802f9f1840
Add SSL support to hg serve, activated via --certificate option
Brendan Cully <brendan@kublai.com>
parents:
4857
diff
changeset
|
3109 ('6', 'ipv6', None, _('use IPv6 in addition to IPv4')), |
f3802f9f1840
Add SSL support to hg serve, activated via --certificate option
Brendan Cully <brendan@kublai.com>
parents:
4857
diff
changeset
|
3110 ('', 'certificate', '', _('SSL certificate file'))], |
1615
83238c1db6de
Cleanup of indentation, spacing, newlines, strings and line length
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1607
diff
changeset
|
3111 _('hg serve [OPTION]...')), |
5781
45d034c79ece
Sort commands table again and add some missing 'hg' in synopsises.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5778
diff
changeset
|
3112 "showconfig|debugconfig": |
45d034c79ece
Sort commands table again and add some missing 'hg' in synopsises.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5778
diff
changeset
|
3113 (showconfig, |
45d034c79ece
Sort commands table again and add some missing 'hg' in synopsises.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5778
diff
changeset
|
3114 [('u', 'untrusted', None, _('show untrusted configuration options'))], |
45d034c79ece
Sort commands table again and add some missing 'hg' in synopsises.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5778
diff
changeset
|
3115 _('hg showconfig [-u] [NAME]...')), |
1507
cd8fadd8c689
Add explicit 'st' alias for status
Matt Mackall <mpm@selenic.com>
parents:
1506
diff
changeset
|
3116 "^status|st": |
840
141744605b51
hg status: added options to select files by status.
tksoh@users.sourceforge.net
parents:
839
diff
changeset
|
3117 (status, |
2661
5c10b7ed3411
status: add -c (clean) and -A (all files) options
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2639
diff
changeset
|
3118 [('A', 'all', None, _('show status of all files')), |
5c10b7ed3411
status: add -c (clean) and -A (all files) options
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2639
diff
changeset
|
3119 ('m', 'modified', None, _('show only modified files')), |
1402
9d2c2e6b32b5
i18n part2: use '_' for all strings who are part of the user interface
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1400
diff
changeset
|
3120 ('a', 'added', None, _('show only added files')), |
9d2c2e6b32b5
i18n part2: use '_' for all strings who are part of the user interface
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1400
diff
changeset
|
3121 ('r', 'removed', None, _('show only removed files')), |
1619
1ba0d7041ac4
Distinguish removed and deleted files. Tests are not fixed yet.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1618
diff
changeset
|
3122 ('d', 'deleted', None, _('show only deleted (but tracked) files')), |
2661
5c10b7ed3411
status: add -c (clean) and -A (all files) options
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2639
diff
changeset
|
3123 ('c', 'clean', None, _('show only files without changes')), |
1402
9d2c2e6b32b5
i18n part2: use '_' for all strings who are part of the user interface
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1400
diff
changeset
|
3124 ('u', 'unknown', None, _('show only unknown (not tracked) files')), |
4156
30857b5779f8
Fix help text for hg status -i
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4143
diff
changeset
|
3125 ('i', 'ignored', None, _('show only ignored files')), |
1402
9d2c2e6b32b5
i18n part2: use '_' for all strings who are part of the user interface
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1400
diff
changeset
|
3126 ('n', 'no-status', None, _('hide status prefix')), |
2639
001703ec311d
Add an option '-C|--copies' to hg status to show the source of copied files.
Brendan Cully <brendan@kublai.com>
parents:
2630
diff
changeset
|
3127 ('C', 'copies', None, _('show source of copied files')), |
1602
fb4149eebdd4
strictly adher to 80 chars per line
Muli Ben-Yehuda <mulix@mulix.org>
parents:
1601
diff
changeset
|
3128 ('0', 'print0', None, |
fb4149eebdd4
strictly adher to 80 chars per line
Muli Ben-Yehuda <mulix@mulix.org>
parents:
1601
diff
changeset
|
3129 _('end filenames with NUL, for use with xargs')), |
3467
2b3b703b3a2b
Add --rev option to status
Brendan Cully <brendan@kublai.com>
parents:
3465
diff
changeset
|
3130 ('', 'rev', [], _('show difference from revision')), |
3188
725e3d3145d8
factor opts: walk options
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3187
diff
changeset
|
3131 ] + walkopts, |
1615
83238c1db6de
Cleanup of indentation, spacing, newlines, strings and line length
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1607
diff
changeset
|
3132 _('hg status [OPTION]... [FILE]...')), |
697
cb1be2327220
Multiple cleanups of things detected by pylint.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
696
diff
changeset
|
3133 "tag": |
cb1be2327220
Multiple cleanups of things detected by pylint.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
696
diff
changeset
|
3134 (tag, |
4267
8185a1ca8628
tags: require -f to replace an existing tag
Matt Mackall <mpm@selenic.com>
parents:
4247
diff
changeset
|
3135 [('f', 'force', None, _('replace existing tag')), |
8185a1ca8628
tags: require -f to replace an existing tag
Matt Mackall <mpm@selenic.com>
parents:
4247
diff
changeset
|
3136 ('l', 'local', None, _('make the tag local')), |
4213 | 3137 ('r', 'rev', '', _('revision to tag')), |
5147
c80af96943aa
refactor options from cmdtable
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
5125
diff
changeset
|
3138 ('', 'remove', None, _('remove a tag')), |
c80af96943aa
refactor options from cmdtable
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
5125
diff
changeset
|
3139 # -l/--local is already there, commitopts cannot be used |
c80af96943aa
refactor options from cmdtable
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
5125
diff
changeset
|
3140 ('m', 'message', '', _('use <text> as commit message')), |
c80af96943aa
refactor options from cmdtable
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
5125
diff
changeset
|
3141 ] + commitopts2, |
1812
a81f99dfaa2a
fix the synopsis of some commands, mark rawcommit as deprecated in short help
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1811
diff
changeset
|
3142 _('hg tag [-l] [-m TEXT] [-d DATE] [-u USER] [-r REV] NAME')), |
1402
9d2c2e6b32b5
i18n part2: use '_' for all strings who are part of the user interface
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1400
diff
changeset
|
3143 "tags": (tags, [], _('hg tags')), |
1762
8eaa8e06a364
Add option -b/--branch to hg tip (as done for hg parents).
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1761
diff
changeset
|
3144 "tip": |
8eaa8e06a364
Add option -b/--branch to hg tip (as done for hg parents).
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1761
diff
changeset
|
3145 (tip, |
3876
1e0b94cfba0e
Remove deprecated old-style branch support
Matt Mackall <mpm@selenic.com>
parents:
3862
diff
changeset
|
3146 [('', 'style', '', _('display using template map file')), |
1907
7718885070b1
let commands that show changesets use templates.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1800
diff
changeset
|
3147 ('p', 'patch', None, _('show patch')), |
1913
74cf2b2f43d4
fix some things people wanted to be cleaner.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1910
diff
changeset
|
3148 ('', 'template', '', _('display with template'))], |
3504
f4ab58d4ccd4
Remove [-b] options from help syntax lines
Matt Mackall <mpm@selenic.com>
parents:
3503
diff
changeset
|
3149 _('hg tip [-p]')), |
1218
cde6818e082a
Add preliminary support for the bundle and unbundle commands
mpm@selenic.com
parents:
1215
diff
changeset
|
3150 "unbundle": |
cde6818e082a
Add preliminary support for the bundle and unbundle commands
mpm@selenic.com
parents:
1215
diff
changeset
|
3151 (unbundle, |
1601
a1b25fb2e764
Error handling for unbundle, fix option line wrapping
Matt Mackall <mpm@selenic.com>
parents:
1600
diff
changeset
|
3152 [('u', 'update', None, |
3198
a32f65549b9e
Documentation clarification for --update option to pull and unbundle
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3197
diff
changeset
|
3153 _('update to new tip if changesets were unbundled'))], |
4699
a6b62584d0b2
unbundle: accept multiple file arguments
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
4697
diff
changeset
|
3154 _('hg unbundle [-u] FILE...')), |
593 | 3155 "^update|up|checkout|co": |
697
cb1be2327220
Multiple cleanups of things detected by pylint.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
696
diff
changeset
|
3156 (update, |
3876
1e0b94cfba0e
Remove deprecated old-style branch support
Matt Mackall <mpm@selenic.com>
parents:
3862
diff
changeset
|
3157 [('C', 'clean', None, _('overwrite locally modified files')), |
4450
8fa54b9c6c5a
accept -r REV in more places
Daniel Holth <dholth@fastmail.fm>
parents:
4445
diff
changeset
|
3158 ('d', 'date', '', _('tipmost revision matching date')), |
8fa54b9c6c5a
accept -r REV in more places
Daniel Holth <dholth@fastmail.fm>
parents:
4445
diff
changeset
|
3159 ('r', 'rev', '', _('revision'))], |
8fa54b9c6c5a
accept -r REV in more places
Daniel Holth <dholth@fastmail.fm>
parents:
4445
diff
changeset
|
3160 _('hg update [-C] [-d DATE] [[-r] REV]')), |
1402
9d2c2e6b32b5
i18n part2: use '_' for all strings who are part of the user interface
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1400
diff
changeset
|
3161 "verify": (verify, [], _('hg verify')), |
3651
6389205291c6
move show_version to version_
Matt Mackall <mpm@selenic.com>
parents:
3650
diff
changeset
|
3162 "version": (version_, [], _('hg version')), |
1046
772507daaa17
Sort global options by topic: directories, ui, timing, other
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1044
diff
changeset
|
3163 } |
209 | 3164 |
1887
913397c27cd8
new command debugcomplete
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1875
diff
changeset
|
3165 norepo = ("clone init version help debugancestor debugcomplete debugdata" |
5741
8ee0de123989
add debugfsinfo to check fs capabilities
Matt Mackall <mpm@selenic.com>
parents:
5716
diff
changeset
|
3166 " debugindex debugindexdot debugdate debuginstall debugfsinfo") |
5330
4528858e7202
make identify an optionalrepo command
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
5329
diff
changeset
|
3167 optionalrepo = ("identify paths serve showconfig") |