Mercurial > public > mercurial-scm > hg-stable
annotate mercurial/commands.py @ 10505:b3311e26f94f stable
merge: fix --preview to show all nodes that will be merged (issue2043).
Formerly, it omitted nodes that were not descendants of the least
common ancestor of the two merge parents, even though those nodes
contribute to the merge. The new algorithm uses revlog.findmissing()
instead of ancestor() + nodesbetween().
author | Greg Ward <greg-hg@gerg.ca> |
---|---|
date | Mon, 15 Feb 2010 15:25:29 -0500 |
parents | bb508b312359 |
children | 98bc3e195720 |
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 # |
8225
46293a0c7e9f
updated license to be explicit about GPL version 2
Martin Geisler <mg@lazybytes.net>
parents:
8210
diff
changeset
|
5 # This software may be used and distributed according to the terms of the |
10263 | 6 # GNU General Public License version 2 or any later version. |
249 | 7 |
6211
f89fd07fc51d
Expand import * to allow Pyflakes to find problems
Joel Rosdahl <joel@rosdahl.net>
parents:
6210
diff
changeset
|
8 from node import hex, nullid, nullrev, short |
8109
496ae1ea4698
switch lock releasing in the core from gc to explicit
Ronny Pfannschmidt <Ronny.Pfannschmidt@gmx.de>
parents:
8088
diff
changeset
|
9 from lock import release |
7013
f56e788fa292
i18n: mark help strings for translation
Martin Geisler <mg@daimi.au.dk>
parents:
7012
diff
changeset
|
10 from i18n import _, gettext |
9678
e2b1de5fee04
remove unused imports
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
9675
diff
changeset
|
11 import os, re, sys, difflib, time, tempfile |
e2b1de5fee04
remove unused imports
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
9675
diff
changeset
|
12 import hg, util, revlog, bundlerepo, extensions, copies, error |
10060
f780b1098efc
templatekw: change {file_copies} behaviour, add {file_copies_switch}
Patrick Mezard <pmezard@gmail.com>
parents:
10021
diff
changeset
|
13 import patch, help, mdiff, url, encoding, templatekw |
8312
b87a50b7125c
separate import lines from mercurial and general python modules
Simon Heimberg <simohe@besonet.ch>
parents:
8287
diff
changeset
|
14 import archival, changegroup, cmdutil, sshserver, hbisect |
b87a50b7125c
separate import lines from mercurial and general python modules
Simon Heimberg <simohe@besonet.ch>
parents:
8287
diff
changeset
|
15 from hgweb import server |
6518 | 16 import merge as merge_ |
9157
9261667e9b82
commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents:
9142
diff
changeset
|
17 import minirst |
2731
ad4155e757da
Kill ui.setconfig_remoteopts
Matt Mackall <mpm@selenic.com>
parents:
2718
diff
changeset
|
18 |
255 | 19 # Commands start here, listed alphabetically |
209 | 20 |
724
1c0c413cccdd
Get add and locate to use new repo and dirstate walk code.
Bryan O'Sullivan <bos@serpentine.com>
parents:
723
diff
changeset
|
21 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
|
22 """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
|
23 |
8004
d5b1b846f277
commands: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
24 Schedule files to be version controlled and added to the |
d5b1b846f277
commands: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
25 repository. |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
26 |
3829
531c116b2028
Add doc notes about revert and hg status vs diff
Matt Mackall <mpm@selenic.com>
parents:
3822
diff
changeset
|
27 The files will be added to the repository at the next commit. To |
8902
b9a8b616521d
Add a forget command for easily untracking files.
Steve Losh <steve@stevelosh.com>
parents:
8879
diff
changeset
|
28 undo an add before that, see hg forget. |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
29 |
7807
bd8f44638847
help: miscellaneous language fixes
timeless <timeless@gmail.com>
parents:
7765
diff
changeset
|
30 If no names are given, add all files to the repository. |
10446
a565a2445eb5
commands: add verbose example to help text for add
Martin Geisler <mg@lazybytes.net>
parents:
10445
diff
changeset
|
31 |
a565a2445eb5
commands: add verbose example to help text for add
Martin Geisler <mg@lazybytes.net>
parents:
10445
diff
changeset
|
32 .. container:: verbose |
a565a2445eb5
commands: add verbose example to help text for add
Martin Geisler <mg@lazybytes.net>
parents:
10445
diff
changeset
|
33 |
a565a2445eb5
commands: add verbose example to help text for add
Martin Geisler <mg@lazybytes.net>
parents:
10445
diff
changeset
|
34 An example showing how new (unknown) files are added |
a565a2445eb5
commands: add verbose example to help text for add
Martin Geisler <mg@lazybytes.net>
parents:
10445
diff
changeset
|
35 automatically by ``hg add``:: |
a565a2445eb5
commands: add verbose example to help text for add
Martin Geisler <mg@lazybytes.net>
parents:
10445
diff
changeset
|
36 |
a565a2445eb5
commands: add verbose example to help text for add
Martin Geisler <mg@lazybytes.net>
parents:
10445
diff
changeset
|
37 $ ls |
a565a2445eb5
commands: add verbose example to help text for add
Martin Geisler <mg@lazybytes.net>
parents:
10445
diff
changeset
|
38 foo.c |
a565a2445eb5
commands: add verbose example to help text for add
Martin Geisler <mg@lazybytes.net>
parents:
10445
diff
changeset
|
39 $ hg status |
a565a2445eb5
commands: add verbose example to help text for add
Martin Geisler <mg@lazybytes.net>
parents:
10445
diff
changeset
|
40 ? foo.c |
a565a2445eb5
commands: add verbose example to help text for add
Martin Geisler <mg@lazybytes.net>
parents:
10445
diff
changeset
|
41 $ hg add |
a565a2445eb5
commands: add verbose example to help text for add
Martin Geisler <mg@lazybytes.net>
parents:
10445
diff
changeset
|
42 adding foo.c |
a565a2445eb5
commands: add verbose example to help text for add
Martin Geisler <mg@lazybytes.net>
parents:
10445
diff
changeset
|
43 $ hg status |
10448
6e5a47398fc5
commands: correct example in add help text
Martin Geisler <mg@lazybytes.net>
parents:
10446
diff
changeset
|
44 A foo.c |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
45 """ |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
46 |
8679
32537b12e091
add: use match.bad callback more effectively
Matt Mackall <mpm@selenic.com>
parents:
8669
diff
changeset
|
47 bad = [] |
724
1c0c413cccdd
Get add and locate to use new repo and dirstate walk code.
Bryan O'Sullivan <bos@serpentine.com>
parents:
723
diff
changeset
|
48 names = [] |
6579
0159b7a36184
walk: pass match object to cmdutil.walk
Matt Mackall <mpm@selenic.com>
parents:
6578
diff
changeset
|
49 m = cmdutil.match(repo, pats, opts) |
8679
32537b12e091
add: use match.bad callback more effectively
Matt Mackall <mpm@selenic.com>
parents:
8669
diff
changeset
|
50 oldbad = m.bad |
10282
08a0f04b56bd
many, many trivial check-code fixups
Matt Mackall <mpm@selenic.com>
parents:
10270
diff
changeset
|
51 m.bad = lambda x, y: bad.append(x) or oldbad(x, y) |
8679
32537b12e091
add: use match.bad callback more effectively
Matt Mackall <mpm@selenic.com>
parents:
8669
diff
changeset
|
52 |
32537b12e091
add: use match.bad callback more effectively
Matt Mackall <mpm@selenic.com>
parents:
8669
diff
changeset
|
53 for f in repo.walk(m): |
32537b12e091
add: use match.bad callback more effectively
Matt Mackall <mpm@selenic.com>
parents:
8669
diff
changeset
|
54 exact = m.exact(f) |
32537b12e091
add: use match.bad callback more effectively
Matt Mackall <mpm@selenic.com>
parents:
8669
diff
changeset
|
55 if exact or f not in repo.dirstate: |
32537b12e091
add: use match.bad callback more effectively
Matt Mackall <mpm@selenic.com>
parents:
8669
diff
changeset
|
56 names.append(f) |
32537b12e091
add: use match.bad callback more effectively
Matt Mackall <mpm@selenic.com>
parents:
8669
diff
changeset
|
57 if ui.verbose or not exact: |
32537b12e091
add: use match.bad callback more effectively
Matt Mackall <mpm@selenic.com>
parents:
8669
diff
changeset
|
58 ui.status(_('adding %s\n') % m.rel(f)) |
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
|
59 if not opts.get('dry_run'): |
8679
32537b12e091
add: use match.bad callback more effectively
Matt Mackall <mpm@selenic.com>
parents:
8669
diff
changeset
|
60 bad += [f for f in repo.add(names) if f in m.files()] |
32537b12e091
add: use match.bad callback more effectively
Matt Mackall <mpm@selenic.com>
parents:
8669
diff
changeset
|
61 return bad and 1 or 0 |
213 | 62 |
766
b444a7e053f1
Get addremove to use new walk code.
Bryan O'Sullivan <bos@serpentine.com>
parents:
764
diff
changeset
|
63 def addremove(ui, repo, *pats, **opts): |
3181
3637d5d17cbc
Documentation fixes for addremove.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3172
diff
changeset
|
64 """add all new files, delete all missing files |
2181
690da72b0b16
deprecate addremove command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2179
diff
changeset
|
65 |
8004
d5b1b846f277
commands: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
66 Add all new files and remove all missing files from the |
d5b1b846f277
commands: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
67 repository. |
d5b1b846f277
commands: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
68 |
d5b1b846f277
commands: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
69 New files are ignored if they match any of the patterns in |
d5b1b846f277
commands: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
70 .hgignore. As with add, these changes take effect at the next |
d5b1b846f277
commands: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
71 commit. |
2958
ff3ea21a981a
addremove: add -s/--similarity option
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2956
diff
changeset
|
72 |
8033
aeb4a5c7a28e
commands: consistently write switches as -a/--abc
Martin Geisler <mg@lazybytes.net>
parents:
8032
diff
changeset
|
73 Use the -s/--similarity option to detect renamed files. With a |
9249
16f4cfc69e4f
commands: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9219
diff
changeset
|
74 parameter greater than 0, this compares every removed file with |
16f4cfc69e4f
commands: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9219
diff
changeset
|
75 every added file and records those similar enough as renames. This |
16f4cfc69e4f
commands: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9219
diff
changeset
|
76 option takes a percentage between 0 (disabled) and 100 (files must |
16f4cfc69e4f
commands: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9219
diff
changeset
|
77 be identical) as its parameter. Detecting renamed files this way |
16f4cfc69e4f
commands: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9219
diff
changeset
|
78 can be expensive. |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
79 """ |
4966
8d982aef0be1
addremove: print meaningful error message if --similar not numeric
Bryan O'Sullivan <bos@serpentine.com>
parents:
4950
diff
changeset
|
80 try: |
8d982aef0be1
addremove: print meaningful error message if --similar not numeric
Bryan O'Sullivan <bos@serpentine.com>
parents:
4950
diff
changeset
|
81 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
|
82 except ValueError: |
8d982aef0be1
addremove: print meaningful error message if --similar not numeric
Bryan O'Sullivan <bos@serpentine.com>
parents:
4950
diff
changeset
|
83 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
|
84 if sim < 0 or sim > 100: |
ff3ea21a981a
addremove: add -s/--similarity option
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2956
diff
changeset
|
85 raise util.Abort(_('similarity must be between 0 and 100')) |
10282
08a0f04b56bd
many, many trivial check-code fixups
Matt Mackall <mpm@selenic.com>
parents:
10270
diff
changeset
|
86 return cmdutil.addremove(repo, pats, opts, similarity=sim / 100.0) |
219
8ff4532376a4
hg checkout: refuse to checkout if there are outstanding changes
mpm@selenic.com
parents:
214
diff
changeset
|
87 |
733
1966c553f652
Convert annotate over to walk interface.
Bryan O'Sullivan <bos@serpentine.com>
parents:
732
diff
changeset
|
88 def annotate(ui, repo, *pats, **opts): |
8779
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
89 """show changeset information by line for each file |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
90 |
8004
d5b1b846f277
commands: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
91 List changes in files, showing the revision id responsible for |
d5b1b846f277
commands: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
92 each line |
d5b1b846f277
commands: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
93 |
8779
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
94 This command is useful for discovering when a change was made and |
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
95 by whom. |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
96 |
8033
aeb4a5c7a28e
commands: consistently write switches as -a/--abc
Martin Geisler <mg@lazybytes.net>
parents:
8032
diff
changeset
|
97 Without the -a/--text option, annotate will avoid processing files |
8779
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
98 it detects as binary. With -a, annotate will annotate the file |
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
99 anyway, although the results will probably be neither useful |
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
100 nor desirable. |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
101 """ |
6134
7b937b26adf7
Make annotae/grep print short dates with -q/--quiet.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6133
diff
changeset
|
102 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
|
103 getdate = util.cachefunc(lambda x: datefunc(x[0].date())) |
1522 | 104 |
744 | 105 if not pats: |
8761
0289f384e1e5
Generally replace "file name" with "filename" in help and comments.
timeless <timeless@gmail.com>
parents:
8760
diff
changeset
|
106 raise util.Abort(_('at least one filename or pattern is required')) |
744 | 107 |
4857
2192001e4bb4
Add --line-number option to hg annotate (issue506)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4849
diff
changeset
|
108 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
|
109 ('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
|
110 ('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
|
111 ('date', getdate), |
10369
98a0421b9e52
commands: annotate follows by default, separate -f/--file option
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
10365
diff
changeset
|
112 ('file', lambda x: x[0].path()), |
4857
2192001e4bb4
Add --line-number option to hg annotate (issue506)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4849
diff
changeset
|
113 ] |
2192001e4bb4
Add --line-number option to hg annotate (issue506)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4849
diff
changeset
|
114 |
10282
08a0f04b56bd
many, many trivial check-code fixups
Matt Mackall <mpm@selenic.com>
parents:
10270
diff
changeset
|
115 if (not opts.get('user') and not opts.get('changeset') |
10369
98a0421b9e52
commands: annotate follows by default, separate -f/--file option
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
10365
diff
changeset
|
116 and not opts.get('date') and not opts.get('file')): |
714
29fcd195e056
Some cleanups in commands.annotate().
Thomas Arendsen Hein <thomas@intevation.de>
parents:
712
diff
changeset
|
117 opts['number'] = 1 |
209 | 118 |
4857
2192001e4bb4
Add --line-number option to hg annotate (issue506)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4849
diff
changeset
|
119 linenumber = opts.get('line_number') is not None |
10394
4612cded5176
fix coding style (reported by pylint)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
10390
diff
changeset
|
120 if linenumber and (not opts.get('changeset')) and (not opts.get('number')): |
4857
2192001e4bb4
Add --line-number option to hg annotate (issue506)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4849
diff
changeset
|
121 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
|
122 |
2192001e4bb4
Add --line-number option to hg annotate (issue506)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4849
diff
changeset
|
123 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
|
124 if linenumber: |
2192001e4bb4
Add --line-number option to hg annotate (issue506)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4849
diff
changeset
|
125 lastfunc = funcmap[-1] |
2192001e4bb4
Add --line-number option to hg annotate (issue506)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4849
diff
changeset
|
126 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
|
127 |
7131
23bd7383891c
commands: optional options where possible
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7126
diff
changeset
|
128 ctx = repo[opts.get('rev')] |
6579
0159b7a36184
walk: pass match object to cmdutil.walk
Matt Mackall <mpm@selenic.com>
parents:
6578
diff
changeset
|
129 m = cmdutil.match(repo, pats, opts) |
10369
98a0421b9e52
commands: annotate follows by default, separate -f/--file option
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
10365
diff
changeset
|
130 follow = not opts.get('no_follow') |
6764 | 131 for abs in ctx.walk(m): |
132 fctx = ctx[abs] | |
7131
23bd7383891c
commands: optional options where possible
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7126
diff
changeset
|
133 if not opts.get('text') and util.binary(fctx.data()): |
6584
29c77e5dfb3c
walk: remove rel and exact returns
Matt Mackall <mpm@selenic.com>
parents:
6583
diff
changeset
|
134 ui.write(_("%s: binary file\n") % ((pats and m.rel(abs)) or abs)) |
1016 | 135 continue |
136 | |
10369
98a0421b9e52
commands: annotate follows by default, separate -f/--file option
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
10365
diff
changeset
|
137 lines = fctx.annotate(follow=follow, linenumber=linenumber) |
209 | 138 pieces = [] |
139 | |
4857
2192001e4bb4
Add --line-number option to hg annotate (issue506)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4849
diff
changeset
|
140 for f in funcmap: |
2192001e4bb4
Add --line-number option to hg annotate (issue506)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4849
diff
changeset
|
141 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
|
142 if l: |
7094
a4769dec7773
annotate: fix bug when annotating multiple files
Matt Mackall <mpm@selenic.com>
parents:
7040
diff
changeset
|
143 ml = max(map(len, l)) |
a4769dec7773
annotate: fix bug when annotating multiple files
Matt Mackall <mpm@selenic.com>
parents:
7040
diff
changeset
|
144 pieces.append(["%*s" % (ml, x) for x in l]) |
209 | 145 |
771 | 146 if pieces: |
147 for p, l in zip(zip(*pieces), lines): | |
148 ui.write("%s: %s" % (" ".join(p), l[1])) | |
209 | 149 |
2112
2b03c6733efa
add "archive" command, like "cvs export" only better.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2092
diff
changeset
|
150 def archive(ui, repo, dest, **opts): |
8779
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
151 '''create an unversioned archive of a repository revision |
2112
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 By default, the revision used is the parent of the working |
8033
aeb4a5c7a28e
commands: consistently write switches as -a/--abc
Martin Geisler <mg@lazybytes.net>
parents:
8032
diff
changeset
|
154 directory; use -r/--rev to specify a different revision. |
aeb4a5c7a28e
commands: consistently write switches as -a/--abc
Martin Geisler <mg@lazybytes.net>
parents:
8032
diff
changeset
|
155 |
aeb4a5c7a28e
commands: consistently write switches as -a/--abc
Martin Geisler <mg@lazybytes.net>
parents:
8032
diff
changeset
|
156 To specify the type of archive to create, use -t/--type. Valid |
9892
4322e39bd525
commands: use field lists instead of literal blocks in docstrings
Martin Geisler <mg@lazybytes.net>
parents:
9891
diff
changeset
|
157 types are: |
4322e39bd525
commands: use field lists instead of literal blocks in docstrings
Martin Geisler <mg@lazybytes.net>
parents:
9891
diff
changeset
|
158 |
4322e39bd525
commands: use field lists instead of literal blocks in docstrings
Martin Geisler <mg@lazybytes.net>
parents:
9891
diff
changeset
|
159 :``files``: a directory full of files (default) |
4322e39bd525
commands: use field lists instead of literal blocks in docstrings
Martin Geisler <mg@lazybytes.net>
parents:
9891
diff
changeset
|
160 :``tar``: tar archive, uncompressed |
4322e39bd525
commands: use field lists instead of literal blocks in docstrings
Martin Geisler <mg@lazybytes.net>
parents:
9891
diff
changeset
|
161 :``tbz2``: tar archive, compressed using bzip2 |
4322e39bd525
commands: use field lists instead of literal blocks in docstrings
Martin Geisler <mg@lazybytes.net>
parents:
9891
diff
changeset
|
162 :``tgz``: tar archive, compressed using gzip |
4322e39bd525
commands: use field lists instead of literal blocks in docstrings
Martin Geisler <mg@lazybytes.net>
parents:
9891
diff
changeset
|
163 :``uzip``: zip archive, uncompressed |
4322e39bd525
commands: use field lists instead of literal blocks in docstrings
Martin Geisler <mg@lazybytes.net>
parents:
9891
diff
changeset
|
164 :``zip``: zip archive, compressed using deflate |
2112
2b03c6733efa
add "archive" command, like "cvs export" only better.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2092
diff
changeset
|
165 |
2b03c6733efa
add "archive" command, like "cvs export" only better.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2092
diff
changeset
|
166 The exact name of the destination archive or directory is given |
7974
a8a719ff150a
commands: use single-quotes for 'hg help ...' hints
Martin Geisler <mg@daimi.au.dk>
parents:
7948
diff
changeset
|
167 using a format string; see 'hg help export' for details. |
2112
2b03c6733efa
add "archive" command, like "cvs export" only better.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2092
diff
changeset
|
168 |
2b03c6733efa
add "archive" command, like "cvs export" only better.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2092
diff
changeset
|
169 Each member added to an archive file has a directory prefix |
8033
aeb4a5c7a28e
commands: consistently write switches as -a/--abc
Martin Geisler <mg@lazybytes.net>
parents:
8032
diff
changeset
|
170 prepended. Use -p/--prefix to specify a format string for the |
aeb4a5c7a28e
commands: consistently write switches as -a/--abc
Martin Geisler <mg@lazybytes.net>
parents:
8032
diff
changeset
|
171 prefix. The default is the basename of the archive, with suffixes |
aeb4a5c7a28e
commands: consistently write switches as -a/--abc
Martin Geisler <mg@lazybytes.net>
parents:
8032
diff
changeset
|
172 removed. |
2112
2b03c6733efa
add "archive" command, like "cvs export" only better.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2092
diff
changeset
|
173 ''' |
2b03c6733efa
add "archive" command, like "cvs export" only better.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2092
diff
changeset
|
174 |
7131
23bd7383891c
commands: optional options where possible
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7126
diff
changeset
|
175 ctx = repo[opts.get('rev')] |
5061
a49f2a4d5ff7
archive: abort on empty repository. Fixes #624.
Brendan Cully <brendan@kublai.com>
parents:
4966
diff
changeset
|
176 if not ctx: |
7528
eadcc075967e
archive: fix bogus error message with no working directory
Matt Mackall <mpm@selenic.com>
parents:
7527
diff
changeset
|
177 raise util.Abort(_('no working directory: please specify a revision')) |
5061
a49f2a4d5ff7
archive: abort on empty repository. Fixes #624.
Brendan Cully <brendan@kublai.com>
parents:
4966
diff
changeset
|
178 node = ctx.node() |
2874
4ec58b157265
refactor text diff/patch code.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2871
diff
changeset
|
179 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
|
180 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
|
181 raise util.Abort(_('repository root cannot be destination')) |
6579
0159b7a36184
walk: pass match object to cmdutil.walk
Matt Mackall <mpm@selenic.com>
parents:
6578
diff
changeset
|
182 matchfn = cmdutil.match(repo, [], opts) |
2476
0f7e4a39d9af
archive: make "hg archive -t XXX -" to write to stdout
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2473
diff
changeset
|
183 kind = opts.get('type') or 'files' |
7131
23bd7383891c
commands: optional options where possible
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7126
diff
changeset
|
184 prefix = opts.get('prefix') |
2476
0f7e4a39d9af
archive: make "hg archive -t XXX -" to write to stdout
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2473
diff
changeset
|
185 if dest == '-': |
0f7e4a39d9af
archive: make "hg archive -t XXX -" to write to stdout
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2473
diff
changeset
|
186 if kind == 'files': |
0f7e4a39d9af
archive: make "hg archive -t XXX -" to write to stdout
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2473
diff
changeset
|
187 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
|
188 dest = sys.stdout |
10282
08a0f04b56bd
many, many trivial check-code fixups
Matt Mackall <mpm@selenic.com>
parents:
10270
diff
changeset
|
189 if not prefix: |
08a0f04b56bd
many, many trivial check-code fixups
Matt Mackall <mpm@selenic.com>
parents:
10270
diff
changeset
|
190 prefix = os.path.basename(repo.root) + '-%h' |
2874
4ec58b157265
refactor text diff/patch code.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2871
diff
changeset
|
191 prefix = cmdutil.make_filename(repo, prefix, node) |
7131
23bd7383891c
commands: optional options where possible
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7126
diff
changeset
|
192 archival.archive(repo, dest, node, kind, not opts.get('no_decode'), |
2476
0f7e4a39d9af
archive: make "hg archive -t XXX -" to write to stdout
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2473
diff
changeset
|
193 matchfn, prefix) |
2112
2b03c6733efa
add "archive" command, like "cvs export" only better.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2092
diff
changeset
|
194 |
4450
8fa54b9c6c5a
accept -r REV in more places
Daniel Holth <dholth@fastmail.fm>
parents:
4445
diff
changeset
|
195 def backout(ui, repo, node=None, rev=None, **opts): |
2158
ec96c4518236
add backout command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2153
diff
changeset
|
196 '''reverse effect of earlier changeset |
ec96c4518236
add backout command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2153
diff
changeset
|
197 |
6448
cd3d49ffc6f6
Consistently 1 space after full stops in command doc strings
Christian Ebert <blacktrash@gmx.net>
parents:
6442
diff
changeset
|
198 Commit the backed out changes as a new changeset. The new |
2254
827fcfe88b14
backout command: better help.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2245
diff
changeset
|
199 changeset is a child of the backed out changeset. |
2158
ec96c4518236
add backout command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2153
diff
changeset
|
200 |
8779
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
201 If you backout a changeset other than the tip, a new head is |
6448
cd3d49ffc6f6
Consistently 1 space after full stops in command doc strings
Christian Ebert <blacktrash@gmx.net>
parents:
6442
diff
changeset
|
202 created. This head will be the new tip and you should merge this |
8779
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
203 backout changeset with another head. |
2254
827fcfe88b14
backout command: better help.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2245
diff
changeset
|
204 |
827fcfe88b14
backout command: better help.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2245
diff
changeset
|
205 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
|
206 before starting the backout, then merges the new head with that |
8004
d5b1b846f277
commands: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
207 changeset afterwards. This saves you from doing the merge by hand. |
d5b1b846f277
commands: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
208 The result of this merge is not committed, as with a normal merge. |
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
|
209 |
8540
f0733f11b566
commands: remove unnecessary quotes in backout help
Martin Geisler <mg@lazybytes.net>
parents:
8533
diff
changeset
|
210 See 'hg help dates' for a list of formats valid for -d/--date. |
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
|
211 ''' |
4450
8fa54b9c6c5a
accept -r REV in more places
Daniel Holth <dholth@fastmail.fm>
parents:
4445
diff
changeset
|
212 if rev and node: |
8fa54b9c6c5a
accept -r REV in more places
Daniel Holth <dholth@fastmail.fm>
parents:
4445
diff
changeset
|
213 raise util.Abort(_("please specify just one revision")) |
8fa54b9c6c5a
accept -r REV in more places
Daniel Holth <dholth@fastmail.fm>
parents:
4445
diff
changeset
|
214 |
8fa54b9c6c5a
accept -r REV in more places
Daniel Holth <dholth@fastmail.fm>
parents:
4445
diff
changeset
|
215 if not rev: |
8fa54b9c6c5a
accept -r REV in more places
Daniel Holth <dholth@fastmail.fm>
parents:
4445
diff
changeset
|
216 rev = node |
2158
ec96c4518236
add backout command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2153
diff
changeset
|
217 |
4726
f6e961c0155b
Fix and test 'hg backout' without or with too many revisions.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4718
diff
changeset
|
218 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
|
219 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
|
220 |
6139
989467e8e3a9
Fix bad behaviour when specifying an invalid date (issue700)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6134
diff
changeset
|
221 date = opts.get('date') |
989467e8e3a9
Fix bad behaviour when specifying an invalid date (issue700)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6134
diff
changeset
|
222 if date: |
989467e8e3a9
Fix bad behaviour when specifying an invalid date (issue700)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6134
diff
changeset
|
223 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
|
224 |
4549
0c61124ad877
dispatch: move dispatching code to cmdutil
Matt Mackall <mpm@selenic.com>
parents:
4548
diff
changeset
|
225 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
|
226 node = repo.lookup(rev) |
be367cbafe70
cmdutil: make bail_if_changed bail on uncommitted merge
Matt Mackall <mpm@selenic.com>
parents:
5688
diff
changeset
|
227 |
2158
ec96c4518236
add backout command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2153
diff
changeset
|
228 op1, op2 = repo.dirstate.parents() |
5568
de620356064f
backout: disallow across branches (issue655)
Matt Mackall <mpm@selenic.com>
parents:
5542
diff
changeset
|
229 a = repo.changelog.ancestor(op1, node) |
de620356064f
backout: disallow across branches (issue655)
Matt Mackall <mpm@selenic.com>
parents:
5542
diff
changeset
|
230 if a != node: |
8779
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
231 raise util.Abort(_('cannot backout change on a different branch')) |
5568
de620356064f
backout: disallow across branches (issue655)
Matt Mackall <mpm@selenic.com>
parents:
5542
diff
changeset
|
232 |
2614
8ba1c31f6864
backout: allow backout of merge changeset with --parent option.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2613
diff
changeset
|
233 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
|
234 if p1 == nullid: |
8779
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
235 raise util.Abort(_('cannot backout a change with no parents')) |
2158
ec96c4518236
add backout command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2153
diff
changeset
|
236 if p2 != nullid: |
7131
23bd7383891c
commands: optional options where possible
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7126
diff
changeset
|
237 if not opts.get('parent'): |
8779
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
238 raise util.Abort(_('cannot backout a merge changeset without ' |
2614
8ba1c31f6864
backout: allow backout of merge changeset with --parent option.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2613
diff
changeset
|
239 '--parent')) |
8ba1c31f6864
backout: allow backout of merge changeset with --parent option.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2613
diff
changeset
|
240 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
|
241 if p not in (p1, p2): |
3679
2956948b81f3
fix warnings generated by pygettext.py.
Marcos Chaves <marcos.nospam@gmail.com>
parents:
3673
diff
changeset
|
242 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
|
243 (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
|
244 parent = p |
8ba1c31f6864
backout: allow backout of merge changeset with --parent option.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2613
diff
changeset
|
245 else: |
7131
23bd7383891c
commands: optional options where possible
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7126
diff
changeset
|
246 if opts.get('parent'): |
2614
8ba1c31f6864
backout: allow backout of merge changeset with --parent option.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2613
diff
changeset
|
247 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
|
248 parent = p1 |
5568
de620356064f
backout: disallow across branches (issue655)
Matt Mackall <mpm@selenic.com>
parents:
5542
diff
changeset
|
249 |
6423
fb374b1b3911
backout: reverse changeset belongs on current branch
Matt Mackall <mpm@selenic.com>
parents:
6385
diff
changeset
|
250 # the backout should appear on the same branch |
fb374b1b3911
backout: reverse changeset belongs on current branch
Matt Mackall <mpm@selenic.com>
parents:
6385
diff
changeset
|
251 branch = repo.dirstate.branch() |
2808
30f59f4a327e
Introduce update helper functions: update, merge, clean, and revert
Matt Mackall <mpm@selenic.com>
parents:
2806
diff
changeset
|
252 hg.clean(repo, node, show_stats=False) |
6423
fb374b1b3911
backout: reverse changeset belongs on current branch
Matt Mackall <mpm@selenic.com>
parents:
6385
diff
changeset
|
253 repo.dirstate.setbranch(branch) |
2158
ec96c4518236
add backout command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2153
diff
changeset
|
254 revert_opts = opts.copy() |
3814
120be84f33de
Add --date support to update and revert
Matt Mackall <mpm@selenic.com>
parents:
3813
diff
changeset
|
255 revert_opts['date'] = None |
2982
890e285c52a1
revert: require --all to revert all files.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2963
diff
changeset
|
256 revert_opts['all'] = True |
2158
ec96c4518236
add backout command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2153
diff
changeset
|
257 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
|
258 revert_opts['no_backup'] = None |
2158
ec96c4518236
add backout command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2153
diff
changeset
|
259 revert(ui, repo, **revert_opts) |
ec96c4518236
add backout command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2153
diff
changeset
|
260 commit_opts = opts.copy() |
ec96c4518236
add backout command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2153
diff
changeset
|
261 commit_opts['addremove'] = False |
2159
5c34b98ad6b1
Small cleanups to backout command:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2158
diff
changeset
|
262 if not commit_opts['message'] and not commit_opts['logfile']: |
9183
d0225fa2f6c4
do not translate commit messages
Martin Geisler <mg@lazybytes.net>
parents:
9128
diff
changeset
|
263 # we don't translate commit messages |
9197
a05aa192a00a
commands: remove ineffective parenthesis
Martin Geisler <mg@lazybytes.net>
parents:
9196
diff
changeset
|
264 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
|
265 commit_opts['force_editor'] = True |
2158
ec96c4518236
add backout command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2153
diff
changeset
|
266 commit(ui, repo, **commit_opts) |
ec96c4518236
add backout command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2153
diff
changeset
|
267 def nice(node): |
ec96c4518236
add backout command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2153
diff
changeset
|
268 return '%d:%s' % (repo.changelog.rev(node), short(node)) |
ec96c4518236
add backout command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2153
diff
changeset
|
269 ui.status(_('changeset %s backs out changeset %s\n') % |
ec96c4518236
add backout command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2153
diff
changeset
|
270 (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
|
271 if op1 != node: |
6161
bc1ba9124799
Reverse the way backout is doing the merge
Gilles Moris <gilles.moris@free.fr>
parents:
6146
diff
changeset
|
272 hg.clean(repo, op1, show_stats=False) |
7131
23bd7383891c
commands: optional options where possible
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7126
diff
changeset
|
273 if opts.get('merge'): |
10282
08a0f04b56bd
many, many trivial check-code fixups
Matt Mackall <mpm@selenic.com>
parents:
10270
diff
changeset
|
274 ui.status(_('merging with changeset %s\n') |
08a0f04b56bd
many, many trivial check-code fixups
Matt Mackall <mpm@selenic.com>
parents:
10270
diff
changeset
|
275 % nice(repo.changelog.tip())) |
6161
bc1ba9124799
Reverse the way backout is doing the merge
Gilles Moris <gilles.moris@free.fr>
parents:
6146
diff
changeset
|
276 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
|
277 else: |
9c660e691e90
print message after backout that tells that backout adds new head.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2482
diff
changeset
|
278 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
|
279 '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
|
280 ui.status(_('(use "backout --merge" ' |
0aa458261901
fix hg backup option recommendation for auto-merge
Christian Ebert <blacktrash@gmx.net>
parents:
2760
diff
changeset
|
281 'if you want to auto-merge)\n')) |
2158
ec96c4518236
add backout command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2153
diff
changeset
|
282 |
7227
e1afb50ec2aa
bisect: ability to check revision with command
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7213
diff
changeset
|
283 def bisect(ui, repo, rev=None, extra=None, command=None, |
5775
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
284 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
|
285 """subdivision search of changesets |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
286 |
8004
d5b1b846f277
commands: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
287 This command helps to find changesets which introduce problems. To |
d5b1b846f277
commands: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
288 use, mark the earliest changeset you know exhibits the problem as |
d5b1b846f277
commands: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
289 bad, then mark the latest changeset which is free from the problem |
d5b1b846f277
commands: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
290 as good. Bisect will update your working directory to a revision |
8033
aeb4a5c7a28e
commands: consistently write switches as -a/--abc
Martin Geisler <mg@lazybytes.net>
parents:
8032
diff
changeset
|
291 for testing (unless the -U/--noupdate option is specified). Once |
8779
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
292 you have performed tests, mark the working directory as good or |
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
293 bad, and bisect will either update to another candidate changeset |
6928
1a4c66d741a2
bisect: expand help text to explain REV argument and --noupdate
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
6858
diff
changeset
|
294 or announce that it has found the bad revision. |
7184
380fda3eed13
clean up trailing spaces
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
7037
diff
changeset
|
295 |
6928
1a4c66d741a2
bisect: expand help text to explain REV argument and --noupdate
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
6858
diff
changeset
|
296 As a shortcut, you can also use the revision argument to mark a |
1a4c66d741a2
bisect: expand help text to explain REV argument and --noupdate
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
6858
diff
changeset
|
297 revision as good or bad without checking it out first. |
7227
e1afb50ec2aa
bisect: ability to check revision with command
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7213
diff
changeset
|
298 |
8779
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
299 If you supply a command, it will be used for automatic bisection. |
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
300 Its exit status will be used to mark revisions as good or bad: |
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
301 status 0 means good, 125 means to skip the revision, 127 |
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
302 (command not found) will abort the bisection, and any other |
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
303 non-zero exit status means the revision is bad. |
5775
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
304 """ |
7227
e1afb50ec2aa
bisect: ability to check revision with command
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7213
diff
changeset
|
305 def print_result(nodes, good): |
5775
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
306 displayer = cmdutil.show_changeset(ui, repo, {}) |
6858
8f256bf98219
Add support for multiple possible bisect results (issue1228, issue1182)
Bernhard Leiner <bleiner@gmail.com>
parents:
6842
diff
changeset
|
307 if len(nodes) == 1: |
8f256bf98219
Add support for multiple possible bisect results (issue1228, issue1182)
Bernhard Leiner <bleiner@gmail.com>
parents:
6842
diff
changeset
|
308 # narrowed it down to a single revision |
8088
bdeb380a10de
commands, i18n: avoid untranslated strings as message parameters
Wagner Bruna <wbruna@yahoo.com>
parents:
8042
diff
changeset
|
309 if good: |
bdeb380a10de
commands, i18n: avoid untranslated strings as message parameters
Wagner Bruna <wbruna@yahoo.com>
parents:
8042
diff
changeset
|
310 ui.write(_("The first good revision is:\n")) |
bdeb380a10de
commands, i18n: avoid untranslated strings as message parameters
Wagner Bruna <wbruna@yahoo.com>
parents:
8042
diff
changeset
|
311 else: |
bdeb380a10de
commands, i18n: avoid untranslated strings as message parameters
Wagner Bruna <wbruna@yahoo.com>
parents:
8042
diff
changeset
|
312 ui.write(_("The first bad revision is:\n")) |
7369
87158be081b8
cmdutil: use change contexts for cset-printer and cset-templater
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
7364
diff
changeset
|
313 displayer.show(repo[nodes[0]]) |
6858
8f256bf98219
Add support for multiple possible bisect results (issue1228, issue1182)
Bernhard Leiner <bleiner@gmail.com>
parents:
6842
diff
changeset
|
314 else: |
8f256bf98219
Add support for multiple possible bisect results (issue1228, issue1182)
Bernhard Leiner <bleiner@gmail.com>
parents:
6842
diff
changeset
|
315 # multiple possible revisions |
8088
bdeb380a10de
commands, i18n: avoid untranslated strings as message parameters
Wagner Bruna <wbruna@yahoo.com>
parents:
8042
diff
changeset
|
316 if good: |
bdeb380a10de
commands, i18n: avoid untranslated strings as message parameters
Wagner Bruna <wbruna@yahoo.com>
parents:
8042
diff
changeset
|
317 ui.write(_("Due to skipped revisions, the first " |
bdeb380a10de
commands, i18n: avoid untranslated strings as message parameters
Wagner Bruna <wbruna@yahoo.com>
parents:
8042
diff
changeset
|
318 "good revision could be any of:\n")) |
bdeb380a10de
commands, i18n: avoid untranslated strings as message parameters
Wagner Bruna <wbruna@yahoo.com>
parents:
8042
diff
changeset
|
319 else: |
bdeb380a10de
commands, i18n: avoid untranslated strings as message parameters
Wagner Bruna <wbruna@yahoo.com>
parents:
8042
diff
changeset
|
320 ui.write(_("Due to skipped revisions, the first " |
bdeb380a10de
commands, i18n: avoid untranslated strings as message parameters
Wagner Bruna <wbruna@yahoo.com>
parents:
8042
diff
changeset
|
321 "bad revision could be any of:\n")) |
6858
8f256bf98219
Add support for multiple possible bisect results (issue1228, issue1182)
Bernhard Leiner <bleiner@gmail.com>
parents:
6842
diff
changeset
|
322 for n in nodes: |
7369
87158be081b8
cmdutil: use change contexts for cset-printer and cset-templater
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
7364
diff
changeset
|
323 displayer.show(repo[n]) |
10152
56284451a22c
Added support for templatevar "footer" to cmdutil.py
Robert Bachmann <rbachm@gmail.com>
parents:
10111
diff
changeset
|
324 displayer.close() |
7227
e1afb50ec2aa
bisect: ability to check revision with command
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7213
diff
changeset
|
325 |
e1afb50ec2aa
bisect: ability to check revision with command
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7213
diff
changeset
|
326 def check_state(state, interactive=True): |
e1afb50ec2aa
bisect: ability to check revision with command
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7213
diff
changeset
|
327 if not state['good'] or not state['bad']: |
e1afb50ec2aa
bisect: ability to check revision with command
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7213
diff
changeset
|
328 if (good or bad or skip or reset) and interactive: |
e1afb50ec2aa
bisect: ability to check revision with command
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7213
diff
changeset
|
329 return |
e1afb50ec2aa
bisect: ability to check revision with command
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7213
diff
changeset
|
330 if not state['good']: |
e1afb50ec2aa
bisect: ability to check revision with command
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7213
diff
changeset
|
331 raise util.Abort(_('cannot bisect (no known good revisions)')) |
e1afb50ec2aa
bisect: ability to check revision with command
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7213
diff
changeset
|
332 else: |
e1afb50ec2aa
bisect: ability to check revision with command
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7213
diff
changeset
|
333 raise util.Abort(_('cannot bisect (no known bad revisions)')) |
e1afb50ec2aa
bisect: ability to check revision with command
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7213
diff
changeset
|
334 return True |
e1afb50ec2aa
bisect: ability to check revision with command
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7213
diff
changeset
|
335 |
e1afb50ec2aa
bisect: ability to check revision with command
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7213
diff
changeset
|
336 # backward compatibility |
e1afb50ec2aa
bisect: ability to check revision with command
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7213
diff
changeset
|
337 if rev in "good bad reset init".split(): |
e1afb50ec2aa
bisect: ability to check revision with command
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7213
diff
changeset
|
338 ui.warn(_("(use of 'hg bisect <cmd>' is deprecated)\n")) |
e1afb50ec2aa
bisect: ability to check revision with command
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7213
diff
changeset
|
339 cmd, rev, extra = rev, extra, None |
e1afb50ec2aa
bisect: ability to check revision with command
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7213
diff
changeset
|
340 if cmd == "good": |
e1afb50ec2aa
bisect: ability to check revision with command
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7213
diff
changeset
|
341 good = True |
e1afb50ec2aa
bisect: ability to check revision with command
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7213
diff
changeset
|
342 elif cmd == "bad": |
e1afb50ec2aa
bisect: ability to check revision with command
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7213
diff
changeset
|
343 bad = True |
e1afb50ec2aa
bisect: ability to check revision with command
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7213
diff
changeset
|
344 else: |
e1afb50ec2aa
bisect: ability to check revision with command
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7213
diff
changeset
|
345 reset = True |
e1afb50ec2aa
bisect: ability to check revision with command
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7213
diff
changeset
|
346 elif extra or good + bad + skip + reset + bool(command) > 1: |
e1afb50ec2aa
bisect: ability to check revision with command
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7213
diff
changeset
|
347 raise util.Abort(_('incompatible arguments')) |
e1afb50ec2aa
bisect: ability to check revision with command
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7213
diff
changeset
|
348 |
e1afb50ec2aa
bisect: ability to check revision with command
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7213
diff
changeset
|
349 if reset: |
e1afb50ec2aa
bisect: ability to check revision with command
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7213
diff
changeset
|
350 p = repo.join("bisect.state") |
e1afb50ec2aa
bisect: ability to check revision with command
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7213
diff
changeset
|
351 if os.path.exists(p): |
e1afb50ec2aa
bisect: ability to check revision with command
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7213
diff
changeset
|
352 os.unlink(p) |
e1afb50ec2aa
bisect: ability to check revision with command
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7213
diff
changeset
|
353 return |
e1afb50ec2aa
bisect: ability to check revision with command
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7213
diff
changeset
|
354 |
e1afb50ec2aa
bisect: ability to check revision with command
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7213
diff
changeset
|
355 state = hbisect.load_state(repo) |
e1afb50ec2aa
bisect: ability to check revision with command
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7213
diff
changeset
|
356 |
e1afb50ec2aa
bisect: ability to check revision with command
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7213
diff
changeset
|
357 if command: |
e1afb50ec2aa
bisect: ability to check revision with command
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7213
diff
changeset
|
358 changesets = 1 |
7590
e5703ec08e64
bisect: improve hg bisect -c (relative paths, error handling)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
7570
diff
changeset
|
359 try: |
e5703ec08e64
bisect: improve hg bisect -c (relative paths, error handling)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
7570
diff
changeset
|
360 while changesets: |
e5703ec08e64
bisect: improve hg bisect -c (relative paths, error handling)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
7570
diff
changeset
|
361 # update state |
9584
17da88da1abd
bisect: use util.system and fix good/bad when using -c
Matt Mackall <mpm@selenic.com>
parents:
9569
diff
changeset
|
362 status = util.system(command) |
7590
e5703ec08e64
bisect: improve hg bisect -c (relative paths, error handling)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
7570
diff
changeset
|
363 if status == 125: |
e5703ec08e64
bisect: improve hg bisect -c (relative paths, error handling)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
7570
diff
changeset
|
364 transition = "skip" |
e5703ec08e64
bisect: improve hg bisect -c (relative paths, error handling)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
7570
diff
changeset
|
365 elif status == 0: |
e5703ec08e64
bisect: improve hg bisect -c (relative paths, error handling)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
7570
diff
changeset
|
366 transition = "good" |
e5703ec08e64
bisect: improve hg bisect -c (relative paths, error handling)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
7570
diff
changeset
|
367 # status < 0 means process was killed |
e5703ec08e64
bisect: improve hg bisect -c (relative paths, error handling)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
7570
diff
changeset
|
368 elif status == 127: |
e5703ec08e64
bisect: improve hg bisect -c (relative paths, error handling)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
7570
diff
changeset
|
369 raise util.Abort(_("failed to execute %s") % command) |
e5703ec08e64
bisect: improve hg bisect -c (relative paths, error handling)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
7570
diff
changeset
|
370 elif status < 0: |
e5703ec08e64
bisect: improve hg bisect -c (relative paths, error handling)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
7570
diff
changeset
|
371 raise util.Abort(_("%s killed") % command) |
e5703ec08e64
bisect: improve hg bisect -c (relative paths, error handling)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
7570
diff
changeset
|
372 else: |
e5703ec08e64
bisect: improve hg bisect -c (relative paths, error handling)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
7570
diff
changeset
|
373 transition = "bad" |
8805
2726a6df11e9
bisect: improve --command output
Patrick Mezard <pmezard@gmail.com>
parents:
8802
diff
changeset
|
374 ctx = repo[rev or '.'] |
2726a6df11e9
bisect: improve --command output
Patrick Mezard <pmezard@gmail.com>
parents:
8802
diff
changeset
|
375 state[transition].append(ctx.node()) |
2726a6df11e9
bisect: improve --command output
Patrick Mezard <pmezard@gmail.com>
parents:
8802
diff
changeset
|
376 ui.status(_('Changeset %d:%s: %s\n') % (ctx, ctx, transition)) |
7590
e5703ec08e64
bisect: improve hg bisect -c (relative paths, error handling)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
7570
diff
changeset
|
377 check_state(state, interactive=False) |
e5703ec08e64
bisect: improve hg bisect -c (relative paths, error handling)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
7570
diff
changeset
|
378 # bisect |
e5703ec08e64
bisect: improve hg bisect -c (relative paths, error handling)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
7570
diff
changeset
|
379 nodes, changesets, good = hbisect.bisect(repo.changelog, state) |
e5703ec08e64
bisect: improve hg bisect -c (relative paths, error handling)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
7570
diff
changeset
|
380 # update to next check |
e5703ec08e64
bisect: improve hg bisect -c (relative paths, error handling)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
7570
diff
changeset
|
381 cmdutil.bail_if_changed(repo) |
e5703ec08e64
bisect: improve hg bisect -c (relative paths, error handling)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
7570
diff
changeset
|
382 hg.clean(repo, nodes[0], show_stats=False) |
e5703ec08e64
bisect: improve hg bisect -c (relative paths, error handling)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
7570
diff
changeset
|
383 finally: |
e5703ec08e64
bisect: improve hg bisect -c (relative paths, error handling)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
7570
diff
changeset
|
384 hbisect.save_state(repo, state) |
9584
17da88da1abd
bisect: use util.system and fix good/bad when using -c
Matt Mackall <mpm@selenic.com>
parents:
9569
diff
changeset
|
385 return print_result(nodes, good) |
7227
e1afb50ec2aa
bisect: ability to check revision with command
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7213
diff
changeset
|
386 |
e1afb50ec2aa
bisect: ability to check revision with command
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7213
diff
changeset
|
387 # update state |
e1afb50ec2aa
bisect: ability to check revision with command
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7213
diff
changeset
|
388 node = repo.lookup(rev or '.') |
9689
57cee011ffcb
bisect: no need to save the state if it wasn't changed
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
9687
diff
changeset
|
389 if good or bad or skip: |
57cee011ffcb
bisect: no need to save the state if it wasn't changed
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
9687
diff
changeset
|
390 if good: |
57cee011ffcb
bisect: no need to save the state if it wasn't changed
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
9687
diff
changeset
|
391 state['good'].append(node) |
57cee011ffcb
bisect: no need to save the state if it wasn't changed
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
9687
diff
changeset
|
392 elif bad: |
57cee011ffcb
bisect: no need to save the state if it wasn't changed
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
9687
diff
changeset
|
393 state['bad'].append(node) |
57cee011ffcb
bisect: no need to save the state if it wasn't changed
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
9687
diff
changeset
|
394 elif skip: |
57cee011ffcb
bisect: no need to save the state if it wasn't changed
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
9687
diff
changeset
|
395 state['skip'].append(node) |
57cee011ffcb
bisect: no need to save the state if it wasn't changed
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
9687
diff
changeset
|
396 hbisect.save_state(repo, state) |
7227
e1afb50ec2aa
bisect: ability to check revision with command
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7213
diff
changeset
|
397 |
e1afb50ec2aa
bisect: ability to check revision with command
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7213
diff
changeset
|
398 if not check_state(state): |
e1afb50ec2aa
bisect: ability to check revision with command
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7213
diff
changeset
|
399 return |
e1afb50ec2aa
bisect: ability to check revision with command
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7213
diff
changeset
|
400 |
e1afb50ec2aa
bisect: ability to check revision with command
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7213
diff
changeset
|
401 # actually bisect |
e1afb50ec2aa
bisect: ability to check revision with command
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7213
diff
changeset
|
402 nodes, changesets, good = hbisect.bisect(repo.changelog, state) |
e1afb50ec2aa
bisect: ability to check revision with command
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7213
diff
changeset
|
403 if changesets == 0: |
e1afb50ec2aa
bisect: ability to check revision with command
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7213
diff
changeset
|
404 print_result(nodes, good) |
6858
8f256bf98219
Add support for multiple possible bisect results (issue1228, issue1182)
Bernhard Leiner <bleiner@gmail.com>
parents:
6842
diff
changeset
|
405 else: |
8f256bf98219
Add support for multiple possible bisect results (issue1228, issue1182)
Bernhard Leiner <bleiner@gmail.com>
parents:
6842
diff
changeset
|
406 assert len(nodes) == 1 # only a single node can be tested next |
8f256bf98219
Add support for multiple possible bisect results (issue1228, issue1182)
Bernhard Leiner <bleiner@gmail.com>
parents:
6842
diff
changeset
|
407 node = nodes[0] |
5775
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
408 # compute the approximate number of remaining tests |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
409 tests, size = 0, 2 |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
410 while size <= changesets: |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
411 tests, size = tests + 1, size * 2 |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
412 rev = repo.changelog.rev(node) |
9012
ada93c6bf554
bisect: fix format specifiers for integers
C?dric Duval <cedricduval@free.fr>
parents:
8995
diff
changeset
|
413 ui.write(_("Testing changeset %d:%s " |
ada93c6bf554
bisect: fix format specifiers for integers
C?dric Duval <cedricduval@free.fr>
parents:
8995
diff
changeset
|
414 "(%d changesets remaining, ~%d tests)\n") |
6217
fe8dbbe9520d
Avoid importing mercurial.node/mercurial.repo stuff from mercurial.hg
Joel Rosdahl <joel@rosdahl.net>
parents:
6212
diff
changeset
|
415 % (rev, short(node), changesets, tests)) |
5775
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
416 if not noupdate: |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
417 cmdutil.bail_if_changed(repo) |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
418 return hg.clean(repo, node) |
2dd202a6e15b
bisect: make bisect a built-in command
Matt Mackall <mpm@selenic.com>
parents:
5764
diff
changeset
|
419 |
4202
b2873c587b1a
branch: require --force to shadow existing branches
Brendan Cully <brendan@kublai.com>
parents:
4200
diff
changeset
|
420 def branch(ui, repo, label=None, **opts): |
3502
8dc14d630b29
add branch and branches commands
Matt Mackall <mpm@selenic.com>
parents:
3472
diff
changeset
|
421 """set or show the current branch name |
8dc14d630b29
add branch and branches commands
Matt Mackall <mpm@selenic.com>
parents:
3472
diff
changeset
|
422 |
4601
e69da61e467e
Notify the user that hg branch does not create a branch until commit
Brendan Cully <brendan@kublai.com>
parents:
4593
diff
changeset
|
423 With no argument, show the current branch name. With one argument, |
8779
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
424 set the working directory branch name (the branch will not exist |
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
425 in the repository until the next commit). Standard practice |
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
426 recommends that primary development take place on the 'default' |
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
427 branch. |
4202
b2873c587b1a
branch: require --force to shadow existing branches
Brendan Cully <brendan@kublai.com>
parents:
4200
diff
changeset
|
428 |
8033
aeb4a5c7a28e
commands: consistently write switches as -a/--abc
Martin Geisler <mg@lazybytes.net>
parents:
8032
diff
changeset
|
429 Unless -f/--force is specified, branch will not let you set a |
8779
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
430 branch name that already exists, even if it's inactive. |
5999
d1fe1a4eb2b7
Mention 'hg update' to switch branches in help for branch and branches.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5998
diff
changeset
|
431 |
8033
aeb4a5c7a28e
commands: consistently write switches as -a/--abc
Martin Geisler <mg@lazybytes.net>
parents:
8032
diff
changeset
|
432 Use -C/--clean to reset the working directory branch to that of |
aeb4a5c7a28e
commands: consistently write switches as -a/--abc
Martin Geisler <mg@lazybytes.net>
parents:
8032
diff
changeset
|
433 the parent of the working directory, negating a previous branch |
8004
d5b1b846f277
commands: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
434 change. |
7006
92d44ec32430
branch: added more support for named branches
Sune Foldager <cryo@cyanite.org>
parents:
7003
diff
changeset
|
435 |
8992
ff7d899a7a71
help: add more pointers to commit --close-branch
Matt Mackall <mpm@selenic.com>
parents:
8991
diff
changeset
|
436 Use the command 'hg update' to switch to an existing branch. Use |
ff7d899a7a71
help: add more pointers to commit --close-branch
Matt Mackall <mpm@selenic.com>
parents:
8991
diff
changeset
|
437 'hg commit --close-branch' to mark this branch as closed. |
3502
8dc14d630b29
add branch and branches commands
Matt Mackall <mpm@selenic.com>
parents:
3472
diff
changeset
|
438 """ |
8dc14d630b29
add branch and branches commands
Matt Mackall <mpm@selenic.com>
parents:
3472
diff
changeset
|
439 |
7006
92d44ec32430
branch: added more support for named branches
Sune Foldager <cryo@cyanite.org>
parents:
7003
diff
changeset
|
440 if opts.get('clean'): |
92d44ec32430
branch: added more support for named branches
Sune Foldager <cryo@cyanite.org>
parents:
7003
diff
changeset
|
441 label = repo[None].parents()[0].branch() |
92d44ec32430
branch: added more support for named branches
Sune Foldager <cryo@cyanite.org>
parents:
7003
diff
changeset
|
442 repo.dirstate.setbranch(label) |
92d44ec32430
branch: added more support for named branches
Sune Foldager <cryo@cyanite.org>
parents:
7003
diff
changeset
|
443 ui.status(_('reset working directory to branch %s\n') % label) |
92d44ec32430
branch: added more support for named branches
Sune Foldager <cryo@cyanite.org>
parents:
7003
diff
changeset
|
444 elif label: |
10315
be324d31b6c5
commands: label from user is in local encoding
Steve Borho <steve@borho.org>
parents:
10269
diff
changeset
|
445 utflabel = encoding.fromlocal(label) |
be324d31b6c5
commands: label from user is in local encoding
Steve Borho <steve@borho.org>
parents:
10269
diff
changeset
|
446 if not opts.get('force') and utflabel in repo.branchtags(): |
6747
f6c00b17387c
use repo[changeid] to get a changectx
Matt Mackall <mpm@selenic.com>
parents:
6746
diff
changeset
|
447 if label not in [p.branch() for p in repo.parents()]: |
4202
b2873c587b1a
branch: require --force to shadow existing branches
Brendan Cully <brendan@kublai.com>
parents:
4200
diff
changeset
|
448 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
|
449 ' (use --force to override)')) |
10315
be324d31b6c5
commands: label from user is in local encoding
Steve Borho <steve@borho.org>
parents:
10269
diff
changeset
|
450 repo.dirstate.setbranch(utflabel) |
4601
e69da61e467e
Notify the user that hg branch does not create a branch until commit
Brendan Cully <brendan@kublai.com>
parents:
4593
diff
changeset
|
451 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
|
452 else: |
7948
de377b1a9a84
move encoding bits from util to encoding
Matt Mackall <mpm@selenic.com>
parents:
7942
diff
changeset
|
453 ui.write("%s\n" % encoding.tolocal(repo.dirstate.branch())) |
3502
8dc14d630b29
add branch and branches commands
Matt Mackall <mpm@selenic.com>
parents:
3472
diff
changeset
|
454 |
8991
7e0b31dfc66f
branches: add --closed flag for consistency with heads
Matt Mackall <mpm@selenic.com>
parents:
8958
diff
changeset
|
455 def branches(ui, repo, active=False, closed=False): |
3502
8dc14d630b29
add branch and branches commands
Matt Mackall <mpm@selenic.com>
parents:
3472
diff
changeset
|
456 """list repository named branches |
8dc14d630b29
add branch and branches commands
Matt Mackall <mpm@selenic.com>
parents:
3472
diff
changeset
|
457 |
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
|
458 List the repository's named branches, indicating which ones are |
8991
7e0b31dfc66f
branches: add --closed flag for consistency with heads
Matt Mackall <mpm@selenic.com>
parents:
8958
diff
changeset
|
459 inactive. If -c/--closed is specified, also list branches which have |
7e0b31dfc66f
branches: add --closed flag for consistency with heads
Matt Mackall <mpm@selenic.com>
parents:
8958
diff
changeset
|
460 been marked closed (see hg commit --close-branch). |
7e0b31dfc66f
branches: add --closed flag for consistency with heads
Matt Mackall <mpm@selenic.com>
parents:
8958
diff
changeset
|
461 |
7e0b31dfc66f
branches: add --closed flag for consistency with heads
Matt Mackall <mpm@selenic.com>
parents:
8958
diff
changeset
|
462 If -a/--active is specified, only show active branches. A branch |
7e0b31dfc66f
branches: add --closed flag for consistency with heads
Matt Mackall <mpm@selenic.com>
parents:
8958
diff
changeset
|
463 is considered active if it contains repository 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
|
464 |
d1fe1a4eb2b7
Mention 'hg update' to switch branches in help for branch and branches.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5998
diff
changeset
|
465 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
|
466 """ |
8991
7e0b31dfc66f
branches: add --closed flag for consistency with heads
Matt Mackall <mpm@selenic.com>
parents:
8958
diff
changeset
|
467 |
6631
a2b13cac0922
Active branches fix (issue1104)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
6625
diff
changeset
|
468 hexfunc = ui.debugflag and hex or short |
9675
ee913987e4b0
localrepo/branchcache: remove lbranchmap(), convert users to use utf-8 names
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
9665
diff
changeset
|
469 activebranches = [repo[n].branch() for n in repo.heads()] |
8796
2bcef677a6c3
localrepo: remove 'closed' argument to heads(...) function
John Mulligan <phlogistonjohn@asynchrono.us>
parents:
8779
diff
changeset
|
470 def testactive(tag, node): |
2bcef677a6c3
localrepo: remove 'closed' argument to heads(...) function
John Mulligan <phlogistonjohn@asynchrono.us>
parents:
8779
diff
changeset
|
471 realhead = tag in activebranches |
2bcef677a6c3
localrepo: remove 'closed' argument to heads(...) function
John Mulligan <phlogistonjohn@asynchrono.us>
parents:
8779
diff
changeset
|
472 open = node in repo.branchheads(tag, closed=False) |
2bcef677a6c3
localrepo: remove 'closed' argument to heads(...) function
John Mulligan <phlogistonjohn@asynchrono.us>
parents:
8779
diff
changeset
|
473 return realhead and open |
2bcef677a6c3
localrepo: remove 'closed' argument to heads(...) function
John Mulligan <phlogistonjohn@asynchrono.us>
parents:
8779
diff
changeset
|
474 branches = sorted([(testactive(tag, node), repo.changelog.rev(node), tag) |
8210
344751cd8cb8
replace various uses of list.reverse()
Matt Mackall <mpm@selenic.com>
parents:
8209
diff
changeset
|
475 for tag, node in repo.branchtags().items()], |
344751cd8cb8
replace various uses of list.reverse()
Matt Mackall <mpm@selenic.com>
parents:
8209
diff
changeset
|
476 reverse=True) |
6631
a2b13cac0922
Active branches fix (issue1104)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
6625
diff
changeset
|
477 |
a2b13cac0922
Active branches fix (issue1104)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
6625
diff
changeset
|
478 for isactive, node, tag in branches: |
a2b13cac0922
Active branches fix (issue1104)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
6625
diff
changeset
|
479 if (not active) or isactive: |
9675
ee913987e4b0
localrepo/branchcache: remove lbranchmap(), convert users to use utf-8 names
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
9665
diff
changeset
|
480 encodedtag = encoding.tolocal(tag) |
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
|
481 if ui.quiet: |
9675
ee913987e4b0
localrepo/branchcache: remove lbranchmap(), convert users to use utf-8 names
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
9665
diff
changeset
|
482 ui.write("%s\n" % encodedtag) |
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
|
483 else: |
7656
6a24fb994701
branch closing: referencing open and closed branches/heads
John Mulligan <phlogistonjohn@asynchrono.us>
parents:
7655
diff
changeset
|
484 hn = repo.lookup(node) |
6a24fb994701
branch closing: referencing open and closed branches/heads
John Mulligan <phlogistonjohn@asynchrono.us>
parents:
7655
diff
changeset
|
485 if isactive: |
6a24fb994701
branch closing: referencing open and closed branches/heads
John Mulligan <phlogistonjohn@asynchrono.us>
parents:
7655
diff
changeset
|
486 notice = '' |
6a24fb994701
branch closing: referencing open and closed branches/heads
John Mulligan <phlogistonjohn@asynchrono.us>
parents:
7655
diff
changeset
|
487 elif hn not in repo.branchheads(tag, closed=False): |
8991
7e0b31dfc66f
branches: add --closed flag for consistency with heads
Matt Mackall <mpm@selenic.com>
parents:
8958
diff
changeset
|
488 if not closed: |
7e0b31dfc66f
branches: add --closed flag for consistency with heads
Matt Mackall <mpm@selenic.com>
parents:
8958
diff
changeset
|
489 continue |
9951
9b626a63f556
commands: mark strings for translation
Martin Geisler <mg@lazybytes.net>
parents:
9894
diff
changeset
|
490 notice = _(' (closed)') |
7656
6a24fb994701
branch closing: referencing open and closed branches/heads
John Mulligan <phlogistonjohn@asynchrono.us>
parents:
7655
diff
changeset
|
491 else: |
9951
9b626a63f556
commands: mark strings for translation
Martin Geisler <mg@lazybytes.net>
parents:
9894
diff
changeset
|
492 notice = _(' (inactive)') |
9675
ee913987e4b0
localrepo/branchcache: remove lbranchmap(), convert users to use utf-8 names
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
9665
diff
changeset
|
493 rev = str(node).rjust(31 - encoding.colwidth(encodedtag)) |
ee913987e4b0
localrepo/branchcache: remove lbranchmap(), convert users to use utf-8 names
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
9665
diff
changeset
|
494 data = encodedtag, rev, hexfunc(hn), notice |
6814
88804fad71bc
branches unparseable output fix (issue1230)
Stefano Tortarolo <stefano.tortarolo@gmail.com>
parents:
6682
diff
changeset
|
495 ui.write("%s %s:%s%s\n" % data) |
3502
8dc14d630b29
add branch and branches commands
Matt Mackall <mpm@selenic.com>
parents:
3472
diff
changeset
|
496 |
2494
73ac95671788
push, outgoing, bundle: fall back to "default" if "default-push" not defined
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2493
diff
changeset
|
497 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
|
498 """create a changegroup file |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
499 |
3511
aa8f086cb141
Corrected help text for bundle.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3510
diff
changeset
|
500 Generate a compressed changegroup file collecting changesets not |
7807
bd8f44638847
help: miscellaneous language fixes
timeless <timeless@gmail.com>
parents:
7765
diff
changeset
|
501 known to be in another repository. |
3511
aa8f086cb141
Corrected help text for bundle.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3510
diff
changeset
|
502 |
10376 | 503 If you omit the destination repository, then hg assumes the |
504 destination will have all the nodes you specify with --base | |
6448
cd3d49ffc6f6
Consistently 1 space after full stops in command doc strings
Christian Ebert <blacktrash@gmx.net>
parents:
6442
diff
changeset
|
505 parameters. To create a bundle containing all changesets, use |
8903
d403cf4eb32d
help: describe bundle compression methods (issue1523)
Henrik Stuart <hg@hstuart.dk>
parents:
8902
diff
changeset
|
506 -a/--all (or --base null). |
d403cf4eb32d
help: describe bundle compression methods (issue1523)
Henrik Stuart <hg@hstuart.dk>
parents:
8902
diff
changeset
|
507 |
8958
8358cf63f612
commands: improve bundle compression methods description
Stefano Mioli <jstevie@gmail.com>
parents:
8955
diff
changeset
|
508 You can change compression method with the -t/--type option. |
8358cf63f612
commands: improve bundle compression methods description
Stefano Mioli <jstevie@gmail.com>
parents:
8955
diff
changeset
|
509 The available compression methods are: none, bzip2, and |
8903
d403cf4eb32d
help: describe bundle compression methods (issue1523)
Henrik Stuart <hg@hstuart.dk>
parents:
8902
diff
changeset
|
510 gzip (by default, bundles are compressed using bzip2). |
3511
aa8f086cb141
Corrected help text for bundle.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3510
diff
changeset
|
511 |
8004
d5b1b846f277
commands: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
512 The bundle file can then be transferred using conventional means |
d5b1b846f277
commands: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
513 and applied to another repository with the unbundle or pull |
d5b1b846f277
commands: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
514 command. This is useful when direct push and pull are not |
d5b1b846f277
commands: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
515 available or when exporting an entire repository is undesirable. |
3511
aa8f086cb141
Corrected help text for bundle.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3510
diff
changeset
|
516 |
aa8f086cb141
Corrected help text for bundle.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3510
diff
changeset
|
517 Applying bundles preserves all changeset contents including |
aa8f086cb141
Corrected help text for bundle.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3510
diff
changeset
|
518 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
|
519 """ |
3284
d89e98840b08
add -r/--rev and --base option to bundle
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3278
diff
changeset
|
520 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
|
521 if revs: |
d89e98840b08
add -r/--rev and --base option to bundle
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3278
diff
changeset
|
522 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
|
523 if opts.get('all'): |
73b1de288801
Add --all option to bundle command
John Mulligan <phlogistonjohn@yahoo.com>
parents:
6163
diff
changeset
|
524 base = ['null'] |
73b1de288801
Add --all option to bundle command
John Mulligan <phlogistonjohn@yahoo.com>
parents:
6163
diff
changeset
|
525 else: |
73b1de288801
Add --all option to bundle command
John Mulligan <phlogistonjohn@yahoo.com>
parents:
6163
diff
changeset
|
526 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
|
527 if base: |
d89e98840b08
add -r/--rev and --base option to bundle
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3278
diff
changeset
|
528 if dest: |
8669
6f0f69da003e
commands: typo in bundle abort message
Martin Geisler <mg@lazybytes.net>
parents:
8664
diff
changeset
|
529 raise util.Abort(_("--base is incompatible with specifying " |
3284
d89e98840b08
add -r/--rev and --base option to bundle
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3278
diff
changeset
|
530 "a destination")) |
3318
a225055b3b59
bundle --base: use the right set for the base
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3284
diff
changeset
|
531 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
|
532 # 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
|
533 # 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
|
534 o = [] |
8464
7af92e70bb25
revlog: use set instead of dict
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
8408
diff
changeset
|
535 has = set((nullid,)) |
3284
d89e98840b08
add -r/--rev and --base option to bundle
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3278
diff
changeset
|
536 for n in base: |
3631 | 537 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
|
538 if revs: |
3318
a225055b3b59
bundle --base: use the right set for the base
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3284
diff
changeset
|
539 visit = list(revs) |
10479
bb508b312359
bundle: exclude csets given in --base, unless they are in --rev (issue1910)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
10448
diff
changeset
|
540 has.difference_update(revs) |
3284
d89e98840b08
add -r/--rev and --base option to bundle
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3278
diff
changeset
|
541 else: |
3318
a225055b3b59
bundle --base: use the right set for the base
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3284
diff
changeset
|
542 visit = repo.changelog.heads() |
3631 | 543 seen = {} |
3318
a225055b3b59
bundle --base: use the right set for the base
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3284
diff
changeset
|
544 while visit: |
a225055b3b59
bundle --base: use the right set for the base
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3284
diff
changeset
|
545 n = visit.pop(0) |
3631 | 546 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
|
547 if len(parents) == 0: |
10479
bb508b312359
bundle: exclude csets given in --base, unless they are in --rev (issue1910)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
10448
diff
changeset
|
548 if n not in has: |
bb508b312359
bundle: exclude csets given in --base, unless they are in --rev (issue1910)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
10448
diff
changeset
|
549 o.append(n) |
3318
a225055b3b59
bundle --base: use the right set for the base
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3284
diff
changeset
|
550 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
|
551 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
|
552 if p not in seen: |
3631 | 553 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
|
554 visit.append(p) |
3284
d89e98840b08
add -r/--rev and --base option to bundle
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3278
diff
changeset
|
555 else: |
10365
d757bc0c7865
interpret repo#name url syntax as branch instead of revision
Sune Foldager <cryo@cyanite.org>
parents:
10364
diff
changeset
|
556 dest = ui.expandpath(dest or 'default-push', dest or 'default') |
10379
a78bfaf988e1
add -b/--branch option to clone, bundle, incoming, outgoing, pull, push
Sune Foldager <cryo@cyanite.org>
parents:
10376
diff
changeset
|
557 dest, branches = hg.parseurl(dest, opts.get('branch')) |
8188 | 558 other = hg.repository(cmdutil.remoteui(repo, opts), dest) |
10365
d757bc0c7865
interpret repo#name url syntax as branch instead of revision
Sune Foldager <cryo@cyanite.org>
parents:
10364
diff
changeset
|
559 revs, checkout = hg.addbranchrevs(repo, other, branches, revs) |
7131
23bd7383891c
commands: optional options where possible
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7126
diff
changeset
|
560 o = repo.findoutgoing(other, force=opts.get('force')) |
3284
d89e98840b08
add -r/--rev and --base option to bundle
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3278
diff
changeset
|
561 |
d89e98840b08
add -r/--rev and --base option to bundle
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3278
diff
changeset
|
562 if revs: |
d89e98840b08
add -r/--rev and --base option to bundle
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3278
diff
changeset
|
563 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
|
564 else: |
d89e98840b08
add -r/--rev and --base option to bundle
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3278
diff
changeset
|
565 cg = repo.changegroup(o, 'bundle') |
6570
626cb86a6523
add compression type type parameter to bundle command
Benoit Allard <benoit@aeteurope.nl>
parents:
6518
diff
changeset
|
566 |
626cb86a6523
add compression type type parameter to bundle command
Benoit Allard <benoit@aeteurope.nl>
parents:
6518
diff
changeset
|
567 bundletype = opts.get('type', 'bzip2').lower() |
626cb86a6523
add compression type type parameter to bundle command
Benoit Allard <benoit@aeteurope.nl>
parents:
6518
diff
changeset
|
568 btypes = {'none': 'HG10UN', 'bzip2': 'HG10BZ', 'gzip': 'HG10GZ'} |
626cb86a6523
add compression type type parameter to bundle command
Benoit Allard <benoit@aeteurope.nl>
parents:
6518
diff
changeset
|
569 bundletype = btypes.get(bundletype) |
626cb86a6523
add compression type type parameter to bundle command
Benoit Allard <benoit@aeteurope.nl>
parents:
6518
diff
changeset
|
570 if bundletype not in changegroup.bundletypes: |
626cb86a6523
add compression type type parameter to bundle command
Benoit Allard <benoit@aeteurope.nl>
parents:
6518
diff
changeset
|
571 raise util.Abort(_('unknown bundle type specified with --type')) |
626cb86a6523
add compression type type parameter to bundle command
Benoit Allard <benoit@aeteurope.nl>
parents:
6518
diff
changeset
|
572 |
626cb86a6523
add compression type type parameter to bundle command
Benoit Allard <benoit@aeteurope.nl>
parents:
6518
diff
changeset
|
573 changegroup.writebundle(cg, fname, bundletype) |
1218
cde6818e082a
Add preliminary support for the bundle and unbundle commands
mpm@selenic.com
parents:
1215
diff
changeset
|
574 |
1254
e6560042b7b8
Switch cat command to use walk code.
Bryan O'Sullivan <bos@serpentine.com>
parents:
1253
diff
changeset
|
575 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
|
576 """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
|
577 |
8004
d5b1b846f277
commands: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
578 Print the specified files as they were at the given revision. If |
d5b1b846f277
commands: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
579 no revision is given, the parent of the working directory is used, |
3915
3c82ab166eea
doc fix: hg tags defaults to current parent revision, too.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3914
diff
changeset
|
580 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
|
581 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
582 Output may be to a file, in which case the name of the file is |
6448
cd3d49ffc6f6
Consistently 1 space after full stops in command doc strings
Christian Ebert <blacktrash@gmx.net>
parents:
6442
diff
changeset
|
583 given using a format string. The formatting rules are the same as |
9892
4322e39bd525
commands: use field lists instead of literal blocks in docstrings
Martin Geisler <mg@lazybytes.net>
parents:
9891
diff
changeset
|
584 for the export command, with the following additions: |
4322e39bd525
commands: use field lists instead of literal blocks in docstrings
Martin Geisler <mg@lazybytes.net>
parents:
9891
diff
changeset
|
585 |
4322e39bd525
commands: use field lists instead of literal blocks in docstrings
Martin Geisler <mg@lazybytes.net>
parents:
9891
diff
changeset
|
586 :``%s``: basename of file being printed |
4322e39bd525
commands: use field lists instead of literal blocks in docstrings
Martin Geisler <mg@lazybytes.net>
parents:
9891
diff
changeset
|
587 :``%d``: dirname of file being printed, or '.' if in repository root |
4322e39bd525
commands: use field lists instead of literal blocks in docstrings
Martin Geisler <mg@lazybytes.net>
parents:
9891
diff
changeset
|
588 :``%p``: root-relative path name of file being printed |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
589 """ |
7131
23bd7383891c
commands: optional options where possible
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7126
diff
changeset
|
590 ctx = repo[opts.get('rev')] |
4697
5b2d986de0f8
cat: return an error on failure
Matt Mackall <mpm@selenic.com>
parents:
4692
diff
changeset
|
591 err = 1 |
6579
0159b7a36184
walk: pass match object to cmdutil.walk
Matt Mackall <mpm@selenic.com>
parents:
6578
diff
changeset
|
592 m = cmdutil.match(repo, (file1,) + pats, opts) |
6764 | 593 for abs in ctx.walk(m): |
7131
23bd7383891c
commands: optional options where possible
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7126
diff
changeset
|
594 fp = cmdutil.make_file(repo, opts.get('output'), ctx.node(), pathname=abs) |
6764 | 595 data = ctx[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
|
596 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
|
597 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
|
598 fp.write(data) |
4697
5b2d986de0f8
cat: return an error on failure
Matt Mackall <mpm@selenic.com>
parents:
4692
diff
changeset
|
599 err = 0 |
5b2d986de0f8
cat: return an error on failure
Matt Mackall <mpm@selenic.com>
parents:
4692
diff
changeset
|
600 return err |
248 | 601 |
698
df78d8ccac4c
Use python function instead of external 'cp' command when cloning repos.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
697
diff
changeset
|
602 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
|
603 """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
|
604 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
605 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
|
606 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
607 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
|
608 basename of the source. |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
609 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
610 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
|
611 .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
|
612 |
7942
553cef16031f
mention default branch in branch and clone help
Matt Mackall <mpm@selenic.com>
parents:
7880
diff
changeset
|
613 See 'hg help urls' for valid source format details. |
553cef16031f
mention default branch in branch and clone help
Matt Mackall <mpm@selenic.com>
parents:
7880
diff
changeset
|
614 |
9970
36760956f6d3
commands: mark "ssh://" as inline literals in help texts
Martin Geisler <mg@lazybytes.net>
parents:
9952
diff
changeset
|
615 It is possible to specify an ``ssh://`` URL as the destination, but no |
7942
553cef16031f
mention default branch in branch and clone help
Matt Mackall <mpm@selenic.com>
parents:
7880
diff
changeset
|
616 .hg/hgrc and working directory will be created on the remote side. |
9970
36760956f6d3
commands: mark "ssh://" as inline literals in help texts
Martin Geisler <mg@lazybytes.net>
parents:
9952
diff
changeset
|
617 Please see 'hg help urls' for important details about ``ssh://`` URLs. |
7942
553cef16031f
mention default branch in branch and clone help
Matt Mackall <mpm@selenic.com>
parents:
7880
diff
changeset
|
618 |
9714
2f1ab7f77ddc
clone: add option -u/--updaterev
Adrian Buehlmann <adrian@cadifra.com>
parents:
9698
diff
changeset
|
619 If the -U/--noupdate option is specified, the new clone will contain |
2f1ab7f77ddc
clone: add option -u/--updaterev
Adrian Buehlmann <adrian@cadifra.com>
parents:
9698
diff
changeset
|
620 only a repository (.hg) and no working copy (the working copy parent |
2f1ab7f77ddc
clone: add option -u/--updaterev
Adrian Buehlmann <adrian@cadifra.com>
parents:
9698
diff
changeset
|
621 will be the null changeset). Otherwise, clone will initially check |
9740
2ebe679fec21
commands: use enumerated lists in help texts
Martin Geisler <mg@lazybytes.net>
parents:
9734
diff
changeset
|
622 out (in order of precedence): |
9714
2f1ab7f77ddc
clone: add option -u/--updaterev
Adrian Buehlmann <adrian@cadifra.com>
parents:
9698
diff
changeset
|
623 |
9891
5c5a08d6f85d
commands: do not indent list in clone help string
Martin Geisler <mg@lazybytes.net>
parents:
9873
diff
changeset
|
624 a) the changeset, tag or branch specified with -u/--updaterev |
5c5a08d6f85d
commands: do not indent list in clone help string
Martin Geisler <mg@lazybytes.net>
parents:
9873
diff
changeset
|
625 b) the changeset, tag or branch given with the first -r/--rev |
10379
a78bfaf988e1
add -b/--branch option to clone, bundle, incoming, outgoing, pull, push
Sune Foldager <cryo@cyanite.org>
parents:
10376
diff
changeset
|
626 c) the branch given with the first -b/--branch |
a78bfaf988e1
add -b/--branch option to clone, bundle, incoming, outgoing, pull, push
Sune Foldager <cryo@cyanite.org>
parents:
10376
diff
changeset
|
627 d) the branch given with the url#branch source syntax |
a78bfaf988e1
add -b/--branch option to clone, bundle, incoming, outgoing, pull, push
Sune Foldager <cryo@cyanite.org>
parents:
10376
diff
changeset
|
628 e) the head of the default branch |
9714
2f1ab7f77ddc
clone: add option -u/--updaterev
Adrian Buehlmann <adrian@cadifra.com>
parents:
9698
diff
changeset
|
629 |
2f1ab7f77ddc
clone: add option -u/--updaterev
Adrian Buehlmann <adrian@cadifra.com>
parents:
9698
diff
changeset
|
630 Use 'hg clone -u . src dst' to checkout the source repository's |
2f1ab7f77ddc
clone: add option -u/--updaterev
Adrian Buehlmann <adrian@cadifra.com>
parents:
9698
diff
changeset
|
631 parent changeset (applicable for local source repositories only). |
2f1ab7f77ddc
clone: add option -u/--updaterev
Adrian Buehlmann <adrian@cadifra.com>
parents:
9698
diff
changeset
|
632 |
2f1ab7f77ddc
clone: add option -u/--updaterev
Adrian Buehlmann <adrian@cadifra.com>
parents:
9698
diff
changeset
|
633 A set of changesets (tags, or branch names) to pull may be specified |
2f1ab7f77ddc
clone: add option -u/--updaterev
Adrian Buehlmann <adrian@cadifra.com>
parents:
9698
diff
changeset
|
634 by listing each changeset (tag, or branch name) with -r/--rev. |
2f1ab7f77ddc
clone: add option -u/--updaterev
Adrian Buehlmann <adrian@cadifra.com>
parents:
9698
diff
changeset
|
635 If -r/--rev is used, the cloned repository will contain only a subset |
2f1ab7f77ddc
clone: add option -u/--updaterev
Adrian Buehlmann <adrian@cadifra.com>
parents:
9698
diff
changeset
|
636 of the changesets of the source repository. Only the set of changesets |
9806
dafbe321fc1a
clone: simplify help text
Wagner Bruna <wbruna@softwareexpress.com.br>
parents:
9747
diff
changeset
|
637 defined by all -r/--rev options (including all their ancestors) |
dafbe321fc1a
clone: simplify help text
Wagner Bruna <wbruna@softwareexpress.com.br>
parents:
9747
diff
changeset
|
638 will be pulled into the destination repository. |
9714
2f1ab7f77ddc
clone: add option -u/--updaterev
Adrian Buehlmann <adrian@cadifra.com>
parents:
9698
diff
changeset
|
639 No subsequent changesets (including subsequent tags) will be present |
2f1ab7f77ddc
clone: add option -u/--updaterev
Adrian Buehlmann <adrian@cadifra.com>
parents:
9698
diff
changeset
|
640 in the destination. |
2f1ab7f77ddc
clone: add option -u/--updaterev
Adrian Buehlmann <adrian@cadifra.com>
parents:
9698
diff
changeset
|
641 |
2f1ab7f77ddc
clone: add option -u/--updaterev
Adrian Buehlmann <adrian@cadifra.com>
parents:
9698
diff
changeset
|
642 Using -r/--rev (or 'clone src#rev dest') implies --pull, even for |
2f1ab7f77ddc
clone: add option -u/--updaterev
Adrian Buehlmann <adrian@cadifra.com>
parents:
9698
diff
changeset
|
643 local source repositories. |
2f1ab7f77ddc
clone: add option -u/--updaterev
Adrian Buehlmann <adrian@cadifra.com>
parents:
9698
diff
changeset
|
644 |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
645 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
|
646 and destination are on the same filesystem (note this applies only |
6448
cd3d49ffc6f6
Consistently 1 space after full stops in command doc strings
Christian Ebert <blacktrash@gmx.net>
parents:
6442
diff
changeset
|
647 to the repository data, not to the checked out files). Some |
2762
2df98f616645
Expand clone help with hardlink information
Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
parents:
2761
diff
changeset
|
648 filesystems, such as AFS, implement hardlinking incorrectly, but |
6448
cd3d49ffc6f6
Consistently 1 space after full stops in command doc strings
Christian Ebert <blacktrash@gmx.net>
parents:
6442
diff
changeset
|
649 do not report errors. In these cases, use the --pull option to |
2762
2df98f616645
Expand clone help with hardlink information
Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
parents:
2761
diff
changeset
|
650 avoid hardlinking. |
2df98f616645
Expand clone help with hardlink information
Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
parents:
2761
diff
changeset
|
651 |
6509
5279848424e7
issue 1053: heavily qualify the "cp -al" advice for cloning
Bryan O'Sullivan <bos@serpentine.com>
parents:
6469
diff
changeset
|
652 In some cases, you can clone repositories and checked out files |
9249
16f4cfc69e4f
commands: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9219
diff
changeset
|
653 using full hardlinks with :: |
2762
2df98f616645
Expand clone help with hardlink information
Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
parents:
2761
diff
changeset
|
654 |
2df98f616645
Expand clone help with hardlink information
Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
parents:
2761
diff
changeset
|
655 $ cp -al REPO REPOCLONE |
2df98f616645
Expand clone help with hardlink information
Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
parents:
2761
diff
changeset
|
656 |
7983
7b813bdbd5d0
Change double spaces to single spaces in help texts.
Martin Geisler <mg@daimi.au.dk>
parents:
7982
diff
changeset
|
657 This is the fastest way to clone, but it is not always safe. The |
6509
5279848424e7
issue 1053: heavily qualify the "cp -al" advice for cloning
Bryan O'Sullivan <bos@serpentine.com>
parents:
6469
diff
changeset
|
658 operation is not atomic (making sure REPO is not modified during |
5279848424e7
issue 1053: heavily qualify the "cp -al" advice for cloning
Bryan O'Sullivan <bos@serpentine.com>
parents:
6469
diff
changeset
|
659 the operation is up to you) and you have to make sure your editor |
7983
7b813bdbd5d0
Change double spaces to single spaces in help texts.
Martin Geisler <mg@daimi.au.dk>
parents:
7982
diff
changeset
|
660 breaks hardlinks (Emacs and most Linux Kernel tools do so). Also, |
6509
5279848424e7
issue 1053: heavily qualify the "cp -al" advice for cloning
Bryan O'Sullivan <bos@serpentine.com>
parents:
6469
diff
changeset
|
661 this is not compatible with certain extensions that place their |
5279848424e7
issue 1053: heavily qualify the "cp -al" advice for cloning
Bryan O'Sullivan <bos@serpentine.com>
parents:
6469
diff
changeset
|
662 metadata under the .hg directory, such as mq. |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
663 """ |
9714
2f1ab7f77ddc
clone: add option -u/--updaterev
Adrian Buehlmann <adrian@cadifra.com>
parents:
9698
diff
changeset
|
664 if opts.get('noupdate') and opts.get('updaterev'): |
2f1ab7f77ddc
clone: add option -u/--updaterev
Adrian Buehlmann <adrian@cadifra.com>
parents:
9698
diff
changeset
|
665 raise util.Abort(_("cannot specify both --noupdate and --updaterev")) |
2f1ab7f77ddc
clone: add option -u/--updaterev
Adrian Buehlmann <adrian@cadifra.com>
parents:
9698
diff
changeset
|
666 |
8188 | 667 hg.clone(cmdutil.remoteui(ui, opts), source, dest, |
7131
23bd7383891c
commands: optional options where possible
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7126
diff
changeset
|
668 pull=opts.get('pull'), |
23bd7383891c
commands: optional options where possible
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7126
diff
changeset
|
669 stream=opts.get('uncompressed'), |
23bd7383891c
commands: optional options where possible
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7126
diff
changeset
|
670 rev=opts.get('rev'), |
10379
a78bfaf988e1
add -b/--branch option to clone, bundle, incoming, outgoing, pull, push
Sune Foldager <cryo@cyanite.org>
parents:
10376
diff
changeset
|
671 update=opts.get('updaterev') or not opts.get('noupdate'), |
a78bfaf988e1
add -b/--branch option to clone, bundle, incoming, outgoing, pull, push
Sune Foldager <cryo@cyanite.org>
parents:
10376
diff
changeset
|
672 branch=opts.get('branch')) |
515 | 673 |
813
80fd2958235a
Adapt commit to use file matching code.
Bryan O'Sullivan <bos@serpentine.com>
parents:
812
diff
changeset
|
674 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
|
675 """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
|
676 |
7983
7b813bdbd5d0
Change double spaces to single spaces in help texts.
Martin Geisler <mg@daimi.au.dk>
parents:
7982
diff
changeset
|
677 Commit changes to the given files into the repository. Unlike a |
7b813bdbd5d0
Change double spaces to single spaces in help texts.
Martin Geisler <mg@daimi.au.dk>
parents:
7982
diff
changeset
|
678 centralized RCS, this operation is a local operation. See hg push |
8779
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
679 for a way to actively distribute your changes. |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
680 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
681 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
|
682 will be committed. |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
683 |
6385
0d4e068e9e52
commit: when committing the results of a merge, it's all or nothing
Bryan O'Sullivan <bos@serpentine.com>
parents:
6375
diff
changeset
|
684 If you are committing the result of a merge, do not provide any |
8761
0289f384e1e5
Generally replace "file name" with "filename" in help and comments.
timeless <timeless@gmail.com>
parents:
8760
diff
changeset
|
685 filenames or -I/-X filters. |
6385
0d4e068e9e52
commit: when committing the results of a merge, it's all or nothing
Bryan O'Sullivan <bos@serpentine.com>
parents:
6375
diff
changeset
|
686 |
8004
d5b1b846f277
commands: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
687 If no commit message is specified, the configured editor is |
d5b1b846f277
commands: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
688 started to prompt you for 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
|
689 |
1f733c2f0165
Document log date ranges and mention 'hg help dates' for all commands (issue998)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6161
diff
changeset
|
690 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
|
691 """ |
7655
cce37dab7ad6
branch closing: mark closed branches with a 'close' extra
John Mulligan <phlogistonjohn@asynchrono.us>
parents:
7643
diff
changeset
|
692 extra = {} |
cce37dab7ad6
branch closing: mark closed branches with a 'close' extra
John Mulligan <phlogistonjohn@asynchrono.us>
parents:
7643
diff
changeset
|
693 if opts.get('close_branch'): |
cce37dab7ad6
branch closing: mark closed branches with a 'close' extra
John Mulligan <phlogistonjohn@asynchrono.us>
parents:
7643
diff
changeset
|
694 extra['close'] = 1 |
8407
223000a687b0
commit: move commit editor to cmdutil, pass as function
Matt Mackall <mpm@selenic.com>
parents:
8397
diff
changeset
|
695 e = cmdutil.commiteditor |
223000a687b0
commit: move commit editor to cmdutil, pass as function
Matt Mackall <mpm@selenic.com>
parents:
8397
diff
changeset
|
696 if opts.get('force_editor'): |
223000a687b0
commit: move commit editor to cmdutil, pass as function
Matt Mackall <mpm@selenic.com>
parents:
8397
diff
changeset
|
697 e = cmdutil.commitforceeditor |
223000a687b0
commit: move commit editor to cmdutil, pass as function
Matt Mackall <mpm@selenic.com>
parents:
8397
diff
changeset
|
698 |
6600
b822a379860b
match: stop passing files through commitfunc
Matt Mackall <mpm@selenic.com>
parents:
6599
diff
changeset
|
699 def commitfunc(ui, repo, message, match, opts): |
8706
25e9c71b89de
commit: drop the now-unused files parameter
Matt Mackall <mpm@selenic.com>
parents:
8704
diff
changeset
|
700 return repo.commit(message, opts.get('user'), opts.get('date'), match, |
25e9c71b89de
commit: drop the now-unused files parameter
Matt Mackall <mpm@selenic.com>
parents:
8704
diff
changeset
|
701 editor=e, extra=extra) |
6336
4b0c9c674707
warn about new heads on commit (issue842)
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
6321
diff
changeset
|
702 |
6369
53912d30ac40
Avoid calling heads() twice on every hg commit.
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6367
diff
changeset
|
703 node = cmdutil.commit(ui, repo, commitfunc, pats, opts) |
53912d30ac40
Avoid calling heads() twice on every hg commit.
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6367
diff
changeset
|
704 if not node: |
8995
7b19cda0fa10
commit: lose some pointless 'nothing changed' messages
Matt Mackall <mpm@selenic.com>
parents:
8992
diff
changeset
|
705 ui.status(_("nothing changed\n")) |
6369
53912d30ac40
Avoid calling heads() twice on every hg commit.
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6367
diff
changeset
|
706 return |
53912d30ac40
Avoid calling heads() twice on every hg commit.
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6367
diff
changeset
|
707 cl = repo.changelog |
53912d30ac40
Avoid calling heads() twice on every hg commit.
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6367
diff
changeset
|
708 rev = cl.rev(node) |
53912d30ac40
Avoid calling heads() twice on every hg commit.
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6367
diff
changeset
|
709 parents = cl.parentrevs(rev) |
53912d30ac40
Avoid calling heads() twice on every hg commit.
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6367
diff
changeset
|
710 if rev - 1 in parents: |
53912d30ac40
Avoid calling heads() twice on every hg commit.
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6367
diff
changeset
|
711 # one of the parents was the old tip |
6935
03916abdfb64
Have verbose and debug flag print the changeset rev and hash when committing.
Gilles Moris <gilles.moris@free.fr>
parents:
6934
diff
changeset
|
712 pass |
03916abdfb64
Have verbose and debug flag print the changeset rev and hash when committing.
Gilles Moris <gilles.moris@free.fr>
parents:
6934
diff
changeset
|
713 elif (parents == (nullrev, nullrev) or |
03916abdfb64
Have verbose and debug flag print the changeset rev and hash when committing.
Gilles Moris <gilles.moris@free.fr>
parents:
6934
diff
changeset
|
714 len(cl.heads(cl.node(parents[0]))) > 1 and |
03916abdfb64
Have verbose and debug flag print the changeset rev and hash when committing.
Gilles Moris <gilles.moris@free.fr>
parents:
6934
diff
changeset
|
715 (parents[1] == nullrev or len(cl.heads(cl.node(parents[1]))) > 1)): |
6336
4b0c9c674707
warn about new heads on commit (issue842)
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
6321
diff
changeset
|
716 ui.status(_('created new head\n')) |
245 | 717 |
6935
03916abdfb64
Have verbose and debug flag print the changeset rev and hash when committing.
Gilles Moris <gilles.moris@free.fr>
parents:
6934
diff
changeset
|
718 if ui.debugflag: |
9198
061eeb602354
coding style: use a space after comma
Martin Geisler <mg@lazybytes.net>
parents:
9197
diff
changeset
|
719 ui.write(_('committed changeset %d:%s\n') % (rev, hex(node))) |
6935
03916abdfb64
Have verbose and debug flag print the changeset rev and hash when committing.
Gilles Moris <gilles.moris@free.fr>
parents:
6934
diff
changeset
|
720 elif ui.verbose: |
9198
061eeb602354
coding style: use a space after comma
Martin Geisler <mg@lazybytes.net>
parents:
9197
diff
changeset
|
721 ui.write(_('committed changeset %d:%s\n') % (rev, short(node))) |
6935
03916abdfb64
Have verbose and debug flag print the changeset rev and hash when committing.
Gilles Moris <gilles.moris@free.fr>
parents:
6934
diff
changeset
|
722 |
1253
a45e717c61a8
Add rename/mv command.
Bryan O'Sullivan <bos@serpentine.com>
parents:
1250
diff
changeset
|
723 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
|
724 """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
|
725 |
6448
cd3d49ffc6f6
Consistently 1 space after full stops in command doc strings
Christian Ebert <blacktrash@gmx.net>
parents:
6442
diff
changeset
|
726 Mark dest as having copies of source files. If dest is a |
cd3d49ffc6f6
Consistently 1 space after full stops in command doc strings
Christian Ebert <blacktrash@gmx.net>
parents:
6442
diff
changeset
|
727 directory, copies are put in that directory. If dest is a file, |
7807
bd8f44638847
help: miscellaneous language fixes
timeless <timeless@gmail.com>
parents:
7765
diff
changeset
|
728 the source must be a single file. |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
729 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
730 By default, this command copies the contents of files as they |
8779
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
731 exist in the working directory. If invoked with -A/--after, the |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
732 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
|
733 |
7807
bd8f44638847
help: miscellaneous language fixes
timeless <timeless@gmail.com>
parents:
7765
diff
changeset
|
734 This command takes effect with the next commit. To undo a copy |
3829
531c116b2028
Add doc notes about revert and hg status vs diff
Matt Mackall <mpm@selenic.com>
parents:
3822
diff
changeset
|
735 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
|
736 """ |
4914 | 737 wlock = repo.wlock(False) |
4915
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
738 try: |
5610
2493a478f395
copy: handle rename internally
Matt Mackall <mpm@selenic.com>
parents:
5589
diff
changeset
|
739 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
|
740 finally: |
8109
496ae1ea4698
switch lock releasing in the core from gc to explicit
Ronny Pfannschmidt <Ronny.Pfannschmidt@gmx.de>
parents:
8088
diff
changeset
|
741 wlock.release() |
363 | 742 |
6189
81cbb5dfdec0
Make hg debugancestor accept -R by making it an optionalrepo command.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6188
diff
changeset
|
743 def debugancestor(ui, repo, *args): |
1262 | 744 """find the ancestor revision of two revisions in a given index""" |
6188
3b0c2b71e0d7
debugancestor: use *args instead of *opts, to not confuse with option dicts.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6182
diff
changeset
|
745 if len(args) == 3: |
3b0c2b71e0d7
debugancestor: use *args instead of *opts, to not confuse with option dicts.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6182
diff
changeset
|
746 index, rev1, rev2 = args |
6178
81afdd016867
debugancestor: make the index argument optional, defaulting to 00changelog.i
Bryan O'Sullivan <bos@serpentine.com>
parents:
6171
diff
changeset
|
747 r = revlog.revlog(util.opener(os.getcwd(), audit=False), index) |
6253
a7e3d0456d92
debugancestor: use repo.lookup when no revlog was specified
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6243
diff
changeset
|
748 lookup = r.lookup |
6188
3b0c2b71e0d7
debugancestor: use *args instead of *opts, to not confuse with option dicts.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6182
diff
changeset
|
749 elif len(args) == 2: |
6189
81cbb5dfdec0
Make hg debugancestor accept -R by making it an optionalrepo command.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6188
diff
changeset
|
750 if not repo: |
81cbb5dfdec0
Make hg debugancestor accept -R by making it an optionalrepo command.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6188
diff
changeset
|
751 raise util.Abort(_("There is no Mercurial repository here " |
81cbb5dfdec0
Make hg debugancestor accept -R by making it an optionalrepo command.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6188
diff
changeset
|
752 "(.hg not found)")) |
6188
3b0c2b71e0d7
debugancestor: use *args instead of *opts, to not confuse with option dicts.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6182
diff
changeset
|
753 rev1, rev2 = args |
6178
81afdd016867
debugancestor: make the index argument optional, defaulting to 00changelog.i
Bryan O'Sullivan <bos@serpentine.com>
parents:
6171
diff
changeset
|
754 r = repo.changelog |
6253
a7e3d0456d92
debugancestor: use repo.lookup when no revlog was specified
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6243
diff
changeset
|
755 lookup = repo.lookup |
6178
81afdd016867
debugancestor: make the index argument optional, defaulting to 00changelog.i
Bryan O'Sullivan <bos@serpentine.com>
parents:
6171
diff
changeset
|
756 else: |
81afdd016867
debugancestor: make the index argument optional, defaulting to 00changelog.i
Bryan O'Sullivan <bos@serpentine.com>
parents:
6171
diff
changeset
|
757 raise util.Abort(_('either two or three arguments required')) |
6253
a7e3d0456d92
debugancestor: use repo.lookup when no revlog was specified
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6243
diff
changeset
|
758 a = r.ancestor(lookup(rev1), lookup(rev2)) |
1262 | 759 ui.write("%d:%s\n" % (r.rev(a), hex(a))) |
760 | |
7880
7ca2be800804
add debugcommands command: an easy to parse command + option index
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
7875
diff
changeset
|
761 def debugcommands(ui, cmd='', *args): |
8209
a1a5a57efe90
replace util.sort with sorted built-in
Matt Mackall <mpm@selenic.com>
parents:
8190
diff
changeset
|
762 for cmd, vals in sorted(table.iteritems()): |
7880
7ca2be800804
add debugcommands command: an easy to parse command + option index
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
7875
diff
changeset
|
763 cmd = cmd.split('|')[0].strip('^') |
7ca2be800804
add debugcommands command: an easy to parse command + option index
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
7875
diff
changeset
|
764 opts = ', '.join([i[1] for i in vals[1]]) |
7ca2be800804
add debugcommands command: an easy to parse command + option index
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
7875
diff
changeset
|
765 ui.write('%s: %s\n' % (cmd, opts)) |
7ca2be800804
add debugcommands command: an easy to parse command + option index
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
7875
diff
changeset
|
766 |
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
|
767 def debugcomplete(ui, cmd='', **opts): |
1887
913397c27cd8
new command debugcomplete
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1875
diff
changeset
|
768 """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
|
769 |
7131
23bd7383891c
commands: optional options where possible
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7126
diff
changeset
|
770 if opts.get('options'): |
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
|
771 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
|
772 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
|
773 if cmd: |
7213
b4c035057d34
findcmd: have dispatch look up strict flag
Matt Mackall <mpm@selenic.com>
parents:
7212
diff
changeset
|
774 aliases, entry = cmdutil.findcmd(cmd, table, False) |
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
|
775 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
|
776 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
|
777 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
|
778 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
|
779 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
|
780 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
|
781 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
|
782 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
|
783 |
7509
62e5d41b0a8b
Make debugcomplete -v print aliases as well as commands
Brendan Cully <brendan@kublai.com>
parents:
7449
diff
changeset
|
784 cmdlist = cmdutil.findpossible(cmd, table) |
62e5d41b0a8b
Make debugcomplete -v print aliases as well as commands
Brendan Cully <brendan@kublai.com>
parents:
7449
diff
changeset
|
785 if ui.verbose: |
62e5d41b0a8b
Make debugcomplete -v print aliases as well as commands
Brendan Cully <brendan@kublai.com>
parents:
7449
diff
changeset
|
786 cmdlist = [' '.join(c[0]) for c in cmdlist.values()] |
8209
a1a5a57efe90
replace util.sort with sorted built-in
Matt Mackall <mpm@selenic.com>
parents:
8190
diff
changeset
|
787 ui.write("%s\n" % "\n".join(sorted(cmdlist))) |
1887
913397c27cd8
new command debugcomplete
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1875
diff
changeset
|
788 |
5741
8ee0de123989
add debugfsinfo to check fs capabilities
Matt Mackall <mpm@selenic.com>
parents:
5716
diff
changeset
|
789 def debugfsinfo(ui, path = "."): |
9031
3b76321aa0de
compat: use open() instead of file() everywhere
Alejandro Santos <alejolp@alejolp.com>
parents:
9012
diff
changeset
|
790 open('.debugfsinfo', 'w').write('') |
5741
8ee0de123989
add debugfsinfo to check fs capabilities
Matt Mackall <mpm@selenic.com>
parents:
5716
diff
changeset
|
791 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
|
792 ui.write('symlink: %s\n' % (util.checklink(path) and 'yes' or 'no')) |
6746
1dca460e7d1e
rename checkfolding to checkcase
Matt Mackall <mpm@selenic.com>
parents:
6743
diff
changeset
|
793 ui.write('case-sensitive: %s\n' % (util.checkcase('.debugfsinfo') |
5741
8ee0de123989
add debugfsinfo to check fs capabilities
Matt Mackall <mpm@selenic.com>
parents:
5716
diff
changeset
|
794 and 'yes' or 'no')) |
8ee0de123989
add debugfsinfo to check fs capabilities
Matt Mackall <mpm@selenic.com>
parents:
5716
diff
changeset
|
795 os.unlink('.debugfsinfo') |
8ee0de123989
add debugfsinfo to check fs capabilities
Matt Mackall <mpm@selenic.com>
parents:
5716
diff
changeset
|
796 |
6747
f6c00b17387c
use repo[changeid] to get a changectx
Matt Mackall <mpm@selenic.com>
parents:
6746
diff
changeset
|
797 def debugrebuildstate(ui, repo, rev="tip"): |
1755
a8f7791e3680
add 'debugrebuildstate' to rebuild the dirstate from a given revision
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1754
diff
changeset
|
798 """rebuild the dirstate as it would look like for the given revision""" |
6747
f6c00b17387c
use repo[changeid] to get a changectx
Matt Mackall <mpm@selenic.com>
parents:
6746
diff
changeset
|
799 ctx = repo[rev] |
1760
13f8e068d13c
fix typo in debugrebuildstate
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1755
diff
changeset
|
800 wlock = repo.wlock() |
4915
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
801 try: |
6747
f6c00b17387c
use repo[changeid] to get a changectx
Matt Mackall <mpm@selenic.com>
parents:
6746
diff
changeset
|
802 repo.dirstate.rebuild(ctx.node(), ctx.manifest()) |
4915
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
803 finally: |
8109
496ae1ea4698
switch lock releasing in the core from gc to explicit
Ronny Pfannschmidt <Ronny.Pfannschmidt@gmx.de>
parents:
8088
diff
changeset
|
804 wlock.release() |
1755
a8f7791e3680
add 'debugrebuildstate' to rebuild the dirstate from a given revision
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1754
diff
changeset
|
805 |
596 | 806 def debugcheckstate(ui, repo): |
807 """validate the correctness of the current dirstate""" | |
460 | 808 parent1, parent2 = repo.dirstate.parents() |
6747
f6c00b17387c
use repo[changeid] to get a changectx
Matt Mackall <mpm@selenic.com>
parents:
6746
diff
changeset
|
809 m1 = repo[parent1].manifest() |
f6c00b17387c
use repo[changeid] to get a changectx
Matt Mackall <mpm@selenic.com>
parents:
6746
diff
changeset
|
810 m2 = repo[parent2].manifest() |
460 | 811 errors = 0 |
4906
30847b8af7ca
dirstate: add __contains__ and make __getitem__ more useful
Matt Mackall <mpm@selenic.com>
parents:
4904
diff
changeset
|
812 for f in repo.dirstate: |
30847b8af7ca
dirstate: add __contains__ and make __getitem__ more useful
Matt Mackall <mpm@selenic.com>
parents:
4904
diff
changeset
|
813 state = repo.dirstate[f] |
460 | 814 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
|
815 ui.warn(_("%s in state %s, but not in manifest1\n") % (f, state)) |
460 | 816 errors += 1 |
817 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
|
818 ui.warn(_("%s in state %s, but also in manifest1\n") % (f, state)) |
460 | 819 errors += 1 |
820 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
|
821 ui.warn(_("%s in state %s, but not in either manifest\n") % |
582 | 822 (f, state)) |
460 | 823 errors += 1 |
824 for f in m1: | |
4906
30847b8af7ca
dirstate: add __contains__ and make __getitem__ more useful
Matt Mackall <mpm@selenic.com>
parents:
4904
diff
changeset
|
825 state = repo.dirstate[f] |
460 | 826 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
|
827 ui.warn(_("%s in manifest1, but listed as state %s") % (f, state)) |
460 | 828 errors += 1 |
829 if errors: | |
1602
fb4149eebdd4
strictly adher to 80 chars per line
Muli Ben-Yehuda <mulix@mulix.org>
parents:
1601
diff
changeset
|
830 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
|
831 raise util.Abort(error) |
460 | 832 |
3553
e1508621e9ef
add --untrusted to showconfig
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3521
diff
changeset
|
833 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
|
834 """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
|
835 |
8664
f265106ccb53
commands: expand "arg" -> "argument" in showconfig help strings
Martin Geisler <mg@lazybytes.net>
parents:
8636
diff
changeset
|
836 With no arguments, print names and values of all config items. |
f265106ccb53
commands: expand "arg" -> "argument" in showconfig help strings
Martin Geisler <mg@lazybytes.net>
parents:
8636
diff
changeset
|
837 |
f265106ccb53
commands: expand "arg" -> "argument" in showconfig help strings
Martin Geisler <mg@lazybytes.net>
parents:
8636
diff
changeset
|
838 With one argument of the form section.name, print just the value |
f265106ccb53
commands: expand "arg" -> "argument" in showconfig help strings
Martin Geisler <mg@lazybytes.net>
parents:
8636
diff
changeset
|
839 of that config item. |
f265106ccb53
commands: expand "arg" -> "argument" in showconfig help strings
Martin Geisler <mg@lazybytes.net>
parents:
8636
diff
changeset
|
840 |
f265106ccb53
commands: expand "arg" -> "argument" in showconfig help strings
Martin Geisler <mg@lazybytes.net>
parents:
8636
diff
changeset
|
841 With multiple arguments, print names and values of all config |
f265106ccb53
commands: expand "arg" -> "argument" in showconfig help strings
Martin Geisler <mg@lazybytes.net>
parents:
8636
diff
changeset
|
842 items with matching section names. |
8279
602ed4982f36
commands: describe --debug in showconfig help
Martin Geisler <mg@lazybytes.net>
parents:
8277
diff
changeset
|
843 |
8779
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
844 With --debug, the source (filename and line number) is printed |
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
845 for each config item. |
8279
602ed4982f36
commands: describe --debug in showconfig help
Martin Geisler <mg@lazybytes.net>
parents:
8277
diff
changeset
|
846 """ |
2410
1e80d47b8581
debugconfig: allow to print by section and exact item name
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2407
diff
changeset
|
847 |
3553
e1508621e9ef
add --untrusted to showconfig
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3521
diff
changeset
|
848 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
|
849 if values: |
1e80d47b8581
debugconfig: allow to print by section and exact item name
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2407
diff
changeset
|
850 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
|
851 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
|
852 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
|
853 sectname = section + '.' + name |
1e80d47b8581
debugconfig: allow to print by section and exact item name
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2407
diff
changeset
|
854 if values: |
1e80d47b8581
debugconfig: allow to print by section and exact item name
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2407
diff
changeset
|
855 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
|
856 if v == section: |
8182
b97abc7c1135
showconfig: show source file and line with --debug
Matt Mackall <mpm@selenic.com>
parents:
8152
diff
changeset
|
857 ui.debug('%s: ' % |
b97abc7c1135
showconfig: show source file and line with --debug
Matt Mackall <mpm@selenic.com>
parents:
8152
diff
changeset
|
858 ui.configsource(section, name, untrusted)) |
2410
1e80d47b8581
debugconfig: allow to print by section and exact item name
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2407
diff
changeset
|
859 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
|
860 elif v == sectname: |
8182
b97abc7c1135
showconfig: show source file and line with --debug
Matt Mackall <mpm@selenic.com>
parents:
8152
diff
changeset
|
861 ui.debug('%s: ' % |
b97abc7c1135
showconfig: show source file and line with --debug
Matt Mackall <mpm@selenic.com>
parents:
8152
diff
changeset
|
862 ui.configsource(section, name, untrusted)) |
2410
1e80d47b8581
debugconfig: allow to print by section and exact item name
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2407
diff
changeset
|
863 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
|
864 else: |
8182
b97abc7c1135
showconfig: show source file and line with --debug
Matt Mackall <mpm@selenic.com>
parents:
8152
diff
changeset
|
865 ui.debug('%s: ' % |
b97abc7c1135
showconfig: show source file and line with --debug
Matt Mackall <mpm@selenic.com>
parents:
8152
diff
changeset
|
866 ui.configsource(section, name, untrusted)) |
2410
1e80d47b8581
debugconfig: allow to print by section and exact item name
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2407
diff
changeset
|
867 ui.write('%s=%s\n' % (sectname, value)) |
1028
25e7ea0f2cff
Add commands.debugconfig.
Bryan O'Sullivan <bos@serpentine.com>
parents:
989
diff
changeset
|
868 |
1395
c2eb204917f8
Add debugsetparents command
Matt Mackall <mpm@selenic.com>
parents:
1390
diff
changeset
|
869 def debugsetparents(ui, repo, rev1, rev2=None): |
1470
fb9b84c91222
minor fix on command help docstrings
TK Soh <teekaysoh@yahoo.com>
parents:
1469
diff
changeset
|
870 """manually set the parents of the current working directory |
1395
c2eb204917f8
Add debugsetparents command
Matt Mackall <mpm@selenic.com>
parents:
1390
diff
changeset
|
871 |
c2eb204917f8
Add debugsetparents command
Matt Mackall <mpm@selenic.com>
parents:
1390
diff
changeset
|
872 This is useful for writing repository conversion tools, but should |
c2eb204917f8
Add debugsetparents command
Matt Mackall <mpm@selenic.com>
parents:
1390
diff
changeset
|
873 be used with care. |
c2eb204917f8
Add debugsetparents command
Matt Mackall <mpm@selenic.com>
parents:
1390
diff
changeset
|
874 """ |
c2eb204917f8
Add debugsetparents command
Matt Mackall <mpm@selenic.com>
parents:
1390
diff
changeset
|
875 |
c2eb204917f8
Add debugsetparents command
Matt Mackall <mpm@selenic.com>
parents:
1390
diff
changeset
|
876 if not rev2: |
c2eb204917f8
Add debugsetparents command
Matt Mackall <mpm@selenic.com>
parents:
1390
diff
changeset
|
877 rev2 = hex(nullid) |
c2eb204917f8
Add debugsetparents command
Matt Mackall <mpm@selenic.com>
parents:
1390
diff
changeset
|
878 |
4247
89075f106414
debugsetparents: wlock the repo before updating the dirstate
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4231
diff
changeset
|
879 wlock = repo.wlock() |
89075f106414
debugsetparents: wlock the repo before updating the dirstate
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4231
diff
changeset
|
880 try: |
89075f106414
debugsetparents: wlock the repo before updating the dirstate
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4231
diff
changeset
|
881 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
|
882 finally: |
8109
496ae1ea4698
switch lock releasing in the core from gc to explicit
Ronny Pfannschmidt <Ronny.Pfannschmidt@gmx.de>
parents:
8088
diff
changeset
|
883 wlock.release() |
1395
c2eb204917f8
Add debugsetparents command
Matt Mackall <mpm@selenic.com>
parents:
1390
diff
changeset
|
884 |
6296
a9e6b8875805
debugstate: add --nodates
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6276
diff
changeset
|
885 def debugstate(ui, repo, nodates=None): |
596 | 886 """show the contents of the current dirstate""" |
6296
a9e6b8875805
debugstate: add --nodates
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6276
diff
changeset
|
887 timestr = "" |
a9e6b8875805
debugstate: add --nodates
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6276
diff
changeset
|
888 showdate = not nodates |
8209
a1a5a57efe90
replace util.sort with sorted built-in
Matt Mackall <mpm@selenic.com>
parents:
8190
diff
changeset
|
889 for file_, ent in sorted(repo.dirstate._map.iteritems()): |
6296
a9e6b8875805
debugstate: add --nodates
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6276
diff
changeset
|
890 if showdate: |
a9e6b8875805
debugstate: add --nodates
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6276
diff
changeset
|
891 if ent[3] == -1: |
a9e6b8875805
debugstate: add --nodates
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6276
diff
changeset
|
892 # Pad or slice to locale representation |
10282
08a0f04b56bd
many, many trivial check-code fixups
Matt Mackall <mpm@selenic.com>
parents:
10270
diff
changeset
|
893 locale_len = len(time.strftime("%Y-%m-%d %H:%M:%S ", |
08a0f04b56bd
many, many trivial check-code fixups
Matt Mackall <mpm@selenic.com>
parents:
10270
diff
changeset
|
894 time.localtime(0))) |
6296
a9e6b8875805
debugstate: add --nodates
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6276
diff
changeset
|
895 timestr = 'unset' |
10282
08a0f04b56bd
many, many trivial check-code fixups
Matt Mackall <mpm@selenic.com>
parents:
10270
diff
changeset
|
896 timestr = (timestr[:locale_len] + |
08a0f04b56bd
many, many trivial check-code fixups
Matt Mackall <mpm@selenic.com>
parents:
10270
diff
changeset
|
897 ' ' * (locale_len - len(timestr))) |
6296
a9e6b8875805
debugstate: add --nodates
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6276
diff
changeset
|
898 else: |
10282
08a0f04b56bd
many, many trivial check-code fixups
Matt Mackall <mpm@selenic.com>
parents:
10270
diff
changeset
|
899 timestr = time.strftime("%Y-%m-%d %H:%M:%S ", |
08a0f04b56bd
many, many trivial check-code fixups
Matt Mackall <mpm@selenic.com>
parents:
10270
diff
changeset
|
900 time.localtime(ent[3])) |
5156
49554ba98951
debugstate: print symlinks as 'lnk', not '777'
Bryan O'Sullivan <bos@serpentine.com>
parents:
5155
diff
changeset
|
901 if ent[1] & 020000: |
49554ba98951
debugstate: print symlinks as 'lnk', not '777'
Bryan O'Sullivan <bos@serpentine.com>
parents:
5155
diff
changeset
|
902 mode = 'lnk' |
49554ba98951
debugstate: print symlinks as 'lnk', not '777'
Bryan O'Sullivan <bos@serpentine.com>
parents:
5155
diff
changeset
|
903 else: |
49554ba98951
debugstate: print symlinks as 'lnk', not '777'
Bryan O'Sullivan <bos@serpentine.com>
parents:
5155
diff
changeset
|
904 mode = '%3o' % (ent[1] & 0777) |
6296
a9e6b8875805
debugstate: add --nodates
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6276
diff
changeset
|
905 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
|
906 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
|
907 ui.write(_("copy: %s -> %s\n") % (repo.dirstate.copied(f), f)) |
460 | 908 |
8812
859f841937d0
subrepo: introduce basic state parsing
Matt Mackall <mpm@selenic.com>
parents:
8810
diff
changeset
|
909 def debugsub(ui, repo, rev=None): |
859f841937d0
subrepo: introduce basic state parsing
Matt Mackall <mpm@selenic.com>
parents:
8810
diff
changeset
|
910 if rev == '': |
859f841937d0
subrepo: introduce basic state parsing
Matt Mackall <mpm@selenic.com>
parents:
8810
diff
changeset
|
911 rev = None |
10282
08a0f04b56bd
many, many trivial check-code fixups
Matt Mackall <mpm@selenic.com>
parents:
10270
diff
changeset
|
912 for k, v in sorted(repo[rev].substate.items()): |
8812
859f841937d0
subrepo: introduce basic state parsing
Matt Mackall <mpm@selenic.com>
parents:
8810
diff
changeset
|
913 ui.write('path %s\n' % k) |
859f841937d0
subrepo: introduce basic state parsing
Matt Mackall <mpm@selenic.com>
parents:
8810
diff
changeset
|
914 ui.write(' source %s\n' % v[0]) |
859f841937d0
subrepo: introduce basic state parsing
Matt Mackall <mpm@selenic.com>
parents:
8810
diff
changeset
|
915 ui.write(' revision %s\n' % v[1]) |
859f841937d0
subrepo: introduce basic state parsing
Matt Mackall <mpm@selenic.com>
parents:
8810
diff
changeset
|
916 |
1039
4296754ba7b4
Add debugdata for dumping revlog revision data
mpm@selenic.com
parents:
1037
diff
changeset
|
917 def debugdata(ui, file_, rev): |
4258
b11a2fb59cf5
revlog: simplify revlog version handling
Matt Mackall <mpm@selenic.com>
parents:
4257
diff
changeset
|
918 """dump the contents of a data file revision""" |
b11a2fb59cf5
revlog: simplify revlog version handling
Matt Mackall <mpm@selenic.com>
parents:
4257
diff
changeset
|
919 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
|
920 try: |
1cc7c0cbc30b
Fix traceback during invalid rev identifier for debugdata
Anupam Kapoor<anupam.kapoor@gmail.com>
parents:
1312
diff
changeset
|
921 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
|
922 except KeyError: |
3072
bc3fe3b5b785
Never apply string formatting to generated errors with util.Abort.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3071
diff
changeset
|
923 raise util.Abort(_('invalid revision identifier %s') % rev) |
1039
4296754ba7b4
Add debugdata for dumping revlog revision data
mpm@selenic.com
parents:
1037
diff
changeset
|
924 |
3812 | 925 def debugdate(ui, date, range=None, **opts): |
3805 | 926 """parse and display a date""" |
3812 | 927 if opts["extended"]: |
928 d = util.parsedate(date, util.extendeddateformats) | |
929 else: | |
930 d = util.parsedate(date) | |
3805 | 931 ui.write("internal: %s %s\n" % d) |
932 ui.write("standard: %s\n" % util.datestr(d)) | |
3812 | 933 if range: |
934 m = util.matchdate(range) | |
935 ui.write("match: %s\n" % m(d[0])) | |
3805 | 936 |
697
cb1be2327220
Multiple cleanups of things detected by pylint.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
696
diff
changeset
|
937 def debugindex(ui, file_): |
596 | 938 """dump the contents of an index file""" |
4258
b11a2fb59cf5
revlog: simplify revlog version handling
Matt Mackall <mpm@selenic.com>
parents:
4257
diff
changeset
|
939 r = revlog.revlog(util.opener(os.getcwd(), audit=False), file_) |
7737
26bdb7109170
commands: removed unnecessary string concatenation
Martin Geisler <mg@daimi.au.dk>
parents:
7695
diff
changeset
|
940 ui.write(" rev offset length base linkrev" |
989 | 941 " nodeid p1 p2\n") |
6750
fb42030d79d6
add __len__ and __iter__ methods to repo and revlog
Matt Mackall <mpm@selenic.com>
parents:
6749
diff
changeset
|
942 for i in r: |
2072 | 943 node = r.node(i) |
5311
599f3a690d8f
debugindex: more robust for damaged indexes
Matt Mackall <mpm@selenic.com>
parents:
5310
diff
changeset
|
944 try: |
599f3a690d8f
debugindex: more robust for damaged indexes
Matt Mackall <mpm@selenic.com>
parents:
5310
diff
changeset
|
945 pp = r.parents(node) |
599f3a690d8f
debugindex: more robust for damaged indexes
Matt Mackall <mpm@selenic.com>
parents:
5310
diff
changeset
|
946 except: |
599f3a690d8f
debugindex: more robust for damaged indexes
Matt Mackall <mpm@selenic.com>
parents:
5310
diff
changeset
|
947 pp = [nullid, nullid] |
989 | 948 ui.write("% 6d % 9d % 7d % 6d % 7d %s %s %s\n" % ( |
7361
9fe97eea5510
linkrev: take a revision number rather than a hash
Matt Mackall <mpm@selenic.com>
parents:
7308
diff
changeset
|
949 i, r.start(i), r.length(i), r.base(i), r.linkrev(i), |
2072 | 950 short(node), short(pp[0]), short(pp[1]))) |
248 | 951 |
697
cb1be2327220
Multiple cleanups of things detected by pylint.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
696
diff
changeset
|
952 def debugindexdot(ui, file_): |
8779
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
953 """dump an index DAG as a graphviz dot file""" |
4258
b11a2fb59cf5
revlog: simplify revlog version handling
Matt Mackall <mpm@selenic.com>
parents:
4257
diff
changeset
|
954 r = revlog.revlog(util.opener(os.getcwd(), audit=False), file_) |
582 | 955 ui.write("digraph G {\n") |
6750
fb42030d79d6
add __len__ and __iter__ methods to repo and revlog
Matt Mackall <mpm@selenic.com>
parents:
6749
diff
changeset
|
956 for i in r: |
2287
3f18d1eea370
Update debugindexdot to work with RevlogNG.
Samuel Masham <samuel.masham@gmail.com>
parents:
2283
diff
changeset
|
957 node = r.node(i) |
3f18d1eea370
Update debugindexdot to work with RevlogNG.
Samuel Masham <samuel.masham@gmail.com>
parents:
2283
diff
changeset
|
958 pp = r.parents(node) |
3f18d1eea370
Update debugindexdot to work with RevlogNG.
Samuel Masham <samuel.masham@gmail.com>
parents:
2283
diff
changeset
|
959 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
|
960 if pp[1] != nullid: |
3f18d1eea370
Update debugindexdot to work with RevlogNG.
Samuel Masham <samuel.masham@gmail.com>
parents:
2283
diff
changeset
|
961 ui.write("\t%d -> %d\n" % (r.rev(pp[1]), i)) |
582 | 962 ui.write("}\n") |
248 | 963 |
3844
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
964 def debuginstall(ui): |
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
965 '''test Mercurial installation''' |
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
966 |
3846
18855084b922
Make debuginstall actually attempt to use external patch and merge
Matt Mackall <mpm@selenic.com>
parents:
3844
diff
changeset
|
967 def writetemp(contents): |
4849
035489f60842
Use a prefix for debuginstall tempfiles.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4818
diff
changeset
|
968 (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
|
969 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
|
970 f.write(contents) |
18855084b922
Make debuginstall actually attempt to use external patch and merge
Matt Mackall <mpm@selenic.com>
parents:
3844
diff
changeset
|
971 f.close() |
18855084b922
Make debuginstall actually attempt to use external patch and merge
Matt Mackall <mpm@selenic.com>
parents:
3844
diff
changeset
|
972 return name |
18855084b922
Make debuginstall actually attempt to use external patch and merge
Matt Mackall <mpm@selenic.com>
parents:
3844
diff
changeset
|
973 |
3844
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
974 problems = 0 |
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
975 |
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
976 # encoding |
7948
de377b1a9a84
move encoding bits from util to encoding
Matt Mackall <mpm@selenic.com>
parents:
7942
diff
changeset
|
977 ui.status(_("Checking encoding (%s)...\n") % encoding.encoding) |
3844
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
978 try: |
7948
de377b1a9a84
move encoding bits from util to encoding
Matt Mackall <mpm@selenic.com>
parents:
7942
diff
changeset
|
979 encoding.fromlocal("test") |
3844
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
980 except util.Abort, inst: |
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
981 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
|
982 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
|
983 problems += 1 |
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
984 |
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
985 # compiled modules |
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
986 ui.status(_("Checking extensions...\n")) |
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
987 try: |
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
988 import bdiff, mpatch, base85 |
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
989 except Exception, inst: |
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
990 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
|
991 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
|
992 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
|
993 problems += 1 |
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
994 |
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
995 # templates |
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
996 ui.status(_("Checking templates...\n")) |
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
997 try: |
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
998 import templater |
7874
d812029cda85
cleanup: drop variables for unused return values
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
7850
diff
changeset
|
999 templater.templater(templater.templatepath("map-cmdline.default")) |
3844
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
1000 except Exception, inst: |
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
1001 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
|
1002 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
|
1003 problems += 1 |
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
1004 |
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
1005 # patch |
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
1006 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
|
1007 patchproblems = 0 |
ba3dc7883968
debuginstall: stop looking for patch utility, just test it
Patrick Mezard <pmezard@gmail.com>
parents:
5300
diff
changeset
|
1008 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
|
1009 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
|
1010 fa = writetemp(a) |
5482
e5eedd74e70f
Use both the from and to name in mdiff.unidiff.
Dustin Sallings <dustin@spy.net>
parents:
5405
diff
changeset
|
1011 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
|
1012 os.path.basename(fa)) |
5310
ba3dc7883968
debuginstall: stop looking for patch utility, just test it
Patrick Mezard <pmezard@gmail.com>
parents:
5300
diff
changeset
|
1013 fd = writetemp(d) |
ba3dc7883968
debuginstall: stop looking for patch utility, just test it
Patrick Mezard <pmezard@gmail.com>
parents:
5300
diff
changeset
|
1014 |
ba3dc7883968
debuginstall: stop looking for patch utility, just test it
Patrick Mezard <pmezard@gmail.com>
parents:
5300
diff
changeset
|
1015 files = {} |
ba3dc7883968
debuginstall: stop looking for patch utility, just test it
Patrick Mezard <pmezard@gmail.com>
parents:
5300
diff
changeset
|
1016 try: |
ba3dc7883968
debuginstall: stop looking for patch utility, just test it
Patrick Mezard <pmezard@gmail.com>
parents:
5300
diff
changeset
|
1017 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
|
1018 except util.Abort, e: |
ba3dc7883968
debuginstall: stop looking for patch utility, just test it
Patrick Mezard <pmezard@gmail.com>
parents:
5300
diff
changeset
|
1019 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
|
1020 ui.write(" " + str(e) + "\n") |
ba3dc7883968
debuginstall: stop looking for patch utility, just test it
Patrick Mezard <pmezard@gmail.com>
parents:
5300
diff
changeset
|
1021 patchproblems += 1 |
3846
18855084b922
Make debuginstall actually attempt to use external patch and merge
Matt Mackall <mpm@selenic.com>
parents:
3844
diff
changeset
|
1022 else: |
5310
ba3dc7883968
debuginstall: stop looking for patch utility, just test it
Patrick Mezard <pmezard@gmail.com>
parents:
5300
diff
changeset
|
1023 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
|
1024 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
|
1025 patchproblems += 1 |
9031
3b76321aa0de
compat: use open() instead of file() everywhere
Alejandro Santos <alejolp@alejolp.com>
parents:
9012
diff
changeset
|
1026 a = open(fa).read() |
5310
ba3dc7883968
debuginstall: stop looking for patch utility, just test it
Patrick Mezard <pmezard@gmail.com>
parents:
5300
diff
changeset
|
1027 if a != b: |
ba3dc7883968
debuginstall: stop looking for patch utility, just test it
Patrick Mezard <pmezard@gmail.com>
parents:
5300
diff
changeset
|
1028 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
|
1029 patchproblems += 1 |
ba3dc7883968
debuginstall: stop looking for patch utility, just test it
Patrick Mezard <pmezard@gmail.com>
parents:
5300
diff
changeset
|
1030 |
ba3dc7883968
debuginstall: stop looking for patch utility, just test it
Patrick Mezard <pmezard@gmail.com>
parents:
5300
diff
changeset
|
1031 if patchproblems: |
ba3dc7883968
debuginstall: stop looking for patch utility, just test it
Patrick Mezard <pmezard@gmail.com>
parents:
5300
diff
changeset
|
1032 if ui.config('ui', 'patch'): |
ba3dc7883968
debuginstall: stop looking for patch utility, just test it
Patrick Mezard <pmezard@gmail.com>
parents:
5300
diff
changeset
|
1033 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
|
1034 " 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
|
1035 else: |
5760
0145f9afb0e7
Removed tabs and trailing whitespace in python files
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5741
diff
changeset
|
1036 ui.write(_(" Internal patcher failure, please report this error" |
8936
1de6e7e1bb9f
change wiki/bts URLs to point to new hostname
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
8931
diff
changeset
|
1037 " to http://mercurial.selenic.com/bts/\n")) |
5310
ba3dc7883968
debuginstall: stop looking for patch utility, just test it
Patrick Mezard <pmezard@gmail.com>
parents:
5300
diff
changeset
|
1038 problems += patchproblems |
ba3dc7883968
debuginstall: stop looking for patch utility, just test it
Patrick Mezard <pmezard@gmail.com>
parents:
5300
diff
changeset
|
1039 |
ba3dc7883968
debuginstall: stop looking for patch utility, just test it
Patrick Mezard <pmezard@gmail.com>
parents:
5300
diff
changeset
|
1040 os.unlink(fa) |
ba3dc7883968
debuginstall: stop looking for patch utility, just test it
Patrick Mezard <pmezard@gmail.com>
parents:
5300
diff
changeset
|
1041 os.unlink(fd) |
3844
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
1042 |
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
1043 # editor |
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
1044 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
|
1045 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
|
1046 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
|
1047 if not cmdpath: |
3855
b9cdd6f2aa43
debuginstall: fix a copy/paste error
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3848
diff
changeset
|
1048 if editor == 'vi': |
3844
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
1049 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
|
1050 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
|
1051 else: |
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
1052 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
|
1053 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
|
1054 problems += 1 |
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
1055 |
3848
8cbf060f637e
Add some remedies and a username check to debuginstall
Matt Mackall <mpm@selenic.com>
parents:
3846
diff
changeset
|
1056 # check username |
8cbf060f637e
Add some remedies and a username check to debuginstall
Matt Mackall <mpm@selenic.com>
parents:
3846
diff
changeset
|
1057 ui.status(_("Checking username...\n")) |
9734
36c388a1aa51
commands: call ui.username carefully in debuginstall
Martin Geisler <mg@lazybytes.net>
parents:
9725
diff
changeset
|
1058 try: |
36c388a1aa51
commands: call ui.username carefully in debuginstall
Martin Geisler <mg@lazybytes.net>
parents:
9725
diff
changeset
|
1059 user = ui.username() |
36c388a1aa51
commands: call ui.username carefully in debuginstall
Martin Geisler <mg@lazybytes.net>
parents:
9725
diff
changeset
|
1060 except util.Abort, e: |
36c388a1aa51
commands: call ui.username carefully in debuginstall
Martin Geisler <mg@lazybytes.net>
parents:
9725
diff
changeset
|
1061 ui.write(" %s\n" % e) |
3848
8cbf060f637e
Add some remedies and a username check to debuginstall
Matt Mackall <mpm@selenic.com>
parents:
3846
diff
changeset
|
1062 ui.write(_(" (specify a username in your .hgrc file)\n")) |
9734
36c388a1aa51
commands: call ui.username carefully in debuginstall
Martin Geisler <mg@lazybytes.net>
parents:
9725
diff
changeset
|
1063 problems += 1 |
3848
8cbf060f637e
Add some remedies and a username check to debuginstall
Matt Mackall <mpm@selenic.com>
parents:
3846
diff
changeset
|
1064 |
3844
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
1065 if not problems: |
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
1066 ui.status(_("No problems detected\n")) |
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
1067 else: |
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
1068 ui.write(_("%s problems detected," |
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
1069 " please check your install!\n") % problems) |
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
1070 |
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
1071 return problems |
3ba82c3f4bc3
Add debuginstall command to do basic install tests
Matt Mackall <mpm@selenic.com>
parents:
3840
diff
changeset
|
1072 |
3652 | 1073 def debugrename(ui, repo, file1, *pats, **opts): |
1194
c165cbf56bb1
Add doc string for debugrename.
bos@serpentine.internal.keyresearch.com
parents:
1193
diff
changeset
|
1074 """dump rename information""" |
3652 | 1075 |
6748
c6cc35a3d1de
make debugrename work on p1, not tip
Matt Mackall <mpm@selenic.com>
parents:
6747
diff
changeset
|
1076 ctx = repo[opts.get('rev')] |
6579
0159b7a36184
walk: pass match object to cmdutil.walk
Matt Mackall <mpm@selenic.com>
parents:
6578
diff
changeset
|
1077 m = cmdutil.match(repo, (file1,) + pats, opts) |
6764 | 1078 for abs in ctx.walk(m): |
1079 fctx = ctx[abs] | |
6579
0159b7a36184
walk: pass match object to cmdutil.walk
Matt Mackall <mpm@selenic.com>
parents:
6578
diff
changeset
|
1080 o = fctx.filelog().renamed(fctx.filenode()) |
6584
29c77e5dfb3c
walk: remove rel and exact returns
Matt Mackall <mpm@selenic.com>
parents:
6583
diff
changeset
|
1081 rel = m.rel(abs) |
6579
0159b7a36184
walk: pass match object to cmdutil.walk
Matt Mackall <mpm@selenic.com>
parents:
6578
diff
changeset
|
1082 if o: |
0159b7a36184
walk: pass match object to cmdutil.walk
Matt Mackall <mpm@selenic.com>
parents:
6578
diff
changeset
|
1083 ui.write(_("%s renamed from %s:%s\n") % (rel, o[0], hex(o[1]))) |
3652 | 1084 else: |
1085 ui.write(_("%s not renamed\n") % rel) | |
1116 | 1086 |
820
89985a1b3427
Clean up walk and changes code to use normalised names properly.
Bryan O'Sullivan <bos@serpentine.com>
parents:
815
diff
changeset
|
1087 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
|
1088 """show how files match on given patterns""" |
6579
0159b7a36184
walk: pass match object to cmdutil.walk
Matt Mackall <mpm@selenic.com>
parents:
6578
diff
changeset
|
1089 m = cmdutil.match(repo, pats, opts) |
6585 | 1090 items = list(repo.walk(m)) |
1065
6e94c0365d98
Cleanups to commands.py
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1062
diff
changeset
|
1091 if not items: |
6e94c0365d98
Cleanups to commands.py
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1062
diff
changeset
|
1092 return |
6586
d3463007d368
walk: return a single value
Matt Mackall <mpm@selenic.com>
parents:
6585
diff
changeset
|
1093 fmt = 'f %%-%ds %%-%ds %%s' % ( |
d3463007d368
walk: return a single value
Matt Mackall <mpm@selenic.com>
parents:
6585
diff
changeset
|
1094 max([len(abs) for abs in items]), |
d3463007d368
walk: return a single value
Matt Mackall <mpm@selenic.com>
parents:
6585
diff
changeset
|
1095 max([len(m.rel(abs)) for abs in items])) |
d3463007d368
walk: return a single value
Matt Mackall <mpm@selenic.com>
parents:
6585
diff
changeset
|
1096 for abs in items: |
d3463007d368
walk: return a single value
Matt Mackall <mpm@selenic.com>
parents:
6585
diff
changeset
|
1097 line = fmt % (abs, m.rel(abs), m.exact(abs) and 'exact' or '') |
1309
332f225b835c
Make debugwalk strip trailing spaces and remove these from test-walk.out
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1285
diff
changeset
|
1098 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
|
1099 |
732
ba0b6d17a6de
Convert diff command over to using walk code.
Bryan O'Sullivan <bos@serpentine.com>
parents:
731
diff
changeset
|
1100 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
|
1101 """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
|
1102 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1103 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
|
1104 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1105 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
|
1106 |
3822
28134d82db9b
Add notes about diff/merge asymmetry to export, diff, and log
Matt Mackall <mpm@selenic.com>
parents:
3815
diff
changeset
|
1107 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
|
1108 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
|
1109 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
|
1110 |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1111 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
|
1112 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
|
1113 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
|
1114 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
|
1115 to its parent. |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1116 |
8033
aeb4a5c7a28e
commands: consistently write switches as -a/--abc
Martin Geisler <mg@lazybytes.net>
parents:
8032
diff
changeset
|
1117 Without the -a/--text option, diff will avoid generating diffs of |
aeb4a5c7a28e
commands: consistently write switches as -a/--abc
Martin Geisler <mg@lazybytes.net>
parents:
8032
diff
changeset
|
1118 files it detects as binary. With -a, diff will generate a diff |
aeb4a5c7a28e
commands: consistently write switches as -a/--abc
Martin Geisler <mg@lazybytes.net>
parents:
8032
diff
changeset
|
1119 anyway, probably with undesirable results. |
aeb4a5c7a28e
commands: consistently write switches as -a/--abc
Martin Geisler <mg@lazybytes.net>
parents:
8032
diff
changeset
|
1120 |
aeb4a5c7a28e
commands: consistently write switches as -a/--abc
Martin Geisler <mg@lazybytes.net>
parents:
8032
diff
changeset
|
1121 Use the -g/--git option to generate diffs in the git extended diff |
7974
a8a719ff150a
commands: use single-quotes for 'hg help ...' hints
Martin Geisler <mg@daimi.au.dk>
parents:
7948
diff
changeset
|
1122 format. For more information, read 'hg help diffs'. |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1123 """ |
7628
9c6ae2e09e11
diff: add --change option to display single changeset diff (issue1420)
Stepan Koltsov <yozh@mx1.ru>
parents:
7622
diff
changeset
|
1124 |
9c6ae2e09e11
diff: add --change option to display single changeset diff (issue1420)
Stepan Koltsov <yozh@mx1.ru>
parents:
7622
diff
changeset
|
1125 revs = opts.get('rev') |
9c6ae2e09e11
diff: add --change option to display single changeset diff (issue1420)
Stepan Koltsov <yozh@mx1.ru>
parents:
7622
diff
changeset
|
1126 change = opts.get('change') |
9640
9e76232fbfbe
diff: add --stat for diffstat output
Brodie Rao <me+hg@dackz.net>
parents:
9636
diff
changeset
|
1127 stat = opts.get('stat') |
9857
24bc6e414610
diff: change --inverse to --reverse
Martin Geisler <mg@lazybytes.net>
parents:
9839
diff
changeset
|
1128 reverse = opts.get('reverse') |
7628
9c6ae2e09e11
diff: add --change option to display single changeset diff (issue1420)
Stepan Koltsov <yozh@mx1.ru>
parents:
7622
diff
changeset
|
1129 |
9c6ae2e09e11
diff: add --change option to display single changeset diff (issue1420)
Stepan Koltsov <yozh@mx1.ru>
parents:
7622
diff
changeset
|
1130 if revs and change: |
9c6ae2e09e11
diff: add --change option to display single changeset diff (issue1420)
Stepan Koltsov <yozh@mx1.ru>
parents:
7622
diff
changeset
|
1131 msg = _('cannot specify --rev and --change at the same time') |
9c6ae2e09e11
diff: add --change option to display single changeset diff (issue1420)
Stepan Koltsov <yozh@mx1.ru>
parents:
7622
diff
changeset
|
1132 raise util.Abort(msg) |
9c6ae2e09e11
diff: add --change option to display single changeset diff (issue1420)
Stepan Koltsov <yozh@mx1.ru>
parents:
7622
diff
changeset
|
1133 elif change: |
9c6ae2e09e11
diff: add --change option to display single changeset diff (issue1420)
Stepan Koltsov <yozh@mx1.ru>
parents:
7622
diff
changeset
|
1134 node2 = repo.lookup(change) |
9c6ae2e09e11
diff: add --change option to display single changeset diff (issue1420)
Stepan Koltsov <yozh@mx1.ru>
parents:
7622
diff
changeset
|
1135 node1 = repo[node2].parents()[0].node() |
9c6ae2e09e11
diff: add --change option to display single changeset diff (issue1420)
Stepan Koltsov <yozh@mx1.ru>
parents:
7622
diff
changeset
|
1136 else: |
9c6ae2e09e11
diff: add --change option to display single changeset diff (issue1420)
Stepan Koltsov <yozh@mx1.ru>
parents:
7622
diff
changeset
|
1137 node1, node2 = cmdutil.revpair(repo, revs) |
245 | 1138 |
9857
24bc6e414610
diff: change --inverse to --reverse
Martin Geisler <mg@lazybytes.net>
parents:
9839
diff
changeset
|
1139 if reverse: |
9725
3f522d2fa633
diff: add --inverse option
Yannick Gingras <ygingras@ygingras.net>
parents:
9718
diff
changeset
|
1140 node1, node2 = node2, node1 |
3f522d2fa633
diff: add --inverse option
Yannick Gingras <ygingras@ygingras.net>
parents:
9718
diff
changeset
|
1141 |
9640
9e76232fbfbe
diff: add --stat for diffstat output
Brodie Rao <me+hg@dackz.net>
parents:
9636
diff
changeset
|
1142 if stat: |
9e76232fbfbe
diff: add --stat for diffstat output
Brodie Rao <me+hg@dackz.net>
parents:
9636
diff
changeset
|
1143 opts['unified'] = '0' |
9642
7d17794f08a9
diffstat: with --git, mark binary files with Bin
Brodie Rao <me+hg@dackz.net>
parents:
9640
diff
changeset
|
1144 diffopts = patch.diffopts(ui, opts) |
9640
9e76232fbfbe
diff: add --stat for diffstat output
Brodie Rao <me+hg@dackz.net>
parents:
9636
diff
changeset
|
1145 |
6582
5acbdd3941c4
walk: remove remaining users of cmdutils.matchpats
Matt Mackall <mpm@selenic.com>
parents:
6579
diff
changeset
|
1146 m = cmdutil.match(repo, pats, opts) |
9642
7d17794f08a9
diffstat: with --git, mark binary files with Bin
Brodie Rao <me+hg@dackz.net>
parents:
9640
diff
changeset
|
1147 it = patch.diff(repo, node1, node2, match=m, opts=diffopts) |
9640
9e76232fbfbe
diff: add --stat for diffstat output
Brodie Rao <me+hg@dackz.net>
parents:
9636
diff
changeset
|
1148 if stat: |
9e76232fbfbe
diff: add --stat for diffstat output
Brodie Rao <me+hg@dackz.net>
parents:
9636
diff
changeset
|
1149 width = ui.interactive() and util.termwidth() or 80 |
9642
7d17794f08a9
diffstat: with --git, mark binary files with Bin
Brodie Rao <me+hg@dackz.net>
parents:
9640
diff
changeset
|
1150 ui.write(patch.diffstat(util.iterlines(it), width=width, |
7d17794f08a9
diffstat: with --git, mark binary files with Bin
Brodie Rao <me+hg@dackz.net>
parents:
9640
diff
changeset
|
1151 git=diffopts.git)) |
9640
9e76232fbfbe
diff: add --stat for diffstat output
Brodie Rao <me+hg@dackz.net>
parents:
9636
diff
changeset
|
1152 else: |
9e76232fbfbe
diff: add --stat for diffstat output
Brodie Rao <me+hg@dackz.net>
parents:
9636
diff
changeset
|
1153 for chunk in it: |
9e76232fbfbe
diff: add --stat for diffstat output
Brodie Rao <me+hg@dackz.net>
parents:
9636
diff
changeset
|
1154 ui.write(chunk) |
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
|
1155 |
580 | 1156 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
|
1157 """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
|
1158 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1159 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
|
1160 |
10334
3d75c691b77d
commands: fix the list of changeset header information in 'hg help export'
Steve Losh <steve@stevelosh.com>
parents:
10331
diff
changeset
|
1161 The information shown in the changeset header is: author, date, |
10335
6ae4f390ec61
commands: fix more changeset header information in 'hg help export'
Steve Losh <steve@stevelosh.com>
parents:
10334
diff
changeset
|
1162 branch name (if non-default), changeset hash, parent(s) and commit |
6ae4f390ec61
commands: fix more changeset header information in 'hg help export'
Steve Losh <steve@stevelosh.com>
parents:
10334
diff
changeset
|
1163 comment. |
3822
28134d82db9b
Add notes about diff/merge asymmetry to export, diff, and log
Matt Mackall <mpm@selenic.com>
parents:
3815
diff
changeset
|
1164 |
8004
d5b1b846f277
commands: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
1165 NOTE: export may generate unexpected diff output for merge |
d5b1b846f277
commands: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
1166 changesets, as it will compare the merge changeset against its |
d5b1b846f277
commands: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
1167 first parent only. |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1168 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1169 Output may be to a file, in which case the name of the file is |
9892
4322e39bd525
commands: use field lists instead of literal blocks in docstrings
Martin Geisler <mg@lazybytes.net>
parents:
9891
diff
changeset
|
1170 given using a format string. The formatting rules are as follows: |
4322e39bd525
commands: use field lists instead of literal blocks in docstrings
Martin Geisler <mg@lazybytes.net>
parents:
9891
diff
changeset
|
1171 |
4322e39bd525
commands: use field lists instead of literal blocks in docstrings
Martin Geisler <mg@lazybytes.net>
parents:
9891
diff
changeset
|
1172 :``%%``: literal "%" character |
4322e39bd525
commands: use field lists instead of literal blocks in docstrings
Martin Geisler <mg@lazybytes.net>
parents:
9891
diff
changeset
|
1173 :``%H``: changeset hash (40 bytes of hexadecimal) |
4322e39bd525
commands: use field lists instead of literal blocks in docstrings
Martin Geisler <mg@lazybytes.net>
parents:
9891
diff
changeset
|
1174 :``%N``: number of patches being generated |
4322e39bd525
commands: use field lists instead of literal blocks in docstrings
Martin Geisler <mg@lazybytes.net>
parents:
9891
diff
changeset
|
1175 :``%R``: changeset revision number |
4322e39bd525
commands: use field lists instead of literal blocks in docstrings
Martin Geisler <mg@lazybytes.net>
parents:
9891
diff
changeset
|
1176 :``%b``: basename of the exporting repository |
4322e39bd525
commands: use field lists instead of literal blocks in docstrings
Martin Geisler <mg@lazybytes.net>
parents:
9891
diff
changeset
|
1177 :``%h``: short-form changeset hash (12 bytes of hexadecimal) |
4322e39bd525
commands: use field lists instead of literal blocks in docstrings
Martin Geisler <mg@lazybytes.net>
parents:
9891
diff
changeset
|
1178 :``%n``: zero-padded sequence number, starting at 1 |
4322e39bd525
commands: use field lists instead of literal blocks in docstrings
Martin Geisler <mg@lazybytes.net>
parents:
9891
diff
changeset
|
1179 :``%r``: zero-padded changeset revision number |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1180 |
8033
aeb4a5c7a28e
commands: consistently write switches as -a/--abc
Martin Geisler <mg@lazybytes.net>
parents:
8032
diff
changeset
|
1181 Without the -a/--text option, export will avoid generating diffs |
aeb4a5c7a28e
commands: consistently write switches as -a/--abc
Martin Geisler <mg@lazybytes.net>
parents:
8032
diff
changeset
|
1182 of files it detects as binary. With -a, export will generate a |
aeb4a5c7a28e
commands: consistently write switches as -a/--abc
Martin Geisler <mg@lazybytes.net>
parents:
8032
diff
changeset
|
1183 diff anyway, probably with undesirable results. |
aeb4a5c7a28e
commands: consistently write switches as -a/--abc
Martin Geisler <mg@lazybytes.net>
parents:
8032
diff
changeset
|
1184 |
aeb4a5c7a28e
commands: consistently write switches as -a/--abc
Martin Geisler <mg@lazybytes.net>
parents:
8032
diff
changeset
|
1185 Use the -g/--git option to generate diffs in the git extended diff |
8779
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
1186 format. See 'hg help diffs' for more information. |
7307
56380212d630
help: commands supporting --git point to the gitdiffs topic (issue1352)
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
7303
diff
changeset
|
1187 |
8004
d5b1b846f277
commands: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
1188 With the --switch-parent option, the diff will be against the |
d5b1b846f277
commands: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
1189 second 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
|
1190 """ |
10015
b5f352f33520
commands.export: accept -r option as revision specification
Alexander Solovyov <piranha@piranha.org.ua>
parents:
10014
diff
changeset
|
1191 changesets += tuple(opts.get('rev', [])) |
610
4c02464cb9f0
check export options for changeset before running
shaleh@speakeasy.net
parents:
609
diff
changeset
|
1192 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
|
1193 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
|
1194 revs = cmdutil.revrange(repo, changesets) |
2874
4ec58b157265
refactor text diff/patch code.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2871
diff
changeset
|
1195 if len(revs) > 1: |
4ec58b157265
refactor text diff/patch code.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2871
diff
changeset
|
1196 ui.note(_('exporting patches:\n')) |
4ec58b157265
refactor text diff/patch code.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2871
diff
changeset
|
1197 else: |
4ec58b157265
refactor text diff/patch code.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2871
diff
changeset
|
1198 ui.note(_('exporting patch:\n')) |
7131
23bd7383891c
commands: optional options where possible
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7126
diff
changeset
|
1199 patch.export(repo, revs, template=opts.get('output'), |
23bd7383891c
commands: optional options where possible
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7126
diff
changeset
|
1200 switch_parent=opts.get('switch_parent'), |
2888
3848488244fc
Move ui.diffopts to patch.diffopts where it belongs
Matt Mackall <mpm@selenic.com>
parents:
2883
diff
changeset
|
1201 opts=patch.diffopts(ui, opts)) |
246
96cde50a746f
Migrate rawcommit, import, export, history, and merge
mpm@selenic.com
parents:
245
diff
changeset
|
1202 |
8902
b9a8b616521d
Add a forget command for easily untracking files.
Steve Losh <steve@stevelosh.com>
parents:
8879
diff
changeset
|
1203 def forget(ui, repo, *pats, **opts): |
b9a8b616521d
Add a forget command for easily untracking files.
Steve Losh <steve@stevelosh.com>
parents:
8879
diff
changeset
|
1204 """forget the specified files on the next commit |
b9a8b616521d
Add a forget command for easily untracking files.
Steve Losh <steve@stevelosh.com>
parents:
8879
diff
changeset
|
1205 |
b9a8b616521d
Add a forget command for easily untracking files.
Steve Losh <steve@stevelosh.com>
parents:
8879
diff
changeset
|
1206 Mark the specified files so they will no longer be tracked |
b9a8b616521d
Add a forget command for easily untracking files.
Steve Losh <steve@stevelosh.com>
parents:
8879
diff
changeset
|
1207 after the next commit. |
b9a8b616521d
Add a forget command for easily untracking files.
Steve Losh <steve@stevelosh.com>
parents:
8879
diff
changeset
|
1208 |
b9a8b616521d
Add a forget command for easily untracking files.
Steve Losh <steve@stevelosh.com>
parents:
8879
diff
changeset
|
1209 This only removes files from the current branch, not from the |
b9a8b616521d
Add a forget command for easily untracking files.
Steve Losh <steve@stevelosh.com>
parents:
8879
diff
changeset
|
1210 entire project history, and it does not delete them from the |
b9a8b616521d
Add a forget command for easily untracking files.
Steve Losh <steve@stevelosh.com>
parents:
8879
diff
changeset
|
1211 working directory. |
b9a8b616521d
Add a forget command for easily untracking files.
Steve Losh <steve@stevelosh.com>
parents:
8879
diff
changeset
|
1212 |
b9a8b616521d
Add a forget command for easily untracking files.
Steve Losh <steve@stevelosh.com>
parents:
8879
diff
changeset
|
1213 To undo a forget before the next commit, see hg add. |
b9a8b616521d
Add a forget command for easily untracking files.
Steve Losh <steve@stevelosh.com>
parents:
8879
diff
changeset
|
1214 """ |
b9a8b616521d
Add a forget command for easily untracking files.
Steve Losh <steve@stevelosh.com>
parents:
8879
diff
changeset
|
1215 |
b9a8b616521d
Add a forget command for easily untracking files.
Steve Losh <steve@stevelosh.com>
parents:
8879
diff
changeset
|
1216 if not pats: |
b9a8b616521d
Add a forget command for easily untracking files.
Steve Losh <steve@stevelosh.com>
parents:
8879
diff
changeset
|
1217 raise util.Abort(_('no files specified')) |
b9a8b616521d
Add a forget command for easily untracking files.
Steve Losh <steve@stevelosh.com>
parents:
8879
diff
changeset
|
1218 |
b9a8b616521d
Add a forget command for easily untracking files.
Steve Losh <steve@stevelosh.com>
parents:
8879
diff
changeset
|
1219 m = cmdutil.match(repo, pats, opts) |
b9a8b616521d
Add a forget command for easily untracking files.
Steve Losh <steve@stevelosh.com>
parents:
8879
diff
changeset
|
1220 s = repo.status(match=m, clean=True) |
b9a8b616521d
Add a forget command for easily untracking files.
Steve Losh <steve@stevelosh.com>
parents:
8879
diff
changeset
|
1221 forget = sorted(s[0] + s[1] + s[3] + s[6]) |
b9a8b616521d
Add a forget command for easily untracking files.
Steve Losh <steve@stevelosh.com>
parents:
8879
diff
changeset
|
1222 |
b9a8b616521d
Add a forget command for easily untracking files.
Steve Losh <steve@stevelosh.com>
parents:
8879
diff
changeset
|
1223 for f in m.files(): |
b9a8b616521d
Add a forget command for easily untracking files.
Steve Losh <steve@stevelosh.com>
parents:
8879
diff
changeset
|
1224 if f not in repo.dirstate and not os.path.isdir(m.rel(f)): |
b9a8b616521d
Add a forget command for easily untracking files.
Steve Losh <steve@stevelosh.com>
parents:
8879
diff
changeset
|
1225 ui.warn(_('not removing %s: file is already untracked\n') |
b9a8b616521d
Add a forget command for easily untracking files.
Steve Losh <steve@stevelosh.com>
parents:
8879
diff
changeset
|
1226 % m.rel(f)) |
b9a8b616521d
Add a forget command for easily untracking files.
Steve Losh <steve@stevelosh.com>
parents:
8879
diff
changeset
|
1227 |
b9a8b616521d
Add a forget command for easily untracking files.
Steve Losh <steve@stevelosh.com>
parents:
8879
diff
changeset
|
1228 for f in forget: |
b9a8b616521d
Add a forget command for easily untracking files.
Steve Losh <steve@stevelosh.com>
parents:
8879
diff
changeset
|
1229 if ui.verbose or not m.exact(f): |
b9a8b616521d
Add a forget command for easily untracking files.
Steve Losh <steve@stevelosh.com>
parents:
8879
diff
changeset
|
1230 ui.status(_('removing %s\n') % m.rel(f)) |
b9a8b616521d
Add a forget command for easily untracking files.
Steve Losh <steve@stevelosh.com>
parents:
8879
diff
changeset
|
1231 |
b9a8b616521d
Add a forget command for easily untracking files.
Steve Losh <steve@stevelosh.com>
parents:
8879
diff
changeset
|
1232 repo.remove(forget, unlink=False) |
b9a8b616521d
Add a forget command for easily untracking files.
Steve Losh <steve@stevelosh.com>
parents:
8879
diff
changeset
|
1233 |
1108
7a75d8fbbdaf
Remove some options from 'hg grep':
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1106
diff
changeset
|
1234 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
|
1235 """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
|
1236 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1237 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
|
1238 |
6448
cd3d49ffc6f6
Consistently 1 space after full stops in command doc strings
Christian Ebert <blacktrash@gmx.net>
parents:
6442
diff
changeset
|
1239 This command behaves differently than Unix grep. It only accepts |
cd3d49ffc6f6
Consistently 1 space after full stops in command doc strings
Christian Ebert <blacktrash@gmx.net>
parents:
6442
diff
changeset
|
1240 Python/Perl regexps. It searches repository history, not the |
8004
d5b1b846f277
commands: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
1241 working directory. It always prints the revision number in which a |
d5b1b846f277
commands: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
1242 match appears. |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1243 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1244 By default, grep only prints output for the first revision of a |
6448
cd3d49ffc6f6
Consistently 1 space after full stops in command doc strings
Christian Ebert <blacktrash@gmx.net>
parents:
6442
diff
changeset
|
1245 file in which it finds a match. To get it to print every revision |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1246 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
|
1247 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
|
1248 use the --all flag. |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1249 """ |
1057 | 1250 reflags = 0 |
7131
23bd7383891c
commands: optional options where possible
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7126
diff
changeset
|
1251 if opts.get('ignore_case'): |
1065
6e94c0365d98
Cleanups to commands.py
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1062
diff
changeset
|
1252 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
|
1253 try: |
242026115e6a
hg grep: handle re.compile errors & update tests/test-grep
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
4835
diff
changeset
|
1254 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
|
1255 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
|
1256 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
|
1257 return None |
1146
9061f79c6c6f
grep: extend functionality, add man page entry, add unit test.
bos@serpentine.internal.keyresearch.com
parents:
1145
diff
changeset
|
1258 sep, eol = ':', '\n' |
7131
23bd7383891c
commands: optional options where possible
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7126
diff
changeset
|
1259 if opts.get('print0'): |
1146
9061f79c6c6f
grep: extend functionality, add man page entry, add unit test.
bos@serpentine.internal.keyresearch.com
parents:
1145
diff
changeset
|
1260 sep = eol = '\0' |
1057 | 1261 |
9097
431462bd8478
fix memory usage of revlog caches by limiting cache size [issue1639]
Matt Mackall <mpm@selenic.com>
parents:
8995
diff
changeset
|
1262 getfile = util.lrucachefunc(repo.file) |
1057 | 1263 |
1264 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
|
1265 begin = 0 |
4eab07ef66e2
grep: speed up matching, and only return one match per line.
bos@serpentine.internal.keyresearch.com
parents:
1058
diff
changeset
|
1266 linenum = 0 |
4eab07ef66e2
grep: speed up matching, and only return one match per line.
bos@serpentine.internal.keyresearch.com
parents:
1058
diff
changeset
|
1267 while True: |
4eab07ef66e2
grep: speed up matching, and only return one match per line.
bos@serpentine.internal.keyresearch.com
parents:
1058
diff
changeset
|
1268 match = regexp.search(body, begin) |
1065
6e94c0365d98
Cleanups to commands.py
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1062
diff
changeset
|
1269 if not match: |
6e94c0365d98
Cleanups to commands.py
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1062
diff
changeset
|
1270 break |
1059
4eab07ef66e2
grep: speed up matching, and only return one match per line.
bos@serpentine.internal.keyresearch.com
parents:
1058
diff
changeset
|
1271 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
|
1272 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
|
1273 lstart = body.rfind('\n', begin, mstart) + 1 or begin |
7230
261a9f47b44b
grep: avoid infinite loop when trailing newline is missing
Matt Mackall <mpm@selenic.com>
parents:
7228
diff
changeset
|
1274 begin = body.find('\n', mend) + 1 or len(body) |
261a9f47b44b
grep: avoid infinite loop when trailing newline is missing
Matt Mackall <mpm@selenic.com>
parents:
7228
diff
changeset
|
1275 lend = begin - 1 |
1059
4eab07ef66e2
grep: speed up matching, and only return one match per line.
bos@serpentine.internal.keyresearch.com
parents:
1058
diff
changeset
|
1276 yield linenum, mstart - lstart, mend - lstart, body[lstart:lend] |
1057 | 1277 |
1559
59b3639df0a9
Convert all classes to new-style classes by deriving them from object.
Eric Hopper <hopper@omnifarious.org>
parents:
1552
diff
changeset
|
1278 class linestate(object): |
1057 | 1279 def __init__(self, line, linenum, colstart, colend): |
1280 self.line = line | |
1281 self.linenum = linenum | |
1282 self.colstart = colstart | |
1283 self.colend = colend | |
2869
81f351c5264d
grep: display correct user/revision for --all in reverse.
Brendan Cully <brendan@kublai.com>
parents:
2854
diff
changeset
|
1284 |
6469
fb502719c75c
python 2.6 compatibility: add __hash__ to classes that have __eq__
Paul Moore <p.f.moore@gmail.com>
parents:
6468
diff
changeset
|
1285 def __hash__(self): |
fb502719c75c
python 2.6 compatibility: add __hash__ to classes that have __eq__
Paul Moore <p.f.moore@gmail.com>
parents:
6468
diff
changeset
|
1286 return hash((self.linenum, self.line)) |
fb502719c75c
python 2.6 compatibility: add __hash__ to classes that have __eq__
Paul Moore <p.f.moore@gmail.com>
parents:
6468
diff
changeset
|
1287 |
1065
6e94c0365d98
Cleanups to commands.py
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1062
diff
changeset
|
1288 def __eq__(self, other): |
6e94c0365d98
Cleanups to commands.py
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1062
diff
changeset
|
1289 return self.line == other.line |
1057 | 1290 |
1291 matches = {} | |
2870
8eaaf1321bfe
grep: add --follow support.
Brendan Cully <brendan@kublai.com>
parents:
2869
diff
changeset
|
1292 copies = {} |
1057 | 1293 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
|
1294 matches[rev].setdefault(fn, []) |
1057 | 1295 m = matches[rev][fn] |
1296 for lnum, cstart, cend, line in matchlines(body): | |
1297 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
|
1298 m.append(s) |
81f351c5264d
grep: display correct user/revision for --all in reverse.
Brendan Cully <brendan@kublai.com>
parents:
2854
diff
changeset
|
1299 |
81f351c5264d
grep: display correct user/revision for --all in reverse.
Brendan Cully <brendan@kublai.com>
parents:
2854
diff
changeset
|
1300 def difflinestates(a, b): |
81f351c5264d
grep: display correct user/revision for --all in reverse.
Brendan Cully <brendan@kublai.com>
parents:
2854
diff
changeset
|
1301 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
|
1302 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
|
1303 if tag == 'insert': |
3472
df7202f6887c
use xrange instead of range
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3471
diff
changeset
|
1304 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
|
1305 yield ('+', b[i]) |
81f351c5264d
grep: display correct user/revision for --all in reverse.
Brendan Cully <brendan@kublai.com>
parents:
2854
diff
changeset
|
1306 elif tag == 'delete': |
3472
df7202f6887c
use xrange instead of range
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3471
diff
changeset
|
1307 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
|
1308 yield ('-', a[i]) |
81f351c5264d
grep: display correct user/revision for --all in reverse.
Brendan Cully <brendan@kublai.com>
parents:
2854
diff
changeset
|
1309 elif tag == 'replace': |
3472
df7202f6887c
use xrange instead of range
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3471
diff
changeset
|
1310 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
|
1311 yield ('-', a[i]) |
3472
df7202f6887c
use xrange instead of range
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3471
diff
changeset
|
1312 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
|
1313 yield ('+', b[i]) |
81f351c5264d
grep: display correct user/revision for --all in reverse.
Brendan Cully <brendan@kublai.com>
parents:
2854
diff
changeset
|
1314 |
9655
6d7d3f849062
walkchangerevs: internalize ctx caching
Matt Mackall <mpm@selenic.com>
parents:
9654
diff
changeset
|
1315 def display(fn, ctx, pstates, states): |
6d7d3f849062
walkchangerevs: internalize ctx caching
Matt Mackall <mpm@selenic.com>
parents:
9654
diff
changeset
|
1316 rev = ctx.rev() |
6134
7b937b26adf7
Make annotae/grep print short dates with -q/--quiet.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6133
diff
changeset
|
1317 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
|
1318 found = False |
1146
9061f79c6c6f
grep: extend functionality, add man page entry, add unit test.
bos@serpentine.internal.keyresearch.com
parents:
1145
diff
changeset
|
1319 filerevmatches = {} |
7131
23bd7383891c
commands: optional options where possible
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7126
diff
changeset
|
1320 if opts.get('all'): |
8849
80cc4b1a62d0
compare grep result between target and its parent
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
8834
diff
changeset
|
1321 iter = difflinestates(pstates, states) |
2869
81f351c5264d
grep: display correct user/revision for --all in reverse.
Brendan Cully <brendan@kublai.com>
parents:
2854
diff
changeset
|
1322 else: |
8849
80cc4b1a62d0
compare grep result between target and its parent
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
8834
diff
changeset
|
1323 iter = [('', l) for l in states] |
3951
cb66641cdee3
grep: remove count handling, simplify, fix issue337
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3950
diff
changeset
|
1324 for change, l in iter: |
9655
6d7d3f849062
walkchangerevs: internalize ctx caching
Matt Mackall <mpm@selenic.com>
parents:
9654
diff
changeset
|
1325 cols = [fn, str(rev)] |
7131
23bd7383891c
commands: optional options where possible
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7126
diff
changeset
|
1326 if opts.get('line_number'): |
1615
83238c1db6de
Cleanup of indentation, spacing, newlines, strings and line length
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1607
diff
changeset
|
1327 cols.append(str(l.linenum)) |
7131
23bd7383891c
commands: optional options where possible
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7126
diff
changeset
|
1328 if opts.get('all'): |
1615
83238c1db6de
Cleanup of indentation, spacing, newlines, strings and line length
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1607
diff
changeset
|
1329 cols.append(change) |
7131
23bd7383891c
commands: optional options where possible
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7126
diff
changeset
|
1330 if opts.get('user'): |
9655
6d7d3f849062
walkchangerevs: internalize ctx caching
Matt Mackall <mpm@selenic.com>
parents:
9654
diff
changeset
|
1331 cols.append(ui.shortuser(ctx.user())) |
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
|
1332 if opts.get('date'): |
9655
6d7d3f849062
walkchangerevs: internalize ctx caching
Matt Mackall <mpm@selenic.com>
parents:
9654
diff
changeset
|
1333 cols.append(datefunc(ctx.date())) |
7131
23bd7383891c
commands: optional options where possible
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7126
diff
changeset
|
1334 if opts.get('files_with_matches'): |
9655
6d7d3f849062
walkchangerevs: internalize ctx caching
Matt Mackall <mpm@selenic.com>
parents:
9654
diff
changeset
|
1335 c = (fn, rev) |
1615
83238c1db6de
Cleanup of indentation, spacing, newlines, strings and line length
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1607
diff
changeset
|
1336 if c in filerevmatches: |
83238c1db6de
Cleanup of indentation, spacing, newlines, strings and line length
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1607
diff
changeset
|
1337 continue |
1146
9061f79c6c6f
grep: extend functionality, add man page entry, add unit test.
bos@serpentine.internal.keyresearch.com
parents:
1145
diff
changeset
|
1338 filerevmatches[c] = 1 |
9061f79c6c6f
grep: extend functionality, add man page entry, add unit test.
bos@serpentine.internal.keyresearch.com
parents:
1145
diff
changeset
|
1339 else: |
9061f79c6c6f
grep: extend functionality, add man page entry, add unit test.
bos@serpentine.internal.keyresearch.com
parents:
1145
diff
changeset
|
1340 cols.append(l.line) |
9061f79c6c6f
grep: extend functionality, add man page entry, add unit test.
bos@serpentine.internal.keyresearch.com
parents:
1145
diff
changeset
|
1341 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
|
1342 found = True |
cb66641cdee3
grep: remove count handling, simplify, fix issue337
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3950
diff
changeset
|
1343 return found |
1057 | 1344 |
1145
bd917e1a26dd
grep: change default to printing first matching rev.
Bryan O'Sullivan <bos@serpentine.com>
parents:
1116
diff
changeset
|
1345 skip = {} |
8849
80cc4b1a62d0
compare grep result between target and its parent
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
8834
diff
changeset
|
1346 revfiles = {} |
9652
2cb0cab10d2e
walkchangerevs: pull out matchfn
Matt Mackall <mpm@selenic.com>
parents:
9625
diff
changeset
|
1347 matchfn = cmdutil.match(repo, pats, opts) |
3951
cb66641cdee3
grep: remove count handling, simplify, fix issue337
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3950
diff
changeset
|
1348 found = False |
2870
8eaaf1321bfe
grep: add --follow support.
Brendan Cully <brendan@kublai.com>
parents:
2869
diff
changeset
|
1349 follow = opts.get('follow') |
9662
f3d60543924f
walkchangerevs: move 'add' to callback
Matt Mackall <mpm@selenic.com>
parents:
9656
diff
changeset
|
1350 |
f3d60543924f
walkchangerevs: move 'add' to callback
Matt Mackall <mpm@selenic.com>
parents:
9656
diff
changeset
|
1351 def prep(ctx, fns): |
f3d60543924f
walkchangerevs: move 'add' to callback
Matt Mackall <mpm@selenic.com>
parents:
9656
diff
changeset
|
1352 rev = ctx.rev() |
f3d60543924f
walkchangerevs: move 'add' to callback
Matt Mackall <mpm@selenic.com>
parents:
9656
diff
changeset
|
1353 pctx = ctx.parents()[0] |
f3d60543924f
walkchangerevs: move 'add' to callback
Matt Mackall <mpm@selenic.com>
parents:
9656
diff
changeset
|
1354 parent = pctx.rev() |
f3d60543924f
walkchangerevs: move 'add' to callback
Matt Mackall <mpm@selenic.com>
parents:
9656
diff
changeset
|
1355 matches.setdefault(rev, {}) |
f3d60543924f
walkchangerevs: move 'add' to callback
Matt Mackall <mpm@selenic.com>
parents:
9656
diff
changeset
|
1356 matches.setdefault(parent, {}) |
f3d60543924f
walkchangerevs: move 'add' to callback
Matt Mackall <mpm@selenic.com>
parents:
9656
diff
changeset
|
1357 files = revfiles.setdefault(rev, []) |
f3d60543924f
walkchangerevs: move 'add' to callback
Matt Mackall <mpm@selenic.com>
parents:
9656
diff
changeset
|
1358 for fn in fns: |
f3d60543924f
walkchangerevs: move 'add' to callback
Matt Mackall <mpm@selenic.com>
parents:
9656
diff
changeset
|
1359 flog = getfile(fn) |
f3d60543924f
walkchangerevs: move 'add' to callback
Matt Mackall <mpm@selenic.com>
parents:
9656
diff
changeset
|
1360 try: |
f3d60543924f
walkchangerevs: move 'add' to callback
Matt Mackall <mpm@selenic.com>
parents:
9656
diff
changeset
|
1361 fnode = ctx.filenode(fn) |
f3d60543924f
walkchangerevs: move 'add' to callback
Matt Mackall <mpm@selenic.com>
parents:
9656
diff
changeset
|
1362 except error.LookupError: |
f3d60543924f
walkchangerevs: move 'add' to callback
Matt Mackall <mpm@selenic.com>
parents:
9656
diff
changeset
|
1363 continue |
f3d60543924f
walkchangerevs: move 'add' to callback
Matt Mackall <mpm@selenic.com>
parents:
9656
diff
changeset
|
1364 |
f3d60543924f
walkchangerevs: move 'add' to callback
Matt Mackall <mpm@selenic.com>
parents:
9656
diff
changeset
|
1365 copied = flog.renamed(fnode) |
f3d60543924f
walkchangerevs: move 'add' to callback
Matt Mackall <mpm@selenic.com>
parents:
9656
diff
changeset
|
1366 copy = follow and copied and copied[0] |
f3d60543924f
walkchangerevs: move 'add' to callback
Matt Mackall <mpm@selenic.com>
parents:
9656
diff
changeset
|
1367 if copy: |
f3d60543924f
walkchangerevs: move 'add' to callback
Matt Mackall <mpm@selenic.com>
parents:
9656
diff
changeset
|
1368 copies.setdefault(rev, {})[fn] = copy |
f3d60543924f
walkchangerevs: move 'add' to callback
Matt Mackall <mpm@selenic.com>
parents:
9656
diff
changeset
|
1369 if fn in skip: |
f3d60543924f
walkchangerevs: move 'add' to callback
Matt Mackall <mpm@selenic.com>
parents:
9656
diff
changeset
|
1370 if copy: |
f3d60543924f
walkchangerevs: move 'add' to callback
Matt Mackall <mpm@selenic.com>
parents:
9656
diff
changeset
|
1371 skip[copy] = True |
f3d60543924f
walkchangerevs: move 'add' to callback
Matt Mackall <mpm@selenic.com>
parents:
9656
diff
changeset
|
1372 continue |
f3d60543924f
walkchangerevs: move 'add' to callback
Matt Mackall <mpm@selenic.com>
parents:
9656
diff
changeset
|
1373 files.append(fn) |
f3d60543924f
walkchangerevs: move 'add' to callback
Matt Mackall <mpm@selenic.com>
parents:
9656
diff
changeset
|
1374 |
f3d60543924f
walkchangerevs: move 'add' to callback
Matt Mackall <mpm@selenic.com>
parents:
9656
diff
changeset
|
1375 if fn not in matches[rev]: |
f3d60543924f
walkchangerevs: move 'add' to callback
Matt Mackall <mpm@selenic.com>
parents:
9656
diff
changeset
|
1376 grepbody(fn, rev, flog.read(fnode)) |
f3d60543924f
walkchangerevs: move 'add' to callback
Matt Mackall <mpm@selenic.com>
parents:
9656
diff
changeset
|
1377 |
f3d60543924f
walkchangerevs: move 'add' to callback
Matt Mackall <mpm@selenic.com>
parents:
9656
diff
changeset
|
1378 pfn = copy or fn |
f3d60543924f
walkchangerevs: move 'add' to callback
Matt Mackall <mpm@selenic.com>
parents:
9656
diff
changeset
|
1379 if pfn not in matches[parent]: |
1057 | 1380 try: |
9662
f3d60543924f
walkchangerevs: move 'add' to callback
Matt Mackall <mpm@selenic.com>
parents:
9656
diff
changeset
|
1381 fnode = pctx.filenode(pfn) |
f3d60543924f
walkchangerevs: move 'add' to callback
Matt Mackall <mpm@selenic.com>
parents:
9656
diff
changeset
|
1382 grepbody(pfn, parent, flog.read(fnode)) |
7633 | 1383 except error.LookupError: |
9662
f3d60543924f
walkchangerevs: move 'add' to callback
Matt Mackall <mpm@selenic.com>
parents:
9656
diff
changeset
|
1384 pass |
f3d60543924f
walkchangerevs: move 'add' to callback
Matt Mackall <mpm@selenic.com>
parents:
9656
diff
changeset
|
1385 |
9665
1de5ebfa5585
walkchangerevs: drop ui arg
Matt Mackall <mpm@selenic.com>
parents:
9663
diff
changeset
|
1386 for ctx in cmdutil.walkchangerevs(repo, matchfn, opts, prep): |
9662
f3d60543924f
walkchangerevs: move 'add' to callback
Matt Mackall <mpm@selenic.com>
parents:
9656
diff
changeset
|
1387 rev = ctx.rev() |
f3d60543924f
walkchangerevs: move 'add' to callback
Matt Mackall <mpm@selenic.com>
parents:
9656
diff
changeset
|
1388 parent = ctx.parents()[0].rev() |
f3d60543924f
walkchangerevs: move 'add' to callback
Matt Mackall <mpm@selenic.com>
parents:
9656
diff
changeset
|
1389 for fn in sorted(revfiles.get(rev, [])): |
f3d60543924f
walkchangerevs: move 'add' to callback
Matt Mackall <mpm@selenic.com>
parents:
9656
diff
changeset
|
1390 states = matches[rev][fn] |
f3d60543924f
walkchangerevs: move 'add' to callback
Matt Mackall <mpm@selenic.com>
parents:
9656
diff
changeset
|
1391 copy = copies.get(rev, {}).get(fn) |
f3d60543924f
walkchangerevs: move 'add' to callback
Matt Mackall <mpm@selenic.com>
parents:
9656
diff
changeset
|
1392 if fn in skip: |
8849
80cc4b1a62d0
compare grep result between target and its parent
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
8834
diff
changeset
|
1393 if copy: |
9662
f3d60543924f
walkchangerevs: move 'add' to callback
Matt Mackall <mpm@selenic.com>
parents:
9656
diff
changeset
|
1394 skip[copy] = True |
f3d60543924f
walkchangerevs: move 'add' to callback
Matt Mackall <mpm@selenic.com>
parents:
9656
diff
changeset
|
1395 continue |
f3d60543924f
walkchangerevs: move 'add' to callback
Matt Mackall <mpm@selenic.com>
parents:
9656
diff
changeset
|
1396 pstates = matches.get(parent, {}).get(copy or fn, []) |
f3d60543924f
walkchangerevs: move 'add' to callback
Matt Mackall <mpm@selenic.com>
parents:
9656
diff
changeset
|
1397 if pstates or states: |
f3d60543924f
walkchangerevs: move 'add' to callback
Matt Mackall <mpm@selenic.com>
parents:
9656
diff
changeset
|
1398 r = display(fn, ctx, pstates, states) |
f3d60543924f
walkchangerevs: move 'add' to callback
Matt Mackall <mpm@selenic.com>
parents:
9656
diff
changeset
|
1399 found = found or r |
f3d60543924f
walkchangerevs: move 'add' to callback
Matt Mackall <mpm@selenic.com>
parents:
9656
diff
changeset
|
1400 if r and not opts.get('all'): |
f3d60543924f
walkchangerevs: move 'add' to callback
Matt Mackall <mpm@selenic.com>
parents:
9656
diff
changeset
|
1401 skip[fn] = True |
8849
80cc4b1a62d0
compare grep result between target and its parent
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
8834
diff
changeset
|
1402 if copy: |
80cc4b1a62d0
compare grep result between target and its parent
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
8834
diff
changeset
|
1403 skip[copy] = True |
9662
f3d60543924f
walkchangerevs: move 'add' to callback
Matt Mackall <mpm@selenic.com>
parents:
9656
diff
changeset
|
1404 del matches[rev] |
f3d60543924f
walkchangerevs: move 'add' to callback
Matt Mackall <mpm@selenic.com>
parents:
9656
diff
changeset
|
1405 del revfiles[rev] |
1057 | 1406 |
4648
8e503fa54d2d
Add option to heads to show only heads for current branch.
Eric Hopper <hopper@omnifarious.org>
parents:
4646
diff
changeset
|
1407 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
|
1408 """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
|
1409 |
10350
fd511e9eeea6
commands: do all branch heads by default, demote topological to -t/--topo
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
10349
diff
changeset
|
1410 With no arguments, show all repository branch heads. |
4648
8e503fa54d2d
Add option to heads to show only heads for current branch.
Eric Hopper <hopper@omnifarious.org>
parents:
4646
diff
changeset
|
1411 |
9502
8d7d68dd91fd
commands: tweak help for 'heads'.
Greg Ward <greg-hg@gerg.ca>
parents:
9189
diff
changeset
|
1412 Repository "heads" are changesets with no child changesets. They are |
8d7d68dd91fd
commands: tweak help for 'heads'.
Greg Ward <greg-hg@gerg.ca>
parents:
9189
diff
changeset
|
1413 where development generally takes place and are the usual targets |
10350
fd511e9eeea6
commands: do all branch heads by default, demote topological to -t/--topo
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
10349
diff
changeset
|
1414 for update and merge operations. Branch heads are changesets that have |
fd511e9eeea6
commands: do all branch heads by default, demote topological to -t/--topo
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
10349
diff
changeset
|
1415 no child changeset on the same branch. |
fd511e9eeea6
commands: do all branch heads by default, demote topological to -t/--topo
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
10349
diff
changeset
|
1416 |
fd511e9eeea6
commands: do all branch heads by default, demote topological to -t/--topo
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
10349
diff
changeset
|
1417 If one or more REVs are given, only branch heads on the branches |
fd511e9eeea6
commands: do all branch heads by default, demote topological to -t/--topo
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
10349
diff
changeset
|
1418 associated with the specified changesets are shown. |
9502
8d7d68dd91fd
commands: tweak help for 'heads'.
Greg Ward <greg-hg@gerg.ca>
parents:
9189
diff
changeset
|
1419 |
8d7d68dd91fd
commands: tweak help for 'heads'.
Greg Ward <greg-hg@gerg.ca>
parents:
9189
diff
changeset
|
1420 If -c/--closed is specified, also show branch heads marked closed |
8d7d68dd91fd
commands: tweak help for 'heads'.
Greg Ward <greg-hg@gerg.ca>
parents:
9189
diff
changeset
|
1421 (see hg commit --close-branch). |
8d7d68dd91fd
commands: tweak help for 'heads'.
Greg Ward <greg-hg@gerg.ca>
parents:
9189
diff
changeset
|
1422 |
8d7d68dd91fd
commands: tweak help for 'heads'.
Greg Ward <greg-hg@gerg.ca>
parents:
9189
diff
changeset
|
1423 If STARTREV is specified, only those heads that are descendants of |
8d7d68dd91fd
commands: tweak help for 'heads'.
Greg Ward <greg-hg@gerg.ca>
parents:
9189
diff
changeset
|
1424 STARTREV will be displayed. |
10350
fd511e9eeea6
commands: do all branch heads by default, demote topological to -t/--topo
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
10349
diff
changeset
|
1425 |
fd511e9eeea6
commands: do all branch heads by default, demote topological to -t/--topo
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
10349
diff
changeset
|
1426 If -t/--topo is specified, named branch mechanics will be ignored and only |
fd511e9eeea6
commands: do all branch heads by default, demote topological to -t/--topo
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
10349
diff
changeset
|
1427 changesets without children will be shown. |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1428 """ |
10328
0798a3d5f812
commands: simplify heads a little bit before I start hacking it up
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
10326
diff
changeset
|
1429 |
7131
23bd7383891c
commands: optional options where possible
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7126
diff
changeset
|
1430 if opts.get('rev'): |
4648
8e503fa54d2d
Add option to heads to show only heads for current branch.
Eric Hopper <hopper@omnifarious.org>
parents:
4646
diff
changeset
|
1431 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
|
1432 else: |
8e503fa54d2d
Add option to heads to show only heads for current branch.
Eric Hopper <hopper@omnifarious.org>
parents:
4646
diff
changeset
|
1433 start = None |
10328
0798a3d5f812
commands: simplify heads a little bit before I start hacking it up
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
10326
diff
changeset
|
1434 |
10350
fd511e9eeea6
commands: do all branch heads by default, demote topological to -t/--topo
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
10349
diff
changeset
|
1435 if opts.get('topo'): |
fd511e9eeea6
commands: do all branch heads by default, demote topological to -t/--topo
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
10349
diff
changeset
|
1436 heads = [repo[h] for h in 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
|
1437 else: |
10348
0fc5222c0951
commands: externalize branchheads so we can do it for all branches at once
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
10347
diff
changeset
|
1438 heads = [] |
0fc5222c0951
commands: externalize branchheads so we can do it for all branches at once
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
10347
diff
changeset
|
1439 for b, ls in repo.branchmap().iteritems(): |
0fc5222c0951
commands: externalize branchheads so we can do it for all branches at once
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
10347
diff
changeset
|
1440 if start is None: |
10350
fd511e9eeea6
commands: do all branch heads by default, demote topological to -t/--topo
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
10349
diff
changeset
|
1441 heads += [repo[h] for h in ls] |
10348
0fc5222c0951
commands: externalize branchheads so we can do it for all branches at once
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
10347
diff
changeset
|
1442 continue |
0fc5222c0951
commands: externalize branchheads so we can do it for all branches at once
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
10347
diff
changeset
|
1443 startrev = repo.changelog.rev(start) |
0fc5222c0951
commands: externalize branchheads so we can do it for all branches at once
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
10347
diff
changeset
|
1444 descendants = set(repo.changelog.descendants(startrev)) |
0fc5222c0951
commands: externalize branchheads so we can do it for all branches at once
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
10347
diff
changeset
|
1445 descendants.add(startrev) |
10350
fd511e9eeea6
commands: do all branch heads by default, demote topological to -t/--topo
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
10349
diff
changeset
|
1446 rev = repo.changelog.rev |
fd511e9eeea6
commands: do all branch heads by default, demote topological to -t/--topo
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
10349
diff
changeset
|
1447 heads += [repo[h] for h in ls if rev(h) in descendants] |
fd511e9eeea6
commands: do all branch heads by default, demote topological to -t/--topo
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
10349
diff
changeset
|
1448 |
fd511e9eeea6
commands: do all branch heads by default, demote topological to -t/--topo
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
10349
diff
changeset
|
1449 if branchrevs: |
fd511e9eeea6
commands: do all branch heads by default, demote topological to -t/--topo
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
10349
diff
changeset
|
1450 decode, encode = encoding.fromlocal, encoding.tolocal |
fd511e9eeea6
commands: do all branch heads by default, demote topological to -t/--topo
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
10349
diff
changeset
|
1451 branches = set(repo[decode(br)].branch() for br in branchrevs) |
fd511e9eeea6
commands: do all branch heads by default, demote topological to -t/--topo
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
10349
diff
changeset
|
1452 heads = [h for h in heads if h.branch() in branches] |
10328
0798a3d5f812
commands: simplify heads a little bit before I start hacking it up
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
10326
diff
changeset
|
1453 |
10349
20356e69710c
commands: actually implement --closed for topological heads
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
10348
diff
changeset
|
1454 if not opts.get('closed'): |
10350
fd511e9eeea6
commands: do all branch heads by default, demote topological to -t/--topo
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
10349
diff
changeset
|
1455 heads = [h for h in heads if not h.extra().get('close')] |
10349
20356e69710c
commands: actually implement --closed for topological heads
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
10348
diff
changeset
|
1456 |
20356e69710c
commands: actually implement --closed for topological heads
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
10348
diff
changeset
|
1457 if opts.get('active') and branchrevs: |
20356e69710c
commands: actually implement --closed for topological heads
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
10348
diff
changeset
|
1458 dagheads = repo.heads(start) |
10350
fd511e9eeea6
commands: do all branch heads by default, demote topological to -t/--topo
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
10349
diff
changeset
|
1459 heads = [h for h in heads if h.node() in dagheads] |
10349
20356e69710c
commands: actually implement --closed for topological heads
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
10348
diff
changeset
|
1460 |
20356e69710c
commands: actually implement --closed for topological heads
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
10348
diff
changeset
|
1461 if branchrevs: |
10350
fd511e9eeea6
commands: do all branch heads by default, demote topological to -t/--topo
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
10349
diff
changeset
|
1462 haveheads = set(h.branch() for h in heads) |
10346
e2db50cae6e6
commands: don't do too much work for error messages
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
10345
diff
changeset
|
1463 if branches - haveheads: |
e2db50cae6e6
commands: don't do too much work for error messages
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
10345
diff
changeset
|
1464 headless = ', '.join(encode(b) for b in branches - haveheads) |
e2db50cae6e6
commands: don't do too much work for error messages
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
10345
diff
changeset
|
1465 msg = _('no open branch heads found on branches %s') |
e2db50cae6e6
commands: don't do too much work for error messages
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
10345
diff
changeset
|
1466 if opts.get('rev'): |
e2db50cae6e6
commands: don't do too much work for error messages
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
10345
diff
changeset
|
1467 msg += _(' (started at %s)' % opts['rev']) |
e2db50cae6e6
commands: don't do too much work for error messages
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
10345
diff
changeset
|
1468 ui.warn((msg + '\n') % headless) |
e2db50cae6e6
commands: don't do too much work for error messages
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
10345
diff
changeset
|
1469 |
4648
8e503fa54d2d
Add option to heads to show only heads for current branch.
Eric Hopper <hopper@omnifarious.org>
parents:
4646
diff
changeset
|
1470 if not heads: |
8e503fa54d2d
Add option to heads to show only heads for current branch.
Eric Hopper <hopper@omnifarious.org>
parents:
4646
diff
changeset
|
1471 return 1 |
10328
0798a3d5f812
commands: simplify heads a little bit before I start hacking it up
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
10326
diff
changeset
|
1472 |
10350
fd511e9eeea6
commands: do all branch heads by default, demote topological to -t/--topo
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
10349
diff
changeset
|
1473 heads = sorted(heads, key=lambda x: -x.rev()) |
3643
b4ad640a3bcf
templates: move changeset templating bits to cmdutils
Matt Mackall <mpm@selenic.com>
parents:
3631
diff
changeset
|
1474 displayer = cmdutil.show_changeset(ui, repo, opts) |
10331
ec5240a22f4a
commands: always order heads recent to oldest
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
10330
diff
changeset
|
1475 for ctx in heads: |
ec5240a22f4a
commands: always order heads recent to oldest
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
10330
diff
changeset
|
1476 displayer.show(ctx) |
10152
56284451a22c
Added support for templatevar "footer" to cmdutil.py
Robert Bachmann <rbachm@gmail.com>
parents:
10111
diff
changeset
|
1477 displayer.close() |
221 | 1478 |
10364
de1e7099d100
dispatch: provide help for disabled extensions and commands
Brodie Rao <me+hg@dackz.net>
parents:
10355
diff
changeset
|
1479 def help_(ui, name=None, with_version=False, unknowncmd=False): |
7210 | 1480 """show help for a given topic or a help overview |
3655
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1481 |
8779
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
1482 With no arguments, print a list of commands with short help messages. |
3655
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1483 |
8004
d5b1b846f277
commands: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
1484 Given a topic, extension, or command name, print help for that |
d5b1b846f277
commands: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
1485 topic.""" |
3655
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1486 option_lists = [] |
9157
9261667e9b82
commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents:
9142
diff
changeset
|
1487 textwidth = util.termwidth() - 2 |
3655
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1488 |
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
|
1489 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
|
1490 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
|
1491 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
|
1492 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
|
1493 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
|
1494 '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
|
1495 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
|
1496 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
|
1497 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
|
1498 '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
|
1499 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
|
1500 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
|
1501 '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
|
1502 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
|
1503 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
|
1504 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
|
1505 |
3655
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1506 def helpcmd(name): |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1507 if with_version: |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1508 version_(ui) |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1509 ui.write('\n') |
6652
ffcf8e82f647
help: enable listing of a subset of the command list
Johannes Stezenbach <js@sig21.net>
parents:
6642
diff
changeset
|
1510 |
ffcf8e82f647
help: enable listing of a subset of the command list
Johannes Stezenbach <js@sig21.net>
parents:
6642
diff
changeset
|
1511 try: |
10364
de1e7099d100
dispatch: provide help for disabled extensions and commands
Brodie Rao <me+hg@dackz.net>
parents:
10355
diff
changeset
|
1512 aliases, entry = cmdutil.findcmd(name, table, strict=unknowncmd) |
7643
9a1ea6587557
error: move UnknownCommand and AmbiguousCommand
Matt Mackall <mpm@selenic.com>
parents:
7637
diff
changeset
|
1513 except error.AmbiguousCommand, inst: |
9035
8e34f363dd77
compat: don't reference an exception var inside a lambda
Alejandro Santos <alejolp@alejolp.com>
parents:
9031
diff
changeset
|
1514 # py3k fix: except vars can't be used outside the scope of the |
8e34f363dd77
compat: don't reference an exception var inside a lambda
Alejandro Santos <alejolp@alejolp.com>
parents:
9031
diff
changeset
|
1515 # except block, nor can be used inside a lambda. python issue4617 |
8e34f363dd77
compat: don't reference an exception var inside a lambda
Alejandro Santos <alejolp@alejolp.com>
parents:
9031
diff
changeset
|
1516 prefix = inst.args[0] |
8e34f363dd77
compat: don't reference an exception var inside a lambda
Alejandro Santos <alejolp@alejolp.com>
parents:
9031
diff
changeset
|
1517 select = lambda c: c.lstrip('^').startswith(prefix) |
6652
ffcf8e82f647
help: enable listing of a subset of the command list
Johannes Stezenbach <js@sig21.net>
parents:
6642
diff
changeset
|
1518 helplist(_('list of commands:\n\n'), select) |
ffcf8e82f647
help: enable listing of a subset of the command list
Johannes Stezenbach <js@sig21.net>
parents:
6642
diff
changeset
|
1519 return |
ffcf8e82f647
help: enable listing of a subset of the command list
Johannes Stezenbach <js@sig21.net>
parents:
6642
diff
changeset
|
1520 |
10021
0022f5c5459e
help: don't display bogus help messages for invalid aliases
Brodie Rao <me+hg@dackz.net>
parents:
10015
diff
changeset
|
1521 # check if it's an invalid alias and display its error if it is |
0022f5c5459e
help: don't display bogus help messages for invalid aliases
Brodie Rao <me+hg@dackz.net>
parents:
10015
diff
changeset
|
1522 if getattr(entry[0], 'badalias', False): |
10364
de1e7099d100
dispatch: provide help for disabled extensions and commands
Brodie Rao <me+hg@dackz.net>
parents:
10355
diff
changeset
|
1523 if not unknowncmd: |
de1e7099d100
dispatch: provide help for disabled extensions and commands
Brodie Rao <me+hg@dackz.net>
parents:
10355
diff
changeset
|
1524 entry[0](ui) |
10021
0022f5c5459e
help: don't display bogus help messages for invalid aliases
Brodie Rao <me+hg@dackz.net>
parents:
10015
diff
changeset
|
1525 return |
0022f5c5459e
help: don't display bogus help messages for invalid aliases
Brodie Rao <me+hg@dackz.net>
parents:
10015
diff
changeset
|
1526 |
3655
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1527 # synopsis |
9901
cb2a1836c50a
commands: minor refactoring
Henri Wiechers <hwiechers@gmail.com>
parents:
9894
diff
changeset
|
1528 if len(entry) > 2: |
cb2a1836c50a
commands: minor refactoring
Henri Wiechers <hwiechers@gmail.com>
parents:
9894
diff
changeset
|
1529 if entry[2].startswith('hg'): |
cb2a1836c50a
commands: minor refactoring
Henri Wiechers <hwiechers@gmail.com>
parents:
9894
diff
changeset
|
1530 ui.write("%s\n" % entry[2]) |
7364
ad7f736f3214
help: remove redundant 'hg <command>' from command synopses
Matt Mackall <mpm@selenic.com>
parents:
7361
diff
changeset
|
1531 else: |
9901
cb2a1836c50a
commands: minor refactoring
Henri Wiechers <hwiechers@gmail.com>
parents:
9894
diff
changeset
|
1532 ui.write('hg %s %s\n' % (aliases[0], entry[2])) |
7364
ad7f736f3214
help: remove redundant 'hg <command>' from command synopses
Matt Mackall <mpm@selenic.com>
parents:
7361
diff
changeset
|
1533 else: |
ad7f736f3214
help: remove redundant 'hg <command>' from command synopses
Matt Mackall <mpm@selenic.com>
parents:
7361
diff
changeset
|
1534 ui.write('hg %s\n' % aliases[0]) |
5783
28d9f8cd02f2
Move aliases section in help below synopsis (issue362)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5781
diff
changeset
|
1535 |
28d9f8cd02f2
Move aliases section in help below synopsis (issue362)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5781
diff
changeset
|
1536 # aliases |
28d9f8cd02f2
Move aliases section in help below synopsis (issue362)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5781
diff
changeset
|
1537 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
|
1538 ui.write(_("\naliases: %s\n") % ', '.join(aliases[1:])) |
3655
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1539 |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1540 # description |
9901
cb2a1836c50a
commands: minor refactoring
Henri Wiechers <hwiechers@gmail.com>
parents:
9894
diff
changeset
|
1541 doc = gettext(entry[0].__doc__) |
3655
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1542 if not doc: |
7598 | 1543 doc = _("(no help text available)") |
3655
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1544 if ui.quiet: |
9136
31177742f54a
for calls expecting bool args, pass bool instead of int
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
9102
diff
changeset
|
1545 doc = doc.splitlines()[0] |
10445
8b45102934e2
commands: support verbose help
Martin Geisler <mg@lazybytes.net>
parents:
10413
diff
changeset
|
1546 keep = ui.verbose and ['verbose'] or [] |
8b45102934e2
commands: support verbose help
Martin Geisler <mg@lazybytes.net>
parents:
10413
diff
changeset
|
1547 formatted, pruned = minirst.format(doc, textwidth, keep=keep) |
8b45102934e2
commands: support verbose help
Martin Geisler <mg@lazybytes.net>
parents:
10413
diff
changeset
|
1548 ui.write("\n%s\n" % formatted) |
8b45102934e2
commands: support verbose help
Martin Geisler <mg@lazybytes.net>
parents:
10413
diff
changeset
|
1549 if pruned: |
8b45102934e2
commands: support verbose help
Martin Geisler <mg@lazybytes.net>
parents:
10413
diff
changeset
|
1550 ui.write(_('\nuse "hg -v help %s" to show verbose help\n') % name) |
3655
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1551 |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1552 if not ui.quiet: |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1553 # options |
9901
cb2a1836c50a
commands: minor refactoring
Henri Wiechers <hwiechers@gmail.com>
parents:
9894
diff
changeset
|
1554 if entry[1]: |
cb2a1836c50a
commands: minor refactoring
Henri Wiechers <hwiechers@gmail.com>
parents:
9894
diff
changeset
|
1555 option_lists.append((_("options:\n"), entry[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
|
1556 |
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
|
1557 addglobalopts(False) |
3655
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1558 |
4950
93b7e2fa7ee3
help: avoid traceback if an extension has only debug commands
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4942
diff
changeset
|
1559 def helplist(header, select=None): |
3655
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1560 h = {} |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1561 cmds = {} |
7622
4dd7b28003d2
use dict.iteritems() rather than dict.items()
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
7598
diff
changeset
|
1562 for c, e in table.iteritems(): |
3655
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1563 f = c.split("|", 1)[0] |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1564 if select and not select(f): |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1565 continue |
7197
f60730693efc
help: show extension commands in short list, separate extension list in help
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
7196
diff
changeset
|
1566 if (not select and name != 'shortlist' and |
f60730693efc
help: show extension commands in short list, separate extension list in help
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
7196
diff
changeset
|
1567 e[0].__module__ != __name__): |
7126
111813de4188
remove extension commands from global help
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
7125
diff
changeset
|
1568 continue |
3655
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1569 if name == "shortlist" and not f.startswith("^"): |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1570 continue |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1571 f = f.lstrip("^") |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1572 if not ui.debugflag and f.startswith("debug"): |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1573 continue |
9128
98d90ad54749
commands: hide deprecated commands.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
9097
diff
changeset
|
1574 doc = e[0].__doc__ |
98d90ad54749
commands: hide deprecated commands.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
9097
diff
changeset
|
1575 if doc and 'DEPRECATED' in doc and not ui.verbose: |
98d90ad54749
commands: hide deprecated commands.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
9097
diff
changeset
|
1576 continue |
98d90ad54749
commands: hide deprecated commands.
Dan Villiom Podlaski Christiansen <danchr@gmail.com>
parents:
9097
diff
changeset
|
1577 doc = gettext(doc) |
3655
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1578 if not doc: |
7598 | 1579 doc = _("(no help text available)") |
9136
31177742f54a
for calls expecting bool args, pass bool instead of int
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
9102
diff
changeset
|
1580 h[f] = doc.splitlines()[0].rstrip() |
3655
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1581 cmds[f] = c.lstrip("^") |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1582 |
4950
93b7e2fa7ee3
help: avoid traceback if an extension has only debug commands
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4942
diff
changeset
|
1583 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
|
1584 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
|
1585 return |
93b7e2fa7ee3
help: avoid traceback if an extension has only debug commands
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4942
diff
changeset
|
1586 |
93b7e2fa7ee3
help: avoid traceback if an extension has only debug commands
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4942
diff
changeset
|
1587 ui.status(header) |
8209
a1a5a57efe90
replace util.sort with sorted built-in
Matt Mackall <mpm@selenic.com>
parents:
8190
diff
changeset
|
1588 fns = sorted(h) |
3655
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1589 m = max(map(len, fns)) |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1590 for f in fns: |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1591 if ui.verbose: |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1592 commands = cmds[f].replace("|",", ") |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1593 ui.write(" %s:\n %s\n"%(commands, h[f])) |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1594 else: |
8938
9b8c9266c59d
commands: wrap short descriptions in 'hg help'
Martin Geisler <mg@lazybytes.net>
parents:
8937
diff
changeset
|
1595 ui.write(' %-*s %s\n' % (m, f, util.wrap(h[f], m + 4))) |
3655
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1596 |
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
|
1597 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
|
1598 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
|
1599 |
3795
17a11f4ff260
Add basic support for help topics and a dates topic
Matt Mackall <mpm@selenic.com>
parents:
3786
diff
changeset
|
1600 def helptopic(name): |
7012 | 1601 for names, header, doc in help.helptable: |
1602 if name in names: | |
1603 break | |
1604 else: | |
7643
9a1ea6587557
error: move UnknownCommand and AmbiguousCommand
Matt Mackall <mpm@selenic.com>
parents:
7637
diff
changeset
|
1605 raise error.UnknownCommand(name) |
3795
17a11f4ff260
Add basic support for help topics and a dates topic
Matt Mackall <mpm@selenic.com>
parents:
3786
diff
changeset
|
1606 |
17a11f4ff260
Add basic support for help topics and a dates topic
Matt Mackall <mpm@selenic.com>
parents:
3786
diff
changeset
|
1607 # description |
17a11f4ff260
Add basic support for help topics and a dates topic
Matt Mackall <mpm@selenic.com>
parents:
3786
diff
changeset
|
1608 if not doc: |
7598 | 1609 doc = _("(no help text available)") |
8366
0bf0045000b5
some modernization cleanups, forward compatibility
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
8313
diff
changeset
|
1610 if hasattr(doc, '__call__'): |
3796
58133ba5847d
Allow topics to be callables
Matt Mackall <mpm@selenic.com>
parents:
3795
diff
changeset
|
1611 doc = doc() |
3795
17a11f4ff260
Add basic support for help topics and a dates topic
Matt Mackall <mpm@selenic.com>
parents:
3786
diff
changeset
|
1612 |
9157
9261667e9b82
commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents:
9142
diff
changeset
|
1613 ui.write("%s\n\n" % header) |
9540
cad36e496640
help: un-indent help topics
Martin Geisler <mg@lazybytes.net>
parents:
9537
diff
changeset
|
1614 ui.write("%s\n" % minirst.format(doc, textwidth, indent=4)) |
3795
17a11f4ff260
Add basic support for help topics and a dates topic
Matt Mackall <mpm@selenic.com>
parents:
3786
diff
changeset
|
1615 |
3655
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1616 def helpext(name): |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1617 try: |
4544
930ed513c864
Create a separate module for managing extensions
Matt Mackall <mpm@selenic.com>
parents:
4543
diff
changeset
|
1618 mod = extensions.find(name) |
10364
de1e7099d100
dispatch: provide help for disabled extensions and commands
Brodie Rao <me+hg@dackz.net>
parents:
10355
diff
changeset
|
1619 doc = gettext(mod.__doc__) or _('no help text available') |
3655
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1620 except KeyError: |
10364
de1e7099d100
dispatch: provide help for disabled extensions and commands
Brodie Rao <me+hg@dackz.net>
parents:
10355
diff
changeset
|
1621 mod = None |
de1e7099d100
dispatch: provide help for disabled extensions and commands
Brodie Rao <me+hg@dackz.net>
parents:
10355
diff
changeset
|
1622 doc = extensions.disabledext(name) |
de1e7099d100
dispatch: provide help for disabled extensions and commands
Brodie Rao <me+hg@dackz.net>
parents:
10355
diff
changeset
|
1623 if not doc: |
de1e7099d100
dispatch: provide help for disabled extensions and commands
Brodie Rao <me+hg@dackz.net>
parents:
10355
diff
changeset
|
1624 raise error.UnknownCommand(name) |
de1e7099d100
dispatch: provide help for disabled extensions and commands
Brodie Rao <me+hg@dackz.net>
parents:
10355
diff
changeset
|
1625 |
9280
b694531a5aa7
commands: Check if helptext contains a newline before we split
David Soria Parra <dsp@php.net>
parents:
9249
diff
changeset
|
1626 if '\n' not in doc: |
b694531a5aa7
commands: Check if helptext contains a newline before we split
David Soria Parra <dsp@php.net>
parents:
9249
diff
changeset
|
1627 head, tail = doc, "" |
b694531a5aa7
commands: Check if helptext contains a newline before we split
David Soria Parra <dsp@php.net>
parents:
9249
diff
changeset
|
1628 else: |
b694531a5aa7
commands: Check if helptext contains a newline before we split
David Soria Parra <dsp@php.net>
parents:
9249
diff
changeset
|
1629 head, tail = doc.split('\n', 1) |
9157
9261667e9b82
commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents:
9142
diff
changeset
|
1630 ui.write(_('%s extension - %s\n\n') % (name.split('.')[-1], head)) |
9261667e9b82
commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents:
9142
diff
changeset
|
1631 if tail: |
9261667e9b82
commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents:
9142
diff
changeset
|
1632 ui.write(minirst.format(tail, textwidth)) |
9261667e9b82
commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents:
9142
diff
changeset
|
1633 ui.status('\n\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
|
1634 |
10364
de1e7099d100
dispatch: provide help for disabled extensions and commands
Brodie Rao <me+hg@dackz.net>
parents:
10355
diff
changeset
|
1635 if mod: |
de1e7099d100
dispatch: provide help for disabled extensions and commands
Brodie Rao <me+hg@dackz.net>
parents:
10355
diff
changeset
|
1636 try: |
de1e7099d100
dispatch: provide help for disabled extensions and commands
Brodie Rao <me+hg@dackz.net>
parents:
10355
diff
changeset
|
1637 ct = mod.cmdtable |
de1e7099d100
dispatch: provide help for disabled extensions and commands
Brodie Rao <me+hg@dackz.net>
parents:
10355
diff
changeset
|
1638 except AttributeError: |
de1e7099d100
dispatch: provide help for disabled extensions and commands
Brodie Rao <me+hg@dackz.net>
parents:
10355
diff
changeset
|
1639 ct = {} |
de1e7099d100
dispatch: provide help for disabled extensions and commands
Brodie Rao <me+hg@dackz.net>
parents:
10355
diff
changeset
|
1640 modcmds = set([c.split('|', 1)[0] for c in ct]) |
de1e7099d100
dispatch: provide help for disabled extensions and commands
Brodie Rao <me+hg@dackz.net>
parents:
10355
diff
changeset
|
1641 helplist(_('list of commands:\n\n'), modcmds.__contains__) |
de1e7099d100
dispatch: provide help for disabled extensions and commands
Brodie Rao <me+hg@dackz.net>
parents:
10355
diff
changeset
|
1642 else: |
de1e7099d100
dispatch: provide help for disabled extensions and commands
Brodie Rao <me+hg@dackz.net>
parents:
10355
diff
changeset
|
1643 ui.write(_('use "hg help extensions" for information on enabling ' |
de1e7099d100
dispatch: provide help for disabled extensions and commands
Brodie Rao <me+hg@dackz.net>
parents:
10355
diff
changeset
|
1644 'extensions\n')) |
de1e7099d100
dispatch: provide help for disabled extensions and commands
Brodie Rao <me+hg@dackz.net>
parents:
10355
diff
changeset
|
1645 |
de1e7099d100
dispatch: provide help for disabled extensions and commands
Brodie Rao <me+hg@dackz.net>
parents:
10355
diff
changeset
|
1646 def helpextcmd(name): |
de1e7099d100
dispatch: provide help for disabled extensions and commands
Brodie Rao <me+hg@dackz.net>
parents:
10355
diff
changeset
|
1647 cmd, ext, mod = extensions.disabledcmd(name, ui.config('ui', 'strict')) |
de1e7099d100
dispatch: provide help for disabled extensions and commands
Brodie Rao <me+hg@dackz.net>
parents:
10355
diff
changeset
|
1648 doc = gettext(mod.__doc__).splitlines()[0] |
de1e7099d100
dispatch: provide help for disabled extensions and commands
Brodie Rao <me+hg@dackz.net>
parents:
10355
diff
changeset
|
1649 |
de1e7099d100
dispatch: provide help for disabled extensions and commands
Brodie Rao <me+hg@dackz.net>
parents:
10355
diff
changeset
|
1650 msg = help.listexts(_("'%s' is provided by the following " |
de1e7099d100
dispatch: provide help for disabled extensions and commands
Brodie Rao <me+hg@dackz.net>
parents:
10355
diff
changeset
|
1651 "extension:") % cmd, {ext: doc}, len(ext), |
de1e7099d100
dispatch: provide help for disabled extensions and commands
Brodie Rao <me+hg@dackz.net>
parents:
10355
diff
changeset
|
1652 indent=4) |
de1e7099d100
dispatch: provide help for disabled extensions and commands
Brodie Rao <me+hg@dackz.net>
parents:
10355
diff
changeset
|
1653 ui.write(minirst.format(msg, textwidth)) |
de1e7099d100
dispatch: provide help for disabled extensions and commands
Brodie Rao <me+hg@dackz.net>
parents:
10355
diff
changeset
|
1654 ui.write('\n\n') |
de1e7099d100
dispatch: provide help for disabled extensions and commands
Brodie Rao <me+hg@dackz.net>
parents:
10355
diff
changeset
|
1655 ui.write(_('use "hg help extensions" for information on enabling ' |
de1e7099d100
dispatch: provide help for disabled extensions and commands
Brodie Rao <me+hg@dackz.net>
parents:
10355
diff
changeset
|
1656 'extensions\n')) |
3655
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1657 |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1658 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
|
1659 i = None |
10364
de1e7099d100
dispatch: provide help for disabled extensions and commands
Brodie Rao <me+hg@dackz.net>
parents:
10355
diff
changeset
|
1660 if unknowncmd: |
de1e7099d100
dispatch: provide help for disabled extensions and commands
Brodie Rao <me+hg@dackz.net>
parents:
10355
diff
changeset
|
1661 queries = (helpextcmd,) |
de1e7099d100
dispatch: provide help for disabled extensions and commands
Brodie Rao <me+hg@dackz.net>
parents:
10355
diff
changeset
|
1662 else: |
de1e7099d100
dispatch: provide help for disabled extensions and commands
Brodie Rao <me+hg@dackz.net>
parents:
10355
diff
changeset
|
1663 queries = (helptopic, helpcmd, helpext, helpextcmd) |
de1e7099d100
dispatch: provide help for disabled extensions and commands
Brodie Rao <me+hg@dackz.net>
parents:
10355
diff
changeset
|
1664 for f in queries: |
3795
17a11f4ff260
Add basic support for help topics and a dates topic
Matt Mackall <mpm@selenic.com>
parents:
3786
diff
changeset
|
1665 try: |
17a11f4ff260
Add basic support for help topics and a dates topic
Matt Mackall <mpm@selenic.com>
parents:
3786
diff
changeset
|
1666 f(name) |
17a11f4ff260
Add basic support for help topics and a dates topic
Matt Mackall <mpm@selenic.com>
parents:
3786
diff
changeset
|
1667 i = None |
17a11f4ff260
Add basic support for help topics and a dates topic
Matt Mackall <mpm@selenic.com>
parents:
3786
diff
changeset
|
1668 break |
7643
9a1ea6587557
error: move UnknownCommand and AmbiguousCommand
Matt Mackall <mpm@selenic.com>
parents:
7637
diff
changeset
|
1669 except error.UnknownCommand, inst: |
3795
17a11f4ff260
Add basic support for help topics and a dates topic
Matt Mackall <mpm@selenic.com>
parents:
3786
diff
changeset
|
1670 i = inst |
17a11f4ff260
Add basic support for help topics and a dates topic
Matt Mackall <mpm@selenic.com>
parents:
3786
diff
changeset
|
1671 if i: |
17a11f4ff260
Add basic support for help topics and a dates topic
Matt Mackall <mpm@selenic.com>
parents:
3786
diff
changeset
|
1672 raise i |
3655
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1673 |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1674 else: |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1675 # program name |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1676 if ui.verbose or with_version: |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1677 version_(ui) |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1678 else: |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1679 ui.status(_("Mercurial Distributed SCM\n")) |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1680 ui.status('\n') |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1681 |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1682 # list of commands |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1683 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
|
1684 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
|
1685 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
|
1686 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
|
1687 |
93b7e2fa7ee3
help: avoid traceback if an extension has only debug commands
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4942
diff
changeset
|
1688 helplist(header) |
9839
0a3fc37261ab
help: don't show extension list on extension help
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
9831
diff
changeset
|
1689 if name != 'shortlist': |
0a3fc37261ab
help: don't show extension list on extension help
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
9831
diff
changeset
|
1690 exts, maxlength = extensions.enabled() |
0a3fc37261ab
help: don't show extension list on extension help
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
9831
diff
changeset
|
1691 text = help.listexts(_('enabled extensions:'), exts, maxlength) |
0a3fc37261ab
help: don't show extension list on extension help
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
9831
diff
changeset
|
1692 if text: |
0a3fc37261ab
help: don't show extension list on extension help
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
9831
diff
changeset
|
1693 ui.write("\n%s\n" % minirst.format(text, textwidth)) |
3655
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1694 |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1695 # list all option lists |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1696 opt_output = [] |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1697 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
|
1698 opt_output.append(("\n%s" % title, None)) |
3655
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1699 for shortopt, longopt, default, desc in options: |
10282
08a0f04b56bd
many, many trivial check-code fixups
Matt Mackall <mpm@selenic.com>
parents:
10270
diff
changeset
|
1700 if _("DEPRECATED") in desc and not ui.verbose: |
10339
23e608f42f2c
fix spaces/identation issues
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
10331
diff
changeset
|
1701 continue |
3655
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1702 opt_output.append(("%2s%s" % (shortopt and "-%s" % shortopt, |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1703 longopt and " --%s" % longopt), |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1704 "%s%s" % (desc, |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1705 default |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1706 and _(" (default: %s)") % default |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1707 or ""))) |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1708 |
7196
3f6a4f1de43f
help: show help topics by default in 'hg help', with longest available id
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
7185
diff
changeset
|
1709 if not name: |
7210 | 1710 ui.write(_("\nadditional help topics:\n\n")) |
6653
a78d8edaeedd
help: list special help topics with -v
Johannes Stezenbach <js@sig21.net>
parents:
6652
diff
changeset
|
1711 topics = [] |
7012 | 1712 for names, header, doc in help.helptable: |
9537
460e410c39be
commands: simpler sort of help topic names
Martin Geisler <mg@lazybytes.net>
parents:
9508
diff
changeset
|
1713 topics.append((sorted(names, key=len, reverse=True)[0], header)) |
6653
a78d8edaeedd
help: list special help topics with -v
Johannes Stezenbach <js@sig21.net>
parents:
6652
diff
changeset
|
1714 topics_len = max([len(s[0]) for s in topics]) |
a78d8edaeedd
help: list special help topics with -v
Johannes Stezenbach <js@sig21.net>
parents:
6652
diff
changeset
|
1715 for t, desc in topics: |
a78d8edaeedd
help: list special help topics with -v
Johannes Stezenbach <js@sig21.net>
parents:
6652
diff
changeset
|
1716 ui.write(" %-*s %s\n" % (topics_len, t, desc)) |
a78d8edaeedd
help: list special help topics with -v
Johannes Stezenbach <js@sig21.net>
parents:
6652
diff
changeset
|
1717 |
3655
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1718 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
|
1719 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
|
1720 for first, second in opt_output: |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1721 if second: |
8938
9b8c9266c59d
commands: wrap short descriptions in 'hg help'
Martin Geisler <mg@lazybytes.net>
parents:
8937
diff
changeset
|
1722 second = util.wrap(second, opts_len + 3) |
9b8c9266c59d
commands: wrap short descriptions in 'hg help'
Martin Geisler <mg@lazybytes.net>
parents:
8937
diff
changeset
|
1723 ui.write(" %-*s %s\n" % (opts_len, first, second)) |
3655
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1724 else: |
da361aa7a118
alphabetize help_ in commands
Matt Mackall <mpm@selenic.com>
parents:
3654
diff
changeset
|
1725 ui.write("%s\n" % first) |
221 | 1726 |
4671
150afe6becf6
identify: take a path to a remote repo
Matt Mackall <mpm@selenic.com>
parents:
4667
diff
changeset
|
1727 def identify(ui, repo, source=None, |
150afe6becf6
identify: take a path to a remote repo
Matt Mackall <mpm@selenic.com>
parents:
4667
diff
changeset
|
1728 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
|
1729 """identify the working copy or specified revision |
091c9e54d306
identify: accept a revision argument
Matt Mackall <mpm@selenic.com>
parents:
4664
diff
changeset
|
1730 |
8004
d5b1b846f277
commands: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
1731 With no revision, print a summary of the current state of the |
8027
9c7ca86fc658
expand "repo" to "repository" in help texts
Martin Geisler <mg@lazybytes.net>
parents:
8026
diff
changeset
|
1732 repository. |
4671
150afe6becf6
identify: take a path to a remote repo
Matt Mackall <mpm@selenic.com>
parents:
4667
diff
changeset
|
1733 |
8779
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
1734 Specifying a path to a repository root or Mercurial bundle will |
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
1735 cause lookup to operate on that repository/bundle. |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1736 |
8004
d5b1b846f277
commands: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
1737 This summary identifies the repository state using one or two |
d5b1b846f277
commands: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
1738 parent hash identifiers, followed by a "+" if there are |
d5b1b846f277
commands: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
1739 uncommitted changes in the working directory, a list of tags for |
d5b1b846f277
commands: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
1740 this revision and a branch 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
|
1741 """ |
4662
f9b8ea362b49
identify: show nullid for empty repo
Matt Mackall <mpm@selenic.com>
parents:
4659
diff
changeset
|
1742 |
5330
4528858e7202
make identify an optionalrepo command
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
5329
diff
changeset
|
1743 if not repo and not source: |
4528858e7202
make identify an optionalrepo command
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
5329
diff
changeset
|
1744 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
|
1745 "(.hg not found)")) |
4528858e7202
make identify an optionalrepo command
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
5329
diff
changeset
|
1746 |
2966
fb493241d7f6
Only show long hashes with --debug, not --verbose
Matt Mackall <mpm@selenic.com>
parents:
2963
diff
changeset
|
1747 hexfunc = ui.debugflag and hex or short |
4666
48c94bffdb28
identify: add support for output flags
Matt Mackall <mpm@selenic.com>
parents:
4665
diff
changeset
|
1748 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
|
1749 output = [] |
4664 | 1750 |
7757
af6a63438a8a
identify: have consistent output for local repositories
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
7743
diff
changeset
|
1751 revs = [] |
4671
150afe6becf6
identify: take a path to a remote repo
Matt Mackall <mpm@selenic.com>
parents:
4667
diff
changeset
|
1752 if source: |
10365
d757bc0c7865
interpret repo#name url syntax as branch instead of revision
Sune Foldager <cryo@cyanite.org>
parents:
10364
diff
changeset
|
1753 source, branches = hg.parseurl(ui.expandpath(source)) |
7757
af6a63438a8a
identify: have consistent output for local repositories
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
7743
diff
changeset
|
1754 repo = hg.repository(ui, source) |
10365
d757bc0c7865
interpret repo#name url syntax as branch instead of revision
Sune Foldager <cryo@cyanite.org>
parents:
10364
diff
changeset
|
1755 revs, checkout = hg.addbranchrevs(repo, repo, branches, None) |
7757
af6a63438a8a
identify: have consistent output for local repositories
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
7743
diff
changeset
|
1756 |
af6a63438a8a
identify: have consistent output for local repositories
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
7743
diff
changeset
|
1757 if not repo.local(): |
4671
150afe6becf6
identify: take a path to a remote repo
Matt Mackall <mpm@selenic.com>
parents:
4667
diff
changeset
|
1758 if not rev and revs: |
150afe6becf6
identify: take a path to a remote repo
Matt Mackall <mpm@selenic.com>
parents:
4667
diff
changeset
|
1759 rev = revs[0] |
4667
c7a81e3ae80f
identify: work with remote repos
Matt Mackall <mpm@selenic.com>
parents:
4666
diff
changeset
|
1760 if not rev: |
c7a81e3ae80f
identify: work with remote repos
Matt Mackall <mpm@selenic.com>
parents:
4666
diff
changeset
|
1761 rev = "tip" |
c7a81e3ae80f
identify: work with remote repos
Matt Mackall <mpm@selenic.com>
parents:
4666
diff
changeset
|
1762 if num or branch or tags: |
c7a81e3ae80f
identify: work with remote repos
Matt Mackall <mpm@selenic.com>
parents:
4666
diff
changeset
|
1763 raise util.Abort( |
c7a81e3ae80f
identify: work with remote repos
Matt Mackall <mpm@selenic.com>
parents:
4666
diff
changeset
|
1764 "can't query remote revision number, branch, or tags") |
7757
af6a63438a8a
identify: have consistent output for local repositories
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
7743
diff
changeset
|
1765 output = [hexfunc(repo.lookup(rev))] |
4667
c7a81e3ae80f
identify: work with remote repos
Matt Mackall <mpm@selenic.com>
parents:
4666
diff
changeset
|
1766 elif not rev: |
6747
f6c00b17387c
use repo[changeid] to get a changectx
Matt Mackall <mpm@selenic.com>
parents:
6746
diff
changeset
|
1767 ctx = repo[None] |
4665
091c9e54d306
identify: accept a revision argument
Matt Mackall <mpm@selenic.com>
parents:
4664
diff
changeset
|
1768 parents = ctx.parents() |
4666
48c94bffdb28
identify: add support for output flags
Matt Mackall <mpm@selenic.com>
parents:
4665
diff
changeset
|
1769 changed = False |
48c94bffdb28
identify: add support for output flags
Matt Mackall <mpm@selenic.com>
parents:
4665
diff
changeset
|
1770 if default or id or num: |
48c94bffdb28
identify: add support for output flags
Matt Mackall <mpm@selenic.com>
parents:
4665
diff
changeset
|
1771 changed = ctx.files() + ctx.deleted() |
48c94bffdb28
identify: add support for output flags
Matt Mackall <mpm@selenic.com>
parents:
4665
diff
changeset
|
1772 if default or id: |
48c94bffdb28
identify: add support for output flags
Matt Mackall <mpm@selenic.com>
parents:
4665
diff
changeset
|
1773 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
|
1774 (changed) and "+" or "")] |
48c94bffdb28
identify: add support for output flags
Matt Mackall <mpm@selenic.com>
parents:
4665
diff
changeset
|
1775 if num: |
48c94bffdb28
identify: add support for output flags
Matt Mackall <mpm@selenic.com>
parents:
4665
diff
changeset
|
1776 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
|
1777 (changed) and "+" or "")) |
4665
091c9e54d306
identify: accept a revision argument
Matt Mackall <mpm@selenic.com>
parents:
4664
diff
changeset
|
1778 else: |
6747
f6c00b17387c
use repo[changeid] to get a changectx
Matt Mackall <mpm@selenic.com>
parents:
6746
diff
changeset
|
1779 ctx = repo[rev] |
4666
48c94bffdb28
identify: add support for output flags
Matt Mackall <mpm@selenic.com>
parents:
4665
diff
changeset
|
1780 if default or id: |
48c94bffdb28
identify: add support for output flags
Matt Mackall <mpm@selenic.com>
parents:
4665
diff
changeset
|
1781 output = [hexfunc(ctx.node())] |
48c94bffdb28
identify: add support for output flags
Matt Mackall <mpm@selenic.com>
parents:
4665
diff
changeset
|
1782 if num: |
48c94bffdb28
identify: add support for output flags
Matt Mackall <mpm@selenic.com>
parents:
4665
diff
changeset
|
1783 output.append(str(ctx.rev())) |
48c94bffdb28
identify: add support for output flags
Matt Mackall <mpm@selenic.com>
parents:
4665
diff
changeset
|
1784 |
7757
af6a63438a8a
identify: have consistent output for local repositories
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
7743
diff
changeset
|
1785 if repo.local() and default and not ui.quiet: |
7948
de377b1a9a84
move encoding bits from util to encoding
Matt Mackall <mpm@selenic.com>
parents:
7942
diff
changeset
|
1786 b = encoding.tolocal(ctx.branch()) |
4666
48c94bffdb28
identify: add support for output flags
Matt Mackall <mpm@selenic.com>
parents:
4665
diff
changeset
|
1787 if b != 'default': |
48c94bffdb28
identify: add support for output flags
Matt Mackall <mpm@selenic.com>
parents:
4665
diff
changeset
|
1788 output.append("(%s)" % b) |
3415 | 1789 |
386
494c8e3f47f3
Improvements for hg identify:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
371
diff
changeset
|
1790 # 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
|
1791 t = "/".join(ctx.tags()) |
48c94bffdb28
identify: add support for output flags
Matt Mackall <mpm@selenic.com>
parents:
4665
diff
changeset
|
1792 if t: |
48c94bffdb28
identify: add support for output flags
Matt Mackall <mpm@selenic.com>
parents:
4665
diff
changeset
|
1793 output.append(t) |
48c94bffdb28
identify: add support for output flags
Matt Mackall <mpm@selenic.com>
parents:
4665
diff
changeset
|
1794 |
48c94bffdb28
identify: add support for output flags
Matt Mackall <mpm@selenic.com>
parents:
4665
diff
changeset
|
1795 if branch: |
7948
de377b1a9a84
move encoding bits from util to encoding
Matt Mackall <mpm@selenic.com>
parents:
7942
diff
changeset
|
1796 output.append(encoding.tolocal(ctx.branch())) |
4666
48c94bffdb28
identify: add support for output flags
Matt Mackall <mpm@selenic.com>
parents:
4665
diff
changeset
|
1797 |
48c94bffdb28
identify: add support for output flags
Matt Mackall <mpm@selenic.com>
parents:
4665
diff
changeset
|
1798 if tags: |
48c94bffdb28
identify: add support for output flags
Matt Mackall <mpm@selenic.com>
parents:
4665
diff
changeset
|
1799 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
|
1800 |
386
494c8e3f47f3
Improvements for hg identify:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
371
diff
changeset
|
1801 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
|
1802 |
437 | 1803 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
|
1804 """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
|
1805 |
9649 | 1806 Import a list of patches and commit them individually (unless |
1807 --no-commit is specified). | |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1808 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1809 If there are outstanding changes in the working directory, import |
8033
aeb4a5c7a28e
commands: consistently write switches as -a/--abc
Martin Geisler <mg@lazybytes.net>
parents:
8032
diff
changeset
|
1810 will abort unless given the -f/--force flag. |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
1811 |
6448
cd3d49ffc6f6
Consistently 1 space after full stops in command doc strings
Christian Ebert <blacktrash@gmx.net>
parents:
6442
diff
changeset
|
1812 You can import a patch straight from a mail message. Even patches |
8779
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
1813 as attachments work (to use the body part, it must have type |
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
1814 text/plain or text/x-patch). From and Subject headers of email |
6448
cd3d49ffc6f6
Consistently 1 space after full stops in command doc strings
Christian Ebert <blacktrash@gmx.net>
parents:
6442
diff
changeset
|
1815 message are used as default committer and commit message. All |
2515
a6700c222314
import: make help clearer. suggested by asak.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2513
diff
changeset
|
1816 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
|
1817 message. |
2504
158d3d2ae070
import: parse email messages
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2494
diff
changeset
|
1818 |
8004
d5b1b846f277
commands: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
1819 If the imported patch was generated by hg export, user and |
d5b1b846f277
commands: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
1820 description from patch override values from message headers and |
8033
aeb4a5c7a28e
commands: consistently write switches as -a/--abc
Martin Geisler <mg@lazybytes.net>
parents:
8032
diff
changeset
|
1821 body. Values given on command line with -m/--message and -u/--user |
aeb4a5c7a28e
commands: consistently write switches as -a/--abc
Martin Geisler <mg@lazybytes.net>
parents:
8032
diff
changeset
|
1822 override these. |
8004
d5b1b846f277
commands: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
1823 |
d5b1b846f277
commands: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
1824 If --exact is specified, import will set the working directory to |
d5b1b846f277
commands: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
1825 the parent of each patch before applying it, and will abort if the |
d5b1b846f277
commands: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
1826 resulting changeset has a different ID than the one recorded in |
d5b1b846f277
commands: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
1827 the patch. This may happen due to character set problems or other |
d5b1b846f277
commands: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
1828 deficiencies in the text patch format. |
4263 | 1829 |
8033
aeb4a5c7a28e
commands: consistently write switches as -a/--abc
Martin Geisler <mg@lazybytes.net>
parents:
8032
diff
changeset
|
1830 With -s/--similarity, hg will attempt to discover renames and |
aeb4a5c7a28e
commands: consistently write switches as -a/--abc
Martin Geisler <mg@lazybytes.net>
parents:
8032
diff
changeset
|
1831 copies in the patch in the same way as 'addremove'. |
7402
bffdab64dfbb
import: add similarity option (issue295)
Brendan Cully <brendan@kublai.com>
parents:
7372
diff
changeset
|
1832 |
8931
4c99eafb101e
commands: add note about import retrieving patches from URLs
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
8927
diff
changeset
|
1833 To read a patch from standard input, use "-" as the patch name. If |
4c99eafb101e
commands: add note about import retrieving patches from URLs
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
8927
diff
changeset
|
1834 a URL is specified, the patch will be downloaded from it. |
8779
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
1835 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
|
1836 """ |
437 | 1837 patches = (patch1,) + patches |
500
ebc4714a7632
[PATCH] Clean up destination directory if a clone fails.
mpm@selenic.com
parents:
499
diff
changeset
|
1838 |
6139
989467e8e3a9
Fix bad behaviour when specifying an invalid date (issue700)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6134
diff
changeset
|
1839 date = opts.get('date') |
989467e8e3a9
Fix bad behaviour when specifying an invalid date (issue700)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6134
diff
changeset
|
1840 if date: |
989467e8e3a9
Fix bad behaviour when specifying an invalid date (issue700)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6134
diff
changeset
|
1841 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
|
1842 |
7402
bffdab64dfbb
import: add similarity option (issue295)
Brendan Cully <brendan@kublai.com>
parents:
7372
diff
changeset
|
1843 try: |
bffdab64dfbb
import: add similarity option (issue295)
Brendan Cully <brendan@kublai.com>
parents:
7372
diff
changeset
|
1844 sim = float(opts.get('similarity') or 0) |
bffdab64dfbb
import: add similarity option (issue295)
Brendan Cully <brendan@kublai.com>
parents:
7372
diff
changeset
|
1845 except ValueError: |
bffdab64dfbb
import: add similarity option (issue295)
Brendan Cully <brendan@kublai.com>
parents:
7372
diff
changeset
|
1846 raise util.Abort(_('similarity must be a number')) |
bffdab64dfbb
import: add similarity option (issue295)
Brendan Cully <brendan@kublai.com>
parents:
7372
diff
changeset
|
1847 if sim < 0 or sim > 100: |
bffdab64dfbb
import: add similarity option (issue295)
Brendan Cully <brendan@kublai.com>
parents:
7372
diff
changeset
|
1848 raise util.Abort(_('similarity must be between 0 and 100')) |
bffdab64dfbb
import: add similarity option (issue295)
Brendan Cully <brendan@kublai.com>
parents:
7372
diff
changeset
|
1849 |
7131
23bd7383891c
commands: optional options where possible
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7126
diff
changeset
|
1850 if opts.get('exact') or not opts.get('force'): |
4549
0c61124ad877
dispatch: move dispatching code to cmdutil
Matt Mackall <mpm@selenic.com>
parents:
4548
diff
changeset
|
1851 cmdutil.bail_if_changed(repo) |
966
022bcc738389
hg import: abort with uncommitted changes, override with --force
mpm@selenic.com
parents:
965
diff
changeset
|
1852 |
437 | 1853 d = opts["base"] |
1854 strip = opts["strip"] | |
4915
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
1855 wlock = lock = None |
10384
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1856 |
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1857 def tryone(ui, hunk): |
10413
e433002acb05
fix up a bunch of check-code warnings
Matt Mackall <mpm@selenic.com>
parents:
10405
diff
changeset
|
1858 tmpname, message, user, date, branch, nodeid, p1, p2 = \ |
e433002acb05
fix up a bunch of check-code warnings
Matt Mackall <mpm@selenic.com>
parents:
10405
diff
changeset
|
1859 patch.extract(ui, hunk) |
10384
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1860 |
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1861 if not tmpname: |
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1862 return None |
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1863 commitid = _('to working directory') |
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1864 |
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1865 try: |
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1866 cmdline_message = cmdutil.logmessage(opts) |
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1867 if cmdline_message: |
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1868 # pickup the cmdline msg |
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1869 message = cmdline_message |
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1870 elif message: |
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1871 # pickup the patch msg |
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1872 message = message.strip() |
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1873 else: |
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1874 # launch the editor |
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1875 message = None |
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1876 ui.debug('message:\n%s\n' % message) |
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1877 |
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1878 wp = repo.parents() |
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1879 if opts.get('exact'): |
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1880 if not nodeid or not p1: |
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1881 raise util.Abort(_('not a Mercurial patch')) |
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1882 p1 = repo.lookup(p1) |
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1883 p2 = repo.lookup(p2 or hex(nullid)) |
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1884 |
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1885 if p1 != wp[0].node(): |
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1886 hg.clean(repo, p1) |
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1887 repo.dirstate.setparents(p1, p2) |
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1888 elif p2: |
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1889 try: |
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1890 p1 = repo.lookup(p1) |
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1891 p2 = repo.lookup(p2) |
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1892 if p1 == wp[0].node(): |
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1893 repo.dirstate.setparents(p1, p2) |
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1894 except error.RepoError: |
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1895 pass |
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1896 if opts.get('exact') or opts.get('import_branch'): |
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1897 repo.dirstate.setbranch(branch or 'default') |
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1898 |
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1899 files = {} |
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1900 try: |
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1901 patch.patch(tmpname, ui, strip=strip, cwd=repo.root, |
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1902 files=files, eolmode=None) |
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1903 finally: |
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1904 files = patch.updatedir(ui, repo, files, |
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1905 similarity=sim / 100.0) |
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1906 if not opts.get('no_commit'): |
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1907 if opts.get('exact'): |
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1908 m = None |
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1909 else: |
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1910 m = cmdutil.matchfiles(repo, files or []) |
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1911 n = repo.commit(message, opts.get('user') or user, |
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1912 opts.get('date') or date, match=m, |
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1913 editor=cmdutil.commiteditor) |
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1914 if opts.get('exact'): |
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1915 if hex(n) != nodeid: |
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1916 repo.rollback() |
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1917 raise util.Abort(_('patch is damaged' |
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1918 ' or loses information')) |
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1919 # Force a dirstate write so that the next transaction |
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1920 # backups an up-do-date file. |
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1921 repo.dirstate.write() |
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1922 if n: |
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1923 commitid = short(n) |
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1924 |
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1925 return commitid |
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1926 finally: |
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1927 os.unlink(tmpname) |
10405
2d30d66a89ad
whitespace cleanup
Peter Arrenbrecht <peter.arrenbrecht@gmail.com>
parents:
10394
diff
changeset
|
1928 |
4915
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
1929 try: |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
1930 wlock = repo.wlock() |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
1931 lock = repo.lock() |
10384
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1932 lastcommit = None |
4915
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
1933 for p in patches: |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
1934 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
|
1935 |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
1936 if pf == '-': |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
1937 ui.status(_("applying patch from stdin\n")) |
7271
8046f0a070a6
use our urlopener (proxy handling, etc) instead of urllib
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
7270
diff
changeset
|
1938 pf = sys.stdin |
2400
2e90024e1471
import: allow to import stdin with file name "-"
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2397
diff
changeset
|
1939 else: |
4915
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
1940 ui.status(_("applying %s\n") % p) |
7271
8046f0a070a6
use our urlopener (proxy handling, etc) instead of urllib
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
7270
diff
changeset
|
1941 pf = url.open(ui, pf) |
10384
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1942 |
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1943 haspatch = False |
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1944 for hunk in patch.split(pf): |
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1945 commitid = tryone(ui, hunk) |
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1946 if commitid: |
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1947 haspatch = True |
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1948 if lastcommit: |
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1949 ui.status(_('applied %s\n') % lastcommit) |
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1950 lastcommit = commitid |
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1951 |
832f35386067
import: import each patch in a file or stream as a separate change
Brendan Cully <brendan@kublai.com>
parents:
10379
diff
changeset
|
1952 if not haspatch: |
4915
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
1953 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
|
1954 |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
1955 finally: |
8109
496ae1ea4698
switch lock releasing in the core from gc to explicit
Ronny Pfannschmidt <Ronny.Pfannschmidt@gmx.de>
parents:
8088
diff
changeset
|
1956 release(lock, wlock) |
437 | 1957 |
1192
6e165de907c5
Add -p to incoming and outgoing commands to show patch
TK Soh <teekaysoh@yahoo.com>
parents:
1191
diff
changeset
|
1958 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
|
1959 """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
|
1960 |
1979
d545fa1426b9
More detailed documentation about ssh:// URLs; fixes issue170.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1974
diff
changeset
|
1961 Show new changesets found in the specified path/URL or the default |
8779
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
1962 pull location. These are the changesets that would have been pulled |
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
1963 if a pull at the time you issued this command. |
8004
d5b1b846f277
commands: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
1964 |
d5b1b846f277
commands: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
1965 For remote repository, using --bundle avoids downloading the |
d5b1b846f277
commands: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
1966 changesets 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
|
1967 |
d545fa1426b9
More detailed documentation about ssh:// URLs; fixes issue170.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1974
diff
changeset
|
1968 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
|
1969 """ |
6191
01594b0c86e2
Add option -l/--limit to hg incoming and hg outgoing.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6190
diff
changeset
|
1970 limit = cmdutil.loglimit(opts) |
10379
a78bfaf988e1
add -b/--branch option to clone, bundle, incoming, outgoing, pull, push
Sune Foldager <cryo@cyanite.org>
parents:
10376
diff
changeset
|
1971 source, branches = hg.parseurl(ui.expandpath(source), opts.get('branch')) |
8188 | 1972 other = hg.repository(cmdutil.remoteui(repo, opts), source) |
7270
2db33c1a5654
factor out the url handling from httprepo
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
7236
diff
changeset
|
1973 ui.status(_('comparing with %s\n') % url.hidepassword(source)) |
10365
d757bc0c7865
interpret repo#name url syntax as branch instead of revision
Sune Foldager <cryo@cyanite.org>
parents:
10364
diff
changeset
|
1974 revs, checkout = hg.addbranchrevs(repo, other, branches, opts.get('rev')) |
4478
b2b55acbacdd
Add support for url#id syntax
Matt Mackall <mpm@selenic.com>
parents:
4474
diff
changeset
|
1975 if revs: |
5259
65dc707606ed
Push capability checking into protocol-level code.
Bryan O'Sullivan <bos@serpentine.com>
parents:
5248
diff
changeset
|
1976 revs = [other.lookup(rev) for rev in revs] |
7415
6163ef936a00
protocol: use changegroupsubset() if possible (issue1389)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
7414
diff
changeset
|
1977 common, incoming, rheads = repo.findcommonincoming(other, heads=revs, |
6163ef936a00
protocol: use changegroupsubset() if possible (issue1389)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
7414
diff
changeset
|
1978 force=opts["force"]) |
1944
fdf40c9b3306
incoming: add support for remote repo using bundlerepo
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1943
diff
changeset
|
1979 if not incoming: |
3933
7997c0e01bfc
hg in: if no incoming csets, remove existing bundle
Matt Mackall <mpm@selenic.com>
parents:
3931
diff
changeset
|
1980 try: |
7997c0e01bfc
hg in: if no incoming csets, remove existing bundle
Matt Mackall <mpm@selenic.com>
parents:
3931
diff
changeset
|
1981 os.unlink(opts["bundle"]) |
7997c0e01bfc
hg in: if no incoming csets, remove existing bundle
Matt Mackall <mpm@selenic.com>
parents:
3931
diff
changeset
|
1982 except: |
7997c0e01bfc
hg in: if no incoming csets, remove existing bundle
Matt Mackall <mpm@selenic.com>
parents:
3931
diff
changeset
|
1983 pass |
1993
fb6ca9801d04
show message if no changes found on incoming
TK Soh <teekaysoh@yahoo.com>
parents:
1981
diff
changeset
|
1984 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
|
1985 return 1 |
1944
fdf40c9b3306
incoming: add support for remote repo using bundlerepo
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1943
diff
changeset
|
1986 |
fdf40c9b3306
incoming: add support for remote repo using bundlerepo
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1943
diff
changeset
|
1987 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
|
1988 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
|
1989 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
|
1990 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
|
1991 # create a bundle (uncompressed if other repo is not local) |
7415
6163ef936a00
protocol: use changegroupsubset() if possible (issue1389)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
7414
diff
changeset
|
1992 |
6163ef936a00
protocol: use changegroupsubset() if possible (issue1389)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
7414
diff
changeset
|
1993 if revs is None and other.capable('changegroupsubset'): |
6163ef936a00
protocol: use changegroupsubset() if possible (issue1389)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
7414
diff
changeset
|
1994 revs = rheads |
6163ef936a00
protocol: use changegroupsubset() if possible (issue1389)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
7414
diff
changeset
|
1995 |
4451
671158f060cc
Make "hg incoming -r revision_number" work for remote repos (issue566)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4324
diff
changeset
|
1996 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
|
1997 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
|
1998 else: |
671158f060cc
Make "hg incoming -r revision_number" work for remote repos (issue566)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4324
diff
changeset
|
1999 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
|
2000 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
|
2001 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
|
2002 # 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
|
2003 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
|
2004 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
|
2005 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
|
2006 # 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
|
2007 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
|
2008 |
2521
9cceb439048b
add -r/--rev arguments to incoming and outgoing
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
2515
diff
changeset
|
2009 o = other.changelog.nodesbetween(incoming, revs)[0] |
7131
23bd7383891c
commands: optional options where possible
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7126
diff
changeset
|
2010 if opts.get('newest_first'): |
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
|
2011 o.reverse() |
3643
b4ad640a3bcf
templates: move changeset templating bits to cmdutils
Matt Mackall <mpm@selenic.com>
parents:
3631
diff
changeset
|
2012 displayer = cmdutil.show_changeset(ui, other, opts) |
6191
01594b0c86e2
Add option -l/--limit to hg incoming and hg outgoing.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6190
diff
changeset
|
2013 count = 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
|
2014 for n in o: |
10111
27457d31ae3f
cmdutil: replace sys.maxint with None as default value in loglimit
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10060
diff
changeset
|
2015 if limit is not None and count >= limit: |
6191
01594b0c86e2
Add option -l/--limit to hg incoming and hg outgoing.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6190
diff
changeset
|
2016 break |
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
|
2017 parents = [p for p in other.changelog.parents(n) if p != nullid] |
7131
23bd7383891c
commands: optional options where possible
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7126
diff
changeset
|
2018 if opts.get('no_merges') and len(parents) == 2: |
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
|
2019 continue |
6191
01594b0c86e2
Add option -l/--limit to hg incoming and hg outgoing.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6190
diff
changeset
|
2020 count += 1 |
7369
87158be081b8
cmdutil: use change contexts for cset-printer and cset-templater
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
7364
diff
changeset
|
2021 displayer.show(other[n]) |
10152
56284451a22c
Added support for templatevar "footer" to cmdutil.py
Robert Bachmann <rbachm@gmail.com>
parents:
10111
diff
changeset
|
2022 displayer.close() |
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
|
2023 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
|
2024 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
|
2025 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
|
2026 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
|
2027 os.unlink(cleanup) |
1944
fdf40c9b3306
incoming: add support for remote repo using bundlerepo
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1943
diff
changeset
|
2028 |
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
|
2029 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
|
2030 """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
|
2031 |
6448
cd3d49ffc6f6
Consistently 1 space after full stops in command doc strings
Christian Ebert <blacktrash@gmx.net>
parents:
6442
diff
changeset
|
2032 Initialize a new repository in the given directory. If the given |
8779
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
2033 directory does not exist, it will be created. |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2034 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2035 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
|
2036 |
9970
36760956f6d3
commands: mark "ssh://" as inline literals in help texts
Martin Geisler <mg@lazybytes.net>
parents:
9952
diff
changeset
|
2037 It is possible to specify an ``ssh://`` URL as the destination. |
7693
e040f9d6b2f3
consolidated url help into urls help topic and added information about path aliases
Bill Barry <after.fallout@gmail.com>
parents:
7691
diff
changeset
|
2038 See 'hg help urls' for more information. |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2039 """ |
8188 | 2040 hg.repository(cmdutil.remoteui(ui, opts), dest, create=1) |
338 | 2041 |
627 | 2042 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
|
2043 """locate files matching specific patterns |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2044 |
8779
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
2045 Print files under Mercurial control in the working directory whose |
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
2046 names match the given patterns. |
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
2047 |
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
2048 By default, this command searches all directories in the working |
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
2049 directory. To search just the current directory and its |
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
2050 subdirectories, use "--include .". |
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
2051 |
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
2052 If no patterns are given to match, this command prints the names |
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
2053 of all files under Mercurial control in the working directory. |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2054 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2055 If you want to feed the output of this command into the "xargs" |
8032
4726a522a182
commands: use double quotes consistently in help texts
Martin Geisler <mg@lazybytes.net>
parents:
8031
diff
changeset
|
2056 command, use the -0 option to both this command and "xargs". This |
4726a522a182
commands: use double quotes consistently in help texts
Martin Geisler <mg@lazybytes.net>
parents:
8031
diff
changeset
|
2057 will avoid the problem of "xargs" treating single filenames that |
8779
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
2058 contain whitespace as multiple filenames. |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2059 """ |
7131
23bd7383891c
commands: optional options where possible
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7126
diff
changeset
|
2060 end = opts.get('print0') and '\0' or '\n' |
6764 | 2061 rev = opts.get('rev') or None |
742 | 2062 |
4196
1c69c73d85d9
locate: exit(1) if we didn't print any file
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4195
diff
changeset
|
2063 ret = 1 |
6579
0159b7a36184
walk: pass match object to cmdutil.walk
Matt Mackall <mpm@selenic.com>
parents:
6578
diff
changeset
|
2064 m = cmdutil.match(repo, pats, opts, default='relglob') |
10282
08a0f04b56bd
many, many trivial check-code fixups
Matt Mackall <mpm@selenic.com>
parents:
10270
diff
changeset
|
2065 m.bad = lambda x, y: False |
6764 | 2066 for abs in repo[rev].walk(m): |
2067 if not rev and abs not in repo.dirstate: | |
4308
a5cde03cd019
locate: don't print "file not found" messages.
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4252
diff
changeset
|
2068 continue |
7131
23bd7383891c
commands: optional options where possible
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7126
diff
changeset
|
2069 if opts.get('fullpath'): |
7570
e05aa73ce2b7
use repo.wjoin(f) instead of os.path.join(repo.root, f)
Martin Geisler <mg@daimi.au.dk>
parents:
7540
diff
changeset
|
2070 ui.write(repo.wjoin(abs), end) |
724
1c0c413cccdd
Get add and locate to use new repo and dirstate walk code.
Bryan O'Sullivan <bos@serpentine.com>
parents:
723
diff
changeset
|
2071 else: |
6584
29c77e5dfb3c
walk: remove rel and exact returns
Matt Mackall <mpm@selenic.com>
parents:
6583
diff
changeset
|
2072 ui.write(((pats and m.rel(abs)) 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
|
2073 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
|
2074 |
1c69c73d85d9
locate: exit(1) if we didn't print any file
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4195
diff
changeset
|
2075 return ret |
627 | 2076 |
1031
503aaf19a040
Rewrite log command. New version is faster and more featureful.
Bryan O'Sullivan <bos@serpentine.com>
parents:
1030
diff
changeset
|
2077 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
|
2078 """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
|
2079 |
2741
ae5ce3454ef5
log: add -f/--follow option, to follow rename/copy
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2739
diff
changeset
|
2080 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
|
2081 project. |
ae5ce3454ef5
log: add -f/--follow option, to follow rename/copy
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2739
diff
changeset
|
2082 |
ae5ce3454ef5
log: add -f/--follow option, to follow rename/copy
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2739
diff
changeset
|
2083 File history is shown without following rename or copy history of |
8761
0289f384e1e5
Generally replace "file name" with "filename" in help and comments.
timeless <timeless@gmail.com>
parents:
8760
diff
changeset
|
2084 files. Use -f/--follow with a filename to follow history across |
0289f384e1e5
Generally replace "file name" with "filename" in help and comments.
timeless <timeless@gmail.com>
parents:
8760
diff
changeset
|
2085 renames and copies. --follow without a filename 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
|
2086 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
|
2087 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
|
2088 |
2783
2e0cd25fe4ac
Make log --follow revision range start default to working dir parent.
Brendan Cully <brendan@kublai.com>
parents:
2782
diff
changeset
|
2089 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
|
2090 --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
|
2091 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
|
2092 |
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
|
2093 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
|
2094 |
8779
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
2095 By default this command prints revision number and changeset id, |
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
2096 tags, non-trivial parents, user, date and time, and a summary for |
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
2097 each commit. When the -v/--verbose switch is used, the list of |
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
2098 changed files and full commit message are shown. |
3822
28134d82db9b
Add notes about diff/merge asymmetry to export, diff, and log
Matt Mackall <mpm@selenic.com>
parents:
3815
diff
changeset
|
2099 |
8033
aeb4a5c7a28e
commands: consistently write switches as -a/--abc
Martin Geisler <mg@lazybytes.net>
parents:
8032
diff
changeset
|
2100 NOTE: log -p/--patch may generate unexpected diff output for merge |
7807
bd8f44638847
help: miscellaneous language fixes
timeless <timeless@gmail.com>
parents:
7765
diff
changeset
|
2101 changesets, as it will only compare the merge changeset against |
8779
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
2102 its first parent. Also, only files different from BOTH parents |
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
2103 will appear in files:. |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2104 """ |
1756
f29857aaa053
add -l,--limit to log command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1747
diff
changeset
|
2105 |
9652
2cb0cab10d2e
walkchangerevs: pull out matchfn
Matt Mackall <mpm@selenic.com>
parents:
9625
diff
changeset
|
2106 matchfn = cmdutil.match(repo, pats, opts) |
6190
a79d9408806f
Move finding/checking the log limit to cmdutil
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6189
diff
changeset
|
2107 limit = cmdutil.loglimit(opts) |
1756
f29857aaa053
add -l,--limit to log command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1747
diff
changeset
|
2108 count = 0 |
f29857aaa053
add -l,--limit to log command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1747
diff
changeset
|
2109 |
10060
f780b1098efc
templatekw: change {file_copies} behaviour, add {file_copies_switch}
Patrick Mezard <pmezard@gmail.com>
parents:
10021
diff
changeset
|
2110 endrev = None |
7131
23bd7383891c
commands: optional options where possible
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7126
diff
changeset
|
2111 if opts.get('copies') and opts.get('rev'): |
23bd7383891c
commands: optional options where possible
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7126
diff
changeset
|
2112 endrev = max(cmdutil.revrange(repo, opts.get('rev'))) + 1 |
3197 | 2113 |
3813 | 2114 df = False |
2115 if opts["date"]: | |
2116 df = util.matchdate(opts["date"]) | |
2117 | |
3837
7df171ea50cd
Fix log regression where log -p file showed diffs for other files
Matt Mackall <mpm@selenic.com>
parents:
3833
diff
changeset
|
2118 displayer = cmdutil.show_changeset(ui, repo, opts, True, matchfn) |
9662
f3d60543924f
walkchangerevs: move 'add' to callback
Matt Mackall <mpm@selenic.com>
parents:
9656
diff
changeset
|
2119 def prep(ctx, fns): |
9655
6d7d3f849062
walkchangerevs: internalize ctx caching
Matt Mackall <mpm@selenic.com>
parents:
9654
diff
changeset
|
2120 rev = ctx.rev() |
9662
f3d60543924f
walkchangerevs: move 'add' to callback
Matt Mackall <mpm@selenic.com>
parents:
9656
diff
changeset
|
2121 parents = [p for p in repo.changelog.parentrevs(rev) |
f3d60543924f
walkchangerevs: move 'add' to callback
Matt Mackall <mpm@selenic.com>
parents:
9656
diff
changeset
|
2122 if p != nullrev] |
f3d60543924f
walkchangerevs: move 'add' to callback
Matt Mackall <mpm@selenic.com>
parents:
9656
diff
changeset
|
2123 if opts.get('no_merges') and len(parents) == 2: |
f3d60543924f
walkchangerevs: move 'add' to callback
Matt Mackall <mpm@selenic.com>
parents:
9656
diff
changeset
|
2124 return |
f3d60543924f
walkchangerevs: move 'add' to callback
Matt Mackall <mpm@selenic.com>
parents:
9656
diff
changeset
|
2125 if opts.get('only_merges') and len(parents) != 2: |
f3d60543924f
walkchangerevs: move 'add' to callback
Matt Mackall <mpm@selenic.com>
parents:
9656
diff
changeset
|
2126 return |
9663
4164a17e7126
log: tidy up some filter tests
Matt Mackall <mpm@selenic.com>
parents:
9662
diff
changeset
|
2127 if opts.get('only_branch') and ctx.branch() not in opts['only_branch']: |
9662
f3d60543924f
walkchangerevs: move 'add' to callback
Matt Mackall <mpm@selenic.com>
parents:
9656
diff
changeset
|
2128 return |
f3d60543924f
walkchangerevs: move 'add' to callback
Matt Mackall <mpm@selenic.com>
parents:
9656
diff
changeset
|
2129 if df and not df(ctx.date()[0]): |
f3d60543924f
walkchangerevs: move 'add' to callback
Matt Mackall <mpm@selenic.com>
parents:
9656
diff
changeset
|
2130 return |
9663
4164a17e7126
log: tidy up some filter tests
Matt Mackall <mpm@selenic.com>
parents:
9662
diff
changeset
|
2131 if opts['user'] and not [k for k in opts['user'] if k in ctx.user()]: |
4164a17e7126
log: tidy up some filter tests
Matt Mackall <mpm@selenic.com>
parents:
9662
diff
changeset
|
2132 return |
9662
f3d60543924f
walkchangerevs: move 'add' to callback
Matt Mackall <mpm@selenic.com>
parents:
9656
diff
changeset
|
2133 if opts.get('keyword'): |
f3d60543924f
walkchangerevs: move 'add' to callback
Matt Mackall <mpm@selenic.com>
parents:
9656
diff
changeset
|
2134 for k in [kw.lower() for kw in opts['keyword']]: |
9663
4164a17e7126
log: tidy up some filter tests
Matt Mackall <mpm@selenic.com>
parents:
9662
diff
changeset
|
2135 if (k in ctx.user().lower() or |
4164a17e7126
log: tidy up some filter tests
Matt Mackall <mpm@selenic.com>
parents:
9662
diff
changeset
|
2136 k in ctx.description().lower() or |
4164a17e7126
log: tidy up some filter tests
Matt Mackall <mpm@selenic.com>
parents:
9662
diff
changeset
|
2137 k in " ".join(ctx.files()).lower()): |
9662
f3d60543924f
walkchangerevs: move 'add' to callback
Matt Mackall <mpm@selenic.com>
parents:
9656
diff
changeset
|
2138 break |
9663
4164a17e7126
log: tidy up some filter tests
Matt Mackall <mpm@selenic.com>
parents:
9662
diff
changeset
|
2139 else: |
9662
f3d60543924f
walkchangerevs: move 'add' to callback
Matt Mackall <mpm@selenic.com>
parents:
9656
diff
changeset
|
2140 return |
f3d60543924f
walkchangerevs: move 'add' to callback
Matt Mackall <mpm@selenic.com>
parents:
9656
diff
changeset
|
2141 |
10060
f780b1098efc
templatekw: change {file_copies} behaviour, add {file_copies_switch}
Patrick Mezard <pmezard@gmail.com>
parents:
10021
diff
changeset
|
2142 copies = None |
9662
f3d60543924f
walkchangerevs: move 'add' to callback
Matt Mackall <mpm@selenic.com>
parents:
9656
diff
changeset
|
2143 if opts.get('copies') and rev: |
10060
f780b1098efc
templatekw: change {file_copies} behaviour, add {file_copies_switch}
Patrick Mezard <pmezard@gmail.com>
parents:
10021
diff
changeset
|
2144 copies = [] |
f780b1098efc
templatekw: change {file_copies} behaviour, add {file_copies_switch}
Patrick Mezard <pmezard@gmail.com>
parents:
10021
diff
changeset
|
2145 getrenamed = templatekw.getrenamedfn(repo, endrev=endrev) |
9662
f3d60543924f
walkchangerevs: move 'add' to callback
Matt Mackall <mpm@selenic.com>
parents:
9656
diff
changeset
|
2146 for fn in ctx.files(): |
f3d60543924f
walkchangerevs: move 'add' to callback
Matt Mackall <mpm@selenic.com>
parents:
9656
diff
changeset
|
2147 rename = getrenamed(fn, rev) |
f3d60543924f
walkchangerevs: move 'add' to callback
Matt Mackall <mpm@selenic.com>
parents:
9656
diff
changeset
|
2148 if rename: |
f3d60543924f
walkchangerevs: move 'add' to callback
Matt Mackall <mpm@selenic.com>
parents:
9656
diff
changeset
|
2149 copies.append((fn, rename[0])) |
f3d60543924f
walkchangerevs: move 'add' to callback
Matt Mackall <mpm@selenic.com>
parents:
9656
diff
changeset
|
2150 |
f3d60543924f
walkchangerevs: move 'add' to callback
Matt Mackall <mpm@selenic.com>
parents:
9656
diff
changeset
|
2151 displayer.show(ctx, copies=copies) |
f3d60543924f
walkchangerevs: move 'add' to callback
Matt Mackall <mpm@selenic.com>
parents:
9656
diff
changeset
|
2152 |
9665
1de5ebfa5585
walkchangerevs: drop ui arg
Matt Mackall <mpm@selenic.com>
parents:
9663
diff
changeset
|
2153 for ctx in cmdutil.walkchangerevs(repo, matchfn, opts, prep): |
9687
c6da1cb3b255
log --limit: break after a limited number of csets (broken by f3d60543924f)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
9679
diff
changeset
|
2154 if count == limit: |
c6da1cb3b255
log --limit: break after a limited number of csets (broken by f3d60543924f)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
9679
diff
changeset
|
2155 break |
c6da1cb3b255
log --limit: break after a limited number of csets (broken by f3d60543924f)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
9679
diff
changeset
|
2156 if displayer.flush(ctx.rev()): |
c6da1cb3b255
log --limit: break after a limited number of csets (broken by f3d60543924f)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
9679
diff
changeset
|
2157 count += 1 |
10152
56284451a22c
Added support for templatevar "footer" to cmdutil.py
Robert Bachmann <rbachm@gmail.com>
parents:
10111
diff
changeset
|
2158 displayer.close() |
255 | 2159 |
5155
13d23d66a6cd
manifest: accept -r for rev specification
Bryan O'Sullivan <bos@serpentine.com>
parents:
5148
diff
changeset
|
2160 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
|
2161 """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
|
2162 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2163 Print a list of version controlled files for the given revision. |
8041
87c5a4af0b5a
Fix manifest default rev doc when no rev is checked out (issue1603)
Patrick Mezard <pmezard@gmail.com>
parents:
7850
diff
changeset
|
2164 If no revision is given, the first parent of the working directory |
8779
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
2165 is used, or the null revision if no revision is checked out. |
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
2166 |
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
2167 With -v, print file permissions, symlink and executable bits. |
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
2168 With --debug, print file revision hashes. |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2169 """ |
3736 | 2170 |
5155
13d23d66a6cd
manifest: accept -r for rev specification
Bryan O'Sullivan <bos@serpentine.com>
parents:
5148
diff
changeset
|
2171 if rev and node: |
13d23d66a6cd
manifest: accept -r for rev specification
Bryan O'Sullivan <bos@serpentine.com>
parents:
5148
diff
changeset
|
2172 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
|
2173 |
13d23d66a6cd
manifest: accept -r for rev specification
Bryan O'Sullivan <bos@serpentine.com>
parents:
5148
diff
changeset
|
2174 if not node: |
13d23d66a6cd
manifest: accept -r for rev specification
Bryan O'Sullivan <bos@serpentine.com>
parents:
5148
diff
changeset
|
2175 node = rev |
13d23d66a6cd
manifest: accept -r for rev specification
Bryan O'Sullivan <bos@serpentine.com>
parents:
5148
diff
changeset
|
2176 |
6749
51b0e799352f
manifest: remove execf/linkf methods
Matt Mackall <mpm@selenic.com>
parents:
6748
diff
changeset
|
2177 decor = {'l':'644 @ ', 'x':'755 * ', '':'644 '} |
51b0e799352f
manifest: remove execf/linkf methods
Matt Mackall <mpm@selenic.com>
parents:
6748
diff
changeset
|
2178 ctx = repo[node] |
51b0e799352f
manifest: remove execf/linkf methods
Matt Mackall <mpm@selenic.com>
parents:
6748
diff
changeset
|
2179 for f in ctx: |
3736 | 2180 if ui.debugflag: |
6749
51b0e799352f
manifest: remove execf/linkf methods
Matt Mackall <mpm@selenic.com>
parents:
6748
diff
changeset
|
2181 ui.write("%40s " % hex(ctx.manifest()[f])) |
3736 | 2182 if ui.verbose: |
6749
51b0e799352f
manifest: remove execf/linkf methods
Matt Mackall <mpm@selenic.com>
parents:
6748
diff
changeset
|
2183 ui.write(decor[ctx.flags(f)]) |
3736 | 2184 ui.write("%s\n" % f) |
255 | 2185 |
8387
50b6af595e0c
merge: add -S/--show option to review revisions without merging
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
8366
diff
changeset
|
2186 def merge(ui, repo, node=None, **opts): |
4014
509342f95564
various doc fixes
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
4013
diff
changeset
|
2187 """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
|
2188 |
8779
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
2189 The current working directory is updated with all changes made in |
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
2190 the requested revision since the last common predecessor revision. |
7977
1cd3775e097c
commands: better merge help text
Martin Geisler <mg@daimi.au.dk>
parents:
7976
diff
changeset
|
2191 |
1cd3775e097c
commands: better merge help text
Martin Geisler <mg@daimi.au.dk>
parents:
7976
diff
changeset
|
2192 Files that changed between either parent are marked as changed for |
1cd3775e097c
commands: better merge help text
Martin Geisler <mg@daimi.au.dk>
parents:
7976
diff
changeset
|
2193 the next commit and a commit must be performed before any further |
8779
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
2194 updates to the repository are allowed. The next commit will have |
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
2195 two parents. |
2915
013921c753bd
merge with other head by default, not tip.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2911
diff
changeset
|
2196 |
013921c753bd
merge with other head by default, not tip.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2911
diff
changeset
|
2197 If no revision is specified, the working directory's parent is a |
8004
d5b1b846f277
commands: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
2198 head revision, and the current branch contains exactly one other |
d5b1b846f277
commands: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
2199 head, the other head is merged with by default. Otherwise, an |
8779
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
2200 explicit revision with which 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
|
2201 """ |
2806
0bf22c109cc3
Factor doupdate into _lookup + hg.update
Matt Mackall <mpm@selenic.com>
parents:
2803
diff
changeset
|
2202 |
8387
50b6af595e0c
merge: add -S/--show option to review revisions without merging
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
8366
diff
changeset
|
2203 if opts.get('rev') and node: |
4450
8fa54b9c6c5a
accept -r REV in more places
Daniel Holth <dholth@fastmail.fm>
parents:
4445
diff
changeset
|
2204 raise util.Abort(_("please specify just one revision")) |
8fa54b9c6c5a
accept -r REV in more places
Daniel Holth <dholth@fastmail.fm>
parents:
4445
diff
changeset
|
2205 if not node: |
8387
50b6af595e0c
merge: add -S/--show option to review revisions without merging
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
8366
diff
changeset
|
2206 node = opts.get('rev') |
4450
8fa54b9c6c5a
accept -r REV in more places
Daniel Holth <dholth@fastmail.fm>
parents:
4445
diff
changeset
|
2207 |
3876
1e0b94cfba0e
Remove deprecated old-style branch support
Matt Mackall <mpm@selenic.com>
parents:
3862
diff
changeset
|
2208 if not node: |
6740
b148e9099133
use repo.changectx(None) to get a workingctx
Matt Mackall <mpm@selenic.com>
parents:
6739
diff
changeset
|
2209 branch = repo.changectx(None).branch() |
6844
a38dff85d31f
merge: use correct branch name for counting heads
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
6843
diff
changeset
|
2210 bheads = repo.branchheads(branch) |
6723
1fe6f365df2e
merge: only in-branch merges can be implicit
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
6686
diff
changeset
|
2211 if len(bheads) > 2: |
10355
a5576908b589
merge: add hints about the use of 'hg heads' to find the rev to merge
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
10350
diff
changeset
|
2212 ui.warn(_("abort: branch '%s' has %d heads - " |
a5576908b589
merge: add hints about the use of 'hg heads' to find the rev to merge
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
10350
diff
changeset
|
2213 "please merge with an explicit rev\n") |
a5576908b589
merge: add hints about the use of 'hg heads' to find the rev to merge
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
10350
diff
changeset
|
2214 % (branch, len(bheads))) |
a5576908b589
merge: add hints about the use of 'hg heads' to find the rev to merge
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
10350
diff
changeset
|
2215 ui.status(_("(run 'hg heads .' to see heads)\n")) |
a5576908b589
merge: add hints about the use of 'hg heads' to find the rev to merge
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
10350
diff
changeset
|
2216 return False |
6723
1fe6f365df2e
merge: only in-branch merges can be implicit
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
6686
diff
changeset
|
2217 |
5242
9cd6578750b9
improve error message for 'hg merge' when repo already at branchtip
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
5205
diff
changeset
|
2218 parent = repo.dirstate.parents()[0] |
6723
1fe6f365df2e
merge: only in-branch merges can be implicit
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
6686
diff
changeset
|
2219 if len(bheads) == 1: |
1fe6f365df2e
merge: only in-branch merges can be implicit
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
6686
diff
changeset
|
2220 if len(repo.heads()) > 1: |
10355
a5576908b589
merge: add hints about the use of 'hg heads' to find the rev to merge
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
10350
diff
changeset
|
2221 ui.warn(_("abort: branch '%s' has one head - " |
a5576908b589
merge: add hints about the use of 'hg heads' to find the rev to merge
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
10350
diff
changeset
|
2222 "please merge with an explicit rev\n" % branch)) |
a5576908b589
merge: add hints about the use of 'hg heads' to find the rev to merge
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
10350
diff
changeset
|
2223 ui.status(_("(run 'hg heads' to see all heads)\n")) |
a5576908b589
merge: add hints about the use of 'hg heads' to find the rev to merge
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
10350
diff
changeset
|
2224 return False |
5242
9cd6578750b9
improve error message for 'hg merge' when repo already at branchtip
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
5205
diff
changeset
|
2225 msg = _('there is nothing to merge') |
6747
f6c00b17387c
use repo[changeid] to get a changectx
Matt Mackall <mpm@selenic.com>
parents:
6746
diff
changeset
|
2226 if parent != repo.lookup(repo[None].branch()): |
5542
253736bb0dc9
i18n: fix complaints from pygettext
Matt Mackall <mpm@selenic.com>
parents:
5525
diff
changeset
|
2227 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
|
2228 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
|
2229 |
6723
1fe6f365df2e
merge: only in-branch merges can be implicit
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
6686
diff
changeset
|
2230 if parent not in bheads: |
2915
013921c753bd
merge with other head by default, not tip.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2911
diff
changeset
|
2231 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
|
2232 'use "hg update" or merge with an explicit rev')) |
6723
1fe6f365df2e
merge: only in-branch merges can be implicit
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
6686
diff
changeset
|
2233 node = parent == bheads[0] and bheads[-1] or bheads[0] |
8387
50b6af595e0c
merge: add -S/--show option to review revisions without merging
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
8366
diff
changeset
|
2234 |
8834
6d36fc70754e
merge: rename -S/--show option to -P/--preview
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
8815
diff
changeset
|
2235 if opts.get('preview'): |
10505
b3311e26f94f
merge: fix --preview to show all nodes that will be merged (issue2043).
Greg Ward <greg-hg@gerg.ca>
parents:
10479
diff
changeset
|
2236 # find nodes that are ancestors of p2 but not of p1 |
b3311e26f94f
merge: fix --preview to show all nodes that will be merged (issue2043).
Greg Ward <greg-hg@gerg.ca>
parents:
10479
diff
changeset
|
2237 p1 = repo.lookup('.') |
b3311e26f94f
merge: fix --preview to show all nodes that will be merged (issue2043).
Greg Ward <greg-hg@gerg.ca>
parents:
10479
diff
changeset
|
2238 p2 = repo.lookup(node) |
b3311e26f94f
merge: fix --preview to show all nodes that will be merged (issue2043).
Greg Ward <greg-hg@gerg.ca>
parents:
10479
diff
changeset
|
2239 nodes = repo.changelog.findmissing(common=[p1], heads=[p2]) |
b3311e26f94f
merge: fix --preview to show all nodes that will be merged (issue2043).
Greg Ward <greg-hg@gerg.ca>
parents:
10479
diff
changeset
|
2240 |
8387
50b6af595e0c
merge: add -S/--show option to review revisions without merging
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
8366
diff
changeset
|
2241 displayer = cmdutil.show_changeset(ui, repo, opts) |
10505
b3311e26f94f
merge: fix --preview to show all nodes that will be merged (issue2043).
Greg Ward <greg-hg@gerg.ca>
parents:
10479
diff
changeset
|
2242 for node in nodes: |
b3311e26f94f
merge: fix --preview to show all nodes that will be merged (issue2043).
Greg Ward <greg-hg@gerg.ca>
parents:
10479
diff
changeset
|
2243 displayer.show(repo[node]) |
10152
56284451a22c
Added support for templatevar "footer" to cmdutil.py
Robert Bachmann <rbachm@gmail.com>
parents:
10111
diff
changeset
|
2244 displayer.close() |
8387
50b6af595e0c
merge: add -S/--show option to review revisions without merging
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
8366
diff
changeset
|
2245 return 0 |
50b6af595e0c
merge: add -S/--show option to review revisions without merging
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
8366
diff
changeset
|
2246 |
50b6af595e0c
merge: add -S/--show option to review revisions without merging
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
8366
diff
changeset
|
2247 return hg.merge(repo, node, force=opts.get('force')) |
2029
d436b21b20dc
rewrite revert command. fix issues 93, 123, 147.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2022
diff
changeset
|
2248 |
2494
73ac95671788
push, outgoing, bundle: fall back to "default" if "default-push" not defined
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2493
diff
changeset
|
2249 def outgoing(ui, repo, dest=None, **opts): |
10376 | 2250 """show changesets not found in the destination |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2251 |
8004
d5b1b846f277
commands: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
2252 Show changesets not found in the specified destination repository |
d5b1b846f277
commands: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
2253 or the default push location. These are the changesets that would |
d5b1b846f277
commands: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
2254 be pushed 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
|
2255 |
10376 | 2256 See pull for details of valid destination formats. |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2257 """ |
6191
01594b0c86e2
Add option -l/--limit to hg incoming and hg outgoing.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6190
diff
changeset
|
2258 limit = cmdutil.loglimit(opts) |
10365
d757bc0c7865
interpret repo#name url syntax as branch instead of revision
Sune Foldager <cryo@cyanite.org>
parents:
10364
diff
changeset
|
2259 dest = ui.expandpath(dest or 'default-push', dest or 'default') |
10379
a78bfaf988e1
add -b/--branch option to clone, bundle, incoming, outgoing, pull, push
Sune Foldager <cryo@cyanite.org>
parents:
10376
diff
changeset
|
2260 dest, branches = hg.parseurl(dest, opts.get('branch')) |
10365
d757bc0c7865
interpret repo#name url syntax as branch instead of revision
Sune Foldager <cryo@cyanite.org>
parents:
10364
diff
changeset
|
2261 revs, checkout = hg.addbranchrevs(repo, repo, branches, opts.get('rev')) |
4478
b2b55acbacdd
Add support for url#id syntax
Matt Mackall <mpm@selenic.com>
parents:
4474
diff
changeset
|
2262 if revs: |
b2b55acbacdd
Add support for url#id syntax
Matt Mackall <mpm@selenic.com>
parents:
4474
diff
changeset
|
2263 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
|
2264 |
8188 | 2265 other = hg.repository(cmdutil.remoteui(repo, opts), dest) |
7270
2db33c1a5654
factor out the url handling from httprepo
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
7236
diff
changeset
|
2266 ui.status(_('comparing with %s\n') % url.hidepassword(dest)) |
7131
23bd7383891c
commands: optional options where possible
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7126
diff
changeset
|
2267 o = repo.findoutgoing(other, force=opts.get('force')) |
1994
78ef83c9e9e1
show message if no changes found on outgoing
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1993
diff
changeset
|
2268 if not o: |
78ef83c9e9e1
show message if no changes found on outgoing
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1993
diff
changeset
|
2269 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
|
2270 return 1 |
2521
9cceb439048b
add -r/--rev arguments to incoming and outgoing
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
2515
diff
changeset
|
2271 o = repo.changelog.nodesbetween(o, revs)[0] |
7131
23bd7383891c
commands: optional options where possible
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7126
diff
changeset
|
2272 if opts.get('newest_first'): |
1439
65cbe22b03fa
allow 'hg out' / 'hg in' to show newest commit first
Michal Kvasnica <kvasnica@gmail.com>
parents:
1437
diff
changeset
|
2273 o.reverse() |
3643
b4ad640a3bcf
templates: move changeset templating bits to cmdutils
Matt Mackall <mpm@selenic.com>
parents:
3631
diff
changeset
|
2274 displayer = cmdutil.show_changeset(ui, repo, opts) |
6191
01594b0c86e2
Add option -l/--limit to hg incoming and hg outgoing.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6190
diff
changeset
|
2275 count = 0 |
920 | 2276 for n in o: |
10111
27457d31ae3f
cmdutil: replace sys.maxint with None as default value in loglimit
Nicolas Dumazet <nicdumz.commits@gmail.com>
parents:
10060
diff
changeset
|
2277 if limit is not None and count >= limit: |
6191
01594b0c86e2
Add option -l/--limit to hg incoming and hg outgoing.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6190
diff
changeset
|
2278 break |
1435
22b44fd9a166
add --no-merges (-M) for log, outgoing, incoming
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1431
diff
changeset
|
2279 parents = [p for p in repo.changelog.parents(n) if p != nullid] |
7131
23bd7383891c
commands: optional options where possible
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7126
diff
changeset
|
2280 if opts.get('no_merges') and len(parents) == 2: |
1435
22b44fd9a166
add --no-merges (-M) for log, outgoing, incoming
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1431
diff
changeset
|
2281 continue |
6191
01594b0c86e2
Add option -l/--limit to hg incoming and hg outgoing.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6190
diff
changeset
|
2282 count += 1 |
7369
87158be081b8
cmdutil: use change contexts for cset-printer and cset-templater
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
7364
diff
changeset
|
2283 displayer.show(repo[n]) |
10152
56284451a22c
Added support for templatevar "footer" to cmdutil.py
Robert Bachmann <rbachm@gmail.com>
parents:
10111
diff
changeset
|
2284 displayer.close() |
920 | 2285 |
3658
d12c8668b102
remove legacy hg parents REV syntax
Matt Mackall <mpm@selenic.com>
parents:
3657
diff
changeset
|
2286 def parents(ui, repo, file_=None, **opts): |
8026
683d8ebcf434
expand "dir" to "directory" in help texts
Martin Geisler <mg@lazybytes.net>
parents:
8021
diff
changeset
|
2287 """show the parents of the working directory or revision |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2288 |
8004
d5b1b846f277
commands: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
2289 Print the working directory's parent revisions. If a revision is |
8033
aeb4a5c7a28e
commands: consistently write switches as -a/--abc
Martin Geisler <mg@lazybytes.net>
parents:
8032
diff
changeset
|
2290 given via -r/--rev, the parent of that revision will be printed. |
8779
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
2291 If a file argument is given, the revision in which the file was |
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
2292 last changed (before the working directory revision or the |
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
2293 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
|
2294 """ |
3658
d12c8668b102
remove legacy hg parents REV syntax
Matt Mackall <mpm@selenic.com>
parents:
3657
diff
changeset
|
2295 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
|
2296 if rev: |
6747
f6c00b17387c
use repo[changeid] to get a changectx
Matt Mackall <mpm@selenic.com>
parents:
6746
diff
changeset
|
2297 ctx = repo[rev] |
5298
cba2a689117d
parents: make it match the doc when called on a file
Patrick Mezard <pmezard@gmail.com>
parents:
5230
diff
changeset
|
2298 else: |
6747
f6c00b17387c
use repo[changeid] to get a changectx
Matt Mackall <mpm@selenic.com>
parents:
6746
diff
changeset
|
2299 ctx = repo[None] |
5298
cba2a689117d
parents: make it match the doc when called on a file
Patrick Mezard <pmezard@gmail.com>
parents:
5230
diff
changeset
|
2300 |
4586
1fcc076fcb17
Make parents with a file but not a revision use working directory revision.
Brendan Cully <brendan@kublai.com>
parents:
4451
diff
changeset
|
2301 if file_: |
6582
5acbdd3941c4
walk: remove remaining users of cmdutils.matchpats
Matt Mackall <mpm@selenic.com>
parents:
6579
diff
changeset
|
2302 m = cmdutil.match(repo, (file_,), opts) |
5acbdd3941c4
walk: remove remaining users of cmdutils.matchpats
Matt Mackall <mpm@selenic.com>
parents:
6579
diff
changeset
|
2303 if m.anypats() or len(m.files()) != 1: |
8761
0289f384e1e5
Generally replace "file name" with "filename" in help and comments.
timeless <timeless@gmail.com>
parents:
8760
diff
changeset
|
2304 raise util.Abort(_('can only specify an explicit filename')) |
6582
5acbdd3941c4
walk: remove remaining users of cmdutils.matchpats
Matt Mackall <mpm@selenic.com>
parents:
6579
diff
changeset
|
2305 file_ = m.files()[0] |
5298
cba2a689117d
parents: make it match the doc when called on a file
Patrick Mezard <pmezard@gmail.com>
parents:
5230
diff
changeset
|
2306 filenodes = [] |
cba2a689117d
parents: make it match the doc when called on a file
Patrick Mezard <pmezard@gmail.com>
parents:
5230
diff
changeset
|
2307 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
|
2308 if not cp: |
cba2a689117d
parents: make it match the doc when called on a file
Patrick Mezard <pmezard@gmail.com>
parents:
5230
diff
changeset
|
2309 continue |
cba2a689117d
parents: make it match the doc when called on a file
Patrick Mezard <pmezard@gmail.com>
parents:
5230
diff
changeset
|
2310 try: |
cba2a689117d
parents: make it match the doc when called on a file
Patrick Mezard <pmezard@gmail.com>
parents:
5230
diff
changeset
|
2311 filenodes.append(cp.filenode(file_)) |
7633 | 2312 except error.LookupError: |
5298
cba2a689117d
parents: make it match the doc when called on a file
Patrick Mezard <pmezard@gmail.com>
parents:
5230
diff
changeset
|
2313 pass |
cba2a689117d
parents: make it match the doc when called on a file
Patrick Mezard <pmezard@gmail.com>
parents:
5230
diff
changeset
|
2314 if not filenodes: |
cba2a689117d
parents: make it match the doc when called on a file
Patrick Mezard <pmezard@gmail.com>
parents:
5230
diff
changeset
|
2315 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
|
2316 fl = repo.file(file_) |
7361
9fe97eea5510
linkrev: take a revision number rather than a hash
Matt Mackall <mpm@selenic.com>
parents:
7308
diff
changeset
|
2317 p = [repo.lookup(fl.linkrev(fl.rev(fn))) for fn in filenodes] |
255 | 2318 else: |
5298
cba2a689117d
parents: make it match the doc when called on a file
Patrick Mezard <pmezard@gmail.com>
parents:
5230
diff
changeset
|
2319 p = [cp.node() for cp in ctx.parents()] |
255 | 2320 |
3643
b4ad640a3bcf
templates: move changeset templating bits to cmdutils
Matt Mackall <mpm@selenic.com>
parents:
3631
diff
changeset
|
2321 displayer = cmdutil.show_changeset(ui, repo, opts) |
255 | 2322 for n in p: |
1092 | 2323 if n != nullid: |
7743
ec9b726a9428
commands: fix paths command docstring indention
Martin Geisler <mg@daimi.au.dk>
parents:
7739
diff
changeset
|
2324 displayer.show(repo[n]) |
10152
56284451a22c
Added support for templatevar "footer" to cmdutil.py
Robert Bachmann <rbachm@gmail.com>
parents:
10111
diff
changeset
|
2325 displayer.close() |
255 | 2326 |
1858
9fab6e903bae
Make hg paths and hg debugconfig work with -R/--repository option.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1857
diff
changeset
|
2327 def paths(ui, repo, search=None): |
7691
bcdc2fe3fd07
Clarified 'hg paths' command help
Bill Barry <after.fallout@gmail.com>
parents:
7684
diff
changeset
|
2328 """show aliases for remote repositories |
bcdc2fe3fd07
Clarified 'hg paths' command help
Bill Barry <after.fallout@gmail.com>
parents:
7684
diff
changeset
|
2329 |
8004
d5b1b846f277
commands: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
2330 Show definition of symbolic path name NAME. If no name is given, |
8779
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
2331 show definition of all available names. |
7743
ec9b726a9428
commands: fix paths command docstring indention
Martin Geisler <mg@daimi.au.dk>
parents:
7739
diff
changeset
|
2332 |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2333 Path names are defined in the [paths] section of /etc/mercurial/hgrc |
6448
cd3d49ffc6f6
Consistently 1 space after full stops in command doc strings
Christian Ebert <blacktrash@gmx.net>
parents:
6442
diff
changeset
|
2334 and $HOME/.hgrc. If run inside a repository, .hg/hgrc is used, too. |
7693
e040f9d6b2f3
consolidated url help into urls help topic and added information about path aliases
Bill Barry <after.fallout@gmail.com>
parents:
7691
diff
changeset
|
2335 |
e040f9d6b2f3
consolidated url help into urls help topic and added information about path aliases
Bill Barry <after.fallout@gmail.com>
parents:
7691
diff
changeset
|
2336 See 'hg help urls' for more information. |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2337 """ |
779 | 2338 if search: |
2339 for name, path in ui.configitems("paths"): | |
2340 if name == search: | |
7270
2db33c1a5654
factor out the url handling from httprepo
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
7236
diff
changeset
|
2341 ui.write("%s\n" % url.hidepassword(path)) |
779 | 2342 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
|
2343 ui.warn(_("not found!\n")) |
779 | 2344 return 1 |
2345 else: | |
2346 for name, path in ui.configitems("paths"): | |
7270
2db33c1a5654
factor out the url handling from httprepo
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
7236
diff
changeset
|
2347 ui.write("%s = %s\n" % (name, url.hidepassword(path))) |
779 | 2348 |
5224
20817af258d8
pull -u: if "url#rev" was given, update to rev
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
5222
diff
changeset
|
2349 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
|
2350 if modheads == 0: |
ced2d3620f95
add merge command. means same thing as "update -m".
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1996
diff
changeset
|
2351 return |
ced2d3620f95
add merge command. means same thing as "update -m".
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1996
diff
changeset
|
2352 if optupdate: |
7372
e17dbf140035
pull: update to branch tip if there is only one head on the current branch
Benoit Allard <benoit@aeteurope.nl>
parents:
7369
diff
changeset
|
2353 if (modheads <= 1 or len(repo.branchheads()) == 1) or checkout: |
5224
20817af258d8
pull -u: if "url#rev" was given, update to rev
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
5222
diff
changeset
|
2354 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
|
2355 else: |
ced2d3620f95
add merge command. means same thing as "update -m".
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1996
diff
changeset
|
2356 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
|
2357 if modheads > 1: |
ced2d3620f95
add merge command. means same thing as "update -m".
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1996
diff
changeset
|
2358 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
|
2359 else: |
ced2d3620f95
add merge command. means same thing as "update -m".
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1996
diff
changeset
|
2360 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
|
2361 |
404 | 2362 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
|
2363 """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
|
2364 |
8779
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
2365 Pull changes from a remote repository to a local one. |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2366 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2367 This finds all changes from the repository at the specified path |
8779
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
2368 or URL and adds them to a local repository (the current one unless |
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
2369 -R is specified). By default, this does not update the copy of the |
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
2370 project in the working directory. |
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
2371 |
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
2372 Use hg incoming if you want to see what would have been added by a |
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
2373 pull at the time you issued this command. If you then decide to |
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
2374 added those changes to the repository, you should use pull -r X |
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
2375 where X is the last changeset listed by hg incoming. |
7980
3d8252430e17
commands: make pull help point to the incoming command
Martin Geisler <mg@daimi.au.dk>
parents:
7979
diff
changeset
|
2376 |
7693
e040f9d6b2f3
consolidated url help into urls help topic and added information about path aliases
Bill Barry <after.fallout@gmail.com>
parents:
7691
diff
changeset
|
2377 If SOURCE is omitted, the 'default' path will be used. |
e040f9d6b2f3
consolidated url help into urls help topic and added information about path aliases
Bill Barry <after.fallout@gmail.com>
parents:
7691
diff
changeset
|
2378 See 'hg help urls' for more information. |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2379 """ |
10379
a78bfaf988e1
add -b/--branch option to clone, bundle, incoming, outgoing, pull, push
Sune Foldager <cryo@cyanite.org>
parents:
10376
diff
changeset
|
2380 source, branches = hg.parseurl(ui.expandpath(source), opts.get('branch')) |
8188 | 2381 other = hg.repository(cmdutil.remoteui(repo, opts), source) |
7270
2db33c1a5654
factor out the url handling from httprepo
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
7236
diff
changeset
|
2382 ui.status(_('pulling from %s\n') % url.hidepassword(source)) |
10365
d757bc0c7865
interpret repo#name url syntax as branch instead of revision
Sune Foldager <cryo@cyanite.org>
parents:
10364
diff
changeset
|
2383 revs, checkout = hg.addbranchrevs(repo, other, branches, opts.get('rev')) |
4478
b2b55acbacdd
Add support for url#id syntax
Matt Mackall <mpm@selenic.com>
parents:
4474
diff
changeset
|
2384 if revs: |
5259
65dc707606ed
Push capability checking into protocol-level code.
Bryan O'Sullivan <bos@serpentine.com>
parents:
5248
diff
changeset
|
2385 try: |
4478
b2b55acbacdd
Add support for url#id syntax
Matt Mackall <mpm@selenic.com>
parents:
4474
diff
changeset
|
2386 revs = [other.lookup(rev) for rev in revs] |
7637 | 2387 except error.CapabilityError: |
2388 err = _("Other repository doesn't support revision lookup, " | |
2389 "so a rev cannot be specified.") | |
2390 raise util.Abort(err) | |
4478
b2b55acbacdd
Add support for url#id syntax
Matt Mackall <mpm@selenic.com>
parents:
4474
diff
changeset
|
2391 |
7131
23bd7383891c
commands: optional options where possible
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7126
diff
changeset
|
2392 modheads = repo.pull(other, heads=revs, force=opts.get('force')) |
9645
02f40b2ece3f
commands: use rev from remote repo when updating as part of a pull
timeless@mozdev.org
parents:
9644
diff
changeset
|
2393 if checkout: |
02f40b2ece3f
commands: use rev from remote repo when updating as part of a pull
timeless@mozdev.org
parents:
9644
diff
changeset
|
2394 checkout = str(repo.changelog.rev(other.lookup(checkout))) |
7131
23bd7383891c
commands: optional options where possible
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7126
diff
changeset
|
2395 return postincoming(ui, repo, modheads, opts.get('update'), checkout) |
246
96cde50a746f
Migrate rawcommit, import, export, history, and merge
mpm@selenic.com
parents:
245
diff
changeset
|
2396 |
2494
73ac95671788
push, outgoing, bundle: fall back to "default" if "default-push" not defined
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2493
diff
changeset
|
2397 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
|
2398 """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
|
2399 |
10376 | 2400 Push changes from the local repository to the specified destination. |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2401 |
7981
20df260ae301
commands: clarify push help text
Martin Geisler <mg@daimi.au.dk>
parents:
7980
diff
changeset
|
2402 This is the symmetrical operation for pull. It moves changes from |
20df260ae301
commands: clarify push help text
Martin Geisler <mg@daimi.au.dk>
parents:
7980
diff
changeset
|
2403 the current repository to a different one. If the destination is |
20df260ae301
commands: clarify push help text
Martin Geisler <mg@daimi.au.dk>
parents:
7980
diff
changeset
|
2404 local this is identical to a pull in that directory from the |
20df260ae301
commands: clarify push help text
Martin Geisler <mg@daimi.au.dk>
parents:
7980
diff
changeset
|
2405 current one. |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2406 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2407 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
|
2408 increase the number of remote heads. This generally indicates the |
8779
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
2409 user forgot to pull and merge before pushing. |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2410 |
8033
aeb4a5c7a28e
commands: consistently write switches as -a/--abc
Martin Geisler <mg@lazybytes.net>
parents:
8032
diff
changeset
|
2411 If -r/--rev is used, the named revision and all its ancestors will |
aeb4a5c7a28e
commands: consistently write switches as -a/--abc
Martin Geisler <mg@lazybytes.net>
parents:
8032
diff
changeset
|
2412 be pushed to the remote repository. |
7693
e040f9d6b2f3
consolidated url help into urls help topic and added information about path aliases
Bill Barry <after.fallout@gmail.com>
parents:
7691
diff
changeset
|
2413 |
9970
36760956f6d3
commands: mark "ssh://" as inline literals in help texts
Martin Geisler <mg@lazybytes.net>
parents:
9952
diff
changeset
|
2414 Please see 'hg help urls' for important details about ``ssh://`` |
8004
d5b1b846f277
commands: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
2415 URLs. If DESTINATION is omitted, a default path will be used. |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2416 """ |
10365
d757bc0c7865
interpret repo#name url syntax as branch instead of revision
Sune Foldager <cryo@cyanite.org>
parents:
10364
diff
changeset
|
2417 dest = ui.expandpath(dest or 'default-push', dest or 'default') |
10379
a78bfaf988e1
add -b/--branch option to clone, bundle, incoming, outgoing, pull, push
Sune Foldager <cryo@cyanite.org>
parents:
10376
diff
changeset
|
2418 dest, branches = hg.parseurl(dest, opts.get('branch')) |
10365
d757bc0c7865
interpret repo#name url syntax as branch instead of revision
Sune Foldager <cryo@cyanite.org>
parents:
10364
diff
changeset
|
2419 revs, checkout = hg.addbranchrevs(repo, repo, branches, opts.get('rev')) |
8188 | 2420 other = hg.repository(cmdutil.remoteui(repo, opts), dest) |
7270
2db33c1a5654
factor out the url handling from httprepo
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
7236
diff
changeset
|
2421 ui.status(_('pushing to %s\n') % url.hidepassword(dest)) |
4478
b2b55acbacdd
Add support for url#id syntax
Matt Mackall <mpm@selenic.com>
parents:
4474
diff
changeset
|
2422 if revs: |
b2b55acbacdd
Add support for url#id syntax
Matt Mackall <mpm@selenic.com>
parents:
4474
diff
changeset
|
2423 revs = [repo.lookup(rev) for rev in revs] |
8815
e87b0fc4750b
subrepo: basic push support
Matt Mackall <mpm@selenic.com>
parents:
8812
diff
changeset
|
2424 |
e87b0fc4750b
subrepo: basic push support
Matt Mackall <mpm@selenic.com>
parents:
8812
diff
changeset
|
2425 # push subrepos depth-first for coherent ordering |
e87b0fc4750b
subrepo: basic push support
Matt Mackall <mpm@selenic.com>
parents:
8812
diff
changeset
|
2426 c = repo[''] |
e87b0fc4750b
subrepo: basic push support
Matt Mackall <mpm@selenic.com>
parents:
8812
diff
changeset
|
2427 subs = c.substate # only repos that are committed |
e87b0fc4750b
subrepo: basic push support
Matt Mackall <mpm@selenic.com>
parents:
8812
diff
changeset
|
2428 for s in sorted(subs): |
e87b0fc4750b
subrepo: basic push support
Matt Mackall <mpm@selenic.com>
parents:
8812
diff
changeset
|
2429 c.sub(s).push(opts.get('force')) |
e87b0fc4750b
subrepo: basic push support
Matt Mackall <mpm@selenic.com>
parents:
8812
diff
changeset
|
2430 |
7131
23bd7383891c
commands: optional options where possible
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7126
diff
changeset
|
2431 r = repo.push(other, opts.get('force'), revs=revs) |
2019
ced2d3620f95
add merge command. means same thing as "update -m".
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1996
diff
changeset
|
2432 return r == 0 |
319 | 2433 |
245 | 2434 def recover(ui, repo): |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2435 """roll back an interrupted transaction |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2436 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2437 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
|
2438 |
8004
d5b1b846f277
commands: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
2439 This command tries to fix the repository status after an |
d5b1b846f277
commands: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
2440 interrupted operation. It should only be necessary when Mercurial |
d5b1b846f277
commands: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
2441 suggests it. |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2442 """ |
1516
0b1b029b4de3
Automatically run "verify" whenever we run "recover"
Matt Mackall <mpm@selenic.com>
parents:
1514
diff
changeset
|
2443 if repo.recover(): |
2778 | 2444 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
|
2445 return 1 |
245 | 2446 |
2179
520dd3d28e9b
add --after option to remove command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2175
diff
changeset
|
2447 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
|
2448 """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
|
2449 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2450 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
|
2451 |
8004
d5b1b846f277
commands: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
2452 This only removes files from the current branch, not from the |
8033
aeb4a5c7a28e
commands: consistently write switches as -a/--abc
Martin Geisler <mg@lazybytes.net>
parents:
8032
diff
changeset
|
2453 entire project history. -A/--after can be used to remove only |
aeb4a5c7a28e
commands: consistently write switches as -a/--abc
Martin Geisler <mg@lazybytes.net>
parents:
8032
diff
changeset
|
2454 files that have already been deleted, -f/--force can be used to |
aeb4a5c7a28e
commands: consistently write switches as -a/--abc
Martin Geisler <mg@lazybytes.net>
parents:
8032
diff
changeset
|
2455 force deletion, and -Af can be used to remove files from the next |
8779
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
2456 revision without deleting them from the working directory. |
8004
d5b1b846f277
commands: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
2457 |
d5b1b846f277
commands: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
2458 The following table details the behavior of remove for different |
d5b1b846f277
commands: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
2459 file states (columns) and option combinations (rows). The file |
9249
16f4cfc69e4f
commands: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9219
diff
changeset
|
2460 states are Added [A], Clean [C], Modified [M] and Missing [!] (as |
16f4cfc69e4f
commands: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9219
diff
changeset
|
2461 reported by hg status). The actions are Warn, Remove (from branch) |
16f4cfc69e4f
commands: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9219
diff
changeset
|
2462 and Delete (from disk):: |
9157
9261667e9b82
commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents:
9142
diff
changeset
|
2463 |
9261667e9b82
commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents:
9142
diff
changeset
|
2464 A C M ! |
9261667e9b82
commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents:
9142
diff
changeset
|
2465 none W RD W R |
9261667e9b82
commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents:
9142
diff
changeset
|
2466 -f R RD RD R |
9261667e9b82
commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents:
9142
diff
changeset
|
2467 -A W W W R |
9261667e9b82
commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents:
9142
diff
changeset
|
2468 -Af R R R R |
2309
b2f37c7026ca
remove: rewrite to be ~400x faster, bit more friendly
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2301
diff
changeset
|
2469 |
3829
531c116b2028
Add doc notes about revert and hg status vs diff
Matt Mackall <mpm@selenic.com>
parents:
3822
diff
changeset
|
2470 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
|
2471 To undo a remove 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
|
2472 """ |
6346
8e3b651382f5
improved semantics for remove (issue438)
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
6336
diff
changeset
|
2473 |
8e3b651382f5
improved semantics for remove (issue438)
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
6336
diff
changeset
|
2474 after, force = opts.get('after'), opts.get('force') |
8e3b651382f5
improved semantics for remove (issue438)
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
6336
diff
changeset
|
2475 if not pats and not after: |
2179
520dd3d28e9b
add --after option to remove command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2175
diff
changeset
|
2476 raise util.Abort(_('no files specified')) |
6346
8e3b651382f5
improved semantics for remove (issue438)
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
6336
diff
changeset
|
2477 |
6582
5acbdd3941c4
walk: remove remaining users of cmdutils.matchpats
Matt Mackall <mpm@selenic.com>
parents:
6579
diff
changeset
|
2478 m = cmdutil.match(repo, pats, opts) |
6761
cb981fc955fb
remove: work directly off status
Matt Mackall <mpm@selenic.com>
parents:
6760
diff
changeset
|
2479 s = repo.status(match=m, clean=True) |
cb981fc955fb
remove: work directly off status
Matt Mackall <mpm@selenic.com>
parents:
6760
diff
changeset
|
2480 modified, added, deleted, clean = s[0], s[1], s[3], s[6] |
cb981fc955fb
remove: work directly off status
Matt Mackall <mpm@selenic.com>
parents:
6760
diff
changeset
|
2481 |
8533
6062c6362b2e
remove: warn if unversionned files are specified (issue1454)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
8464
diff
changeset
|
2482 for f in m.files(): |
6062c6362b2e
remove: warn if unversionned files are specified (issue1454)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
8464
diff
changeset
|
2483 if f not in repo.dirstate and not os.path.isdir(m.rel(f)): |
6062c6362b2e
remove: warn if unversionned files are specified (issue1454)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
8464
diff
changeset
|
2484 ui.warn(_('not removing %s: file is untracked\n') % m.rel(f)) |
6062c6362b2e
remove: warn if unversionned files are specified (issue1454)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
8464
diff
changeset
|
2485 |
6761
cb981fc955fb
remove: work directly off status
Matt Mackall <mpm@selenic.com>
parents:
6760
diff
changeset
|
2486 def warn(files, reason): |
cb981fc955fb
remove: work directly off status
Matt Mackall <mpm@selenic.com>
parents:
6760
diff
changeset
|
2487 for f in files: |
cb981fc955fb
remove: work directly off status
Matt Mackall <mpm@selenic.com>
parents:
6760
diff
changeset
|
2488 ui.warn(_('not removing %s: file %s (use -f to force removal)\n') |
cb981fc955fb
remove: work directly off status
Matt Mackall <mpm@selenic.com>
parents:
6760
diff
changeset
|
2489 % (m.rel(f), reason)) |
cb981fc955fb
remove: work directly off status
Matt Mackall <mpm@selenic.com>
parents:
6760
diff
changeset
|
2490 |
cb981fc955fb
remove: work directly off status
Matt Mackall <mpm@selenic.com>
parents:
6760
diff
changeset
|
2491 if force: |
cb981fc955fb
remove: work directly off status
Matt Mackall <mpm@selenic.com>
parents:
6760
diff
changeset
|
2492 remove, forget = modified + deleted + clean, added |
cb981fc955fb
remove: work directly off status
Matt Mackall <mpm@selenic.com>
parents:
6760
diff
changeset
|
2493 elif after: |
cb981fc955fb
remove: work directly off status
Matt Mackall <mpm@selenic.com>
parents:
6760
diff
changeset
|
2494 remove, forget = deleted, [] |
cb981fc955fb
remove: work directly off status
Matt Mackall <mpm@selenic.com>
parents:
6760
diff
changeset
|
2495 warn(modified + added + clean, _('still exists')) |
cb981fc955fb
remove: work directly off status
Matt Mackall <mpm@selenic.com>
parents:
6760
diff
changeset
|
2496 else: |
cb981fc955fb
remove: work directly off status
Matt Mackall <mpm@selenic.com>
parents:
6760
diff
changeset
|
2497 remove, forget = deleted + clean, [] |
cb981fc955fb
remove: work directly off status
Matt Mackall <mpm@selenic.com>
parents:
6760
diff
changeset
|
2498 warn(modified, _('is modified')) |
cb981fc955fb
remove: work directly off status
Matt Mackall <mpm@selenic.com>
parents:
6760
diff
changeset
|
2499 warn(added, _('has been marked for add')) |
cb981fc955fb
remove: work directly off status
Matt Mackall <mpm@selenic.com>
parents:
6760
diff
changeset
|
2500 |
8209
a1a5a57efe90
replace util.sort with sorted built-in
Matt Mackall <mpm@selenic.com>
parents:
8190
diff
changeset
|
2501 for f in sorted(remove + forget): |
6761
cb981fc955fb
remove: work directly off status
Matt Mackall <mpm@selenic.com>
parents:
6760
diff
changeset
|
2502 if ui.verbose or not m.exact(f): |
cb981fc955fb
remove: work directly off status
Matt Mackall <mpm@selenic.com>
parents:
6760
diff
changeset
|
2503 ui.status(_('removing %s\n') % m.rel(f)) |
6346
8e3b651382f5
improved semantics for remove (issue438)
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
6336
diff
changeset
|
2504 |
2309
b2f37c7026ca
remove: rewrite to be ~400x faster, bit more friendly
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2301
diff
changeset
|
2505 repo.forget(forget) |
6346
8e3b651382f5
improved semantics for remove (issue438)
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
6336
diff
changeset
|
2506 repo.remove(remove, unlink=not after) |
245 | 2507 |
1253
a45e717c61a8
Add rename/mv command.
Bryan O'Sullivan <bos@serpentine.com>
parents:
1250
diff
changeset
|
2508 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
|
2509 """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
|
2510 |
8004
d5b1b846f277
commands: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
2511 Mark dest as copies of sources; mark sources for deletion. If dest |
d5b1b846f277
commands: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
2512 is a directory, copies are put in that directory. If dest is a |
d5b1b846f277
commands: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
2513 file, there can only be one source. |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2514 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2515 By default, this command copies the contents of files as they |
8033
aeb4a5c7a28e
commands: consistently write switches as -a/--abc
Martin Geisler <mg@lazybytes.net>
parents:
8032
diff
changeset
|
2516 exist in the working directory. If invoked with -A/--after, the |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2517 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
|
2518 |
7807
bd8f44638847
help: miscellaneous language fixes
timeless <timeless@gmail.com>
parents:
7765
diff
changeset
|
2519 This command takes effect at the next commit. To undo a rename |
3829
531c116b2028
Add doc notes about revert and hg status vs diff
Matt Mackall <mpm@selenic.com>
parents:
3822
diff
changeset
|
2520 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
|
2521 """ |
4914 | 2522 wlock = repo.wlock(False) |
4915
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2523 try: |
5610
2493a478f395
copy: handle rename internally
Matt Mackall <mpm@selenic.com>
parents:
5589
diff
changeset
|
2524 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
|
2525 finally: |
8109
496ae1ea4698
switch lock releasing in the core from gc to explicit
Ronny Pfannschmidt <Ronny.Pfannschmidt@gmx.de>
parents:
8088
diff
changeset
|
2526 wlock.release() |
1253
a45e717c61a8
Add rename/mv command.
Bryan O'Sullivan <bos@serpentine.com>
parents:
1250
diff
changeset
|
2527 |
6518 | 2528 def resolve(ui, repo, *pats, **opts): |
7530
3773e510d433
resolve: clarify and simplify help
Matt Mackall <mpm@selenic.com>
parents:
7528
diff
changeset
|
2529 """retry file merges from a merge or update |
3773e510d433
resolve: clarify and simplify help
Matt Mackall <mpm@selenic.com>
parents:
7528
diff
changeset
|
2530 |
9646
5b001f534452
commands: adding --no-status to resolve to match status
timeless <timeless@gmail.com>
parents:
9645
diff
changeset
|
2531 This command can cleanly retry unresolved file merges using file |
9747
85a3285860d3
hg help resolve grossly mischaracterizes the --all switch
timeless@mozdev.org
parents:
9740
diff
changeset
|
2532 revisions preserved from the last update or merge. |
7530
3773e510d433
resolve: clarify and simplify help
Matt Mackall <mpm@selenic.com>
parents:
7528
diff
changeset
|
2533 |
7982
cab4a521a3fd
commands: explain when to use resolve -m
Martin Geisler <mg@daimi.au.dk>
parents:
7981
diff
changeset
|
2534 If a conflict is resolved manually, please note that the changes |
8033
aeb4a5c7a28e
commands: consistently write switches as -a/--abc
Martin Geisler <mg@lazybytes.net>
parents:
8032
diff
changeset
|
2535 will be overwritten if the merge is retried with resolve. The |
aeb4a5c7a28e
commands: consistently write switches as -a/--abc
Martin Geisler <mg@lazybytes.net>
parents:
8032
diff
changeset
|
2536 -m/--mark switch should be used to mark the file as resolved. |
7530
3773e510d433
resolve: clarify and simplify help
Matt Mackall <mpm@selenic.com>
parents:
7528
diff
changeset
|
2537 |
10224
712dc3b6db68
commands: fix typo in help text
Jens B?ckman <jens.backman@gmail.com>
parents:
10210
diff
changeset
|
2538 You can specify a set of files to operate on, or use the -a/--all |
9747
85a3285860d3
hg help resolve grossly mischaracterizes the --all switch
timeless@mozdev.org
parents:
9740
diff
changeset
|
2539 switch to select all unresolved files. |
85a3285860d3
hg help resolve grossly mischaracterizes the --all switch
timeless@mozdev.org
parents:
9740
diff
changeset
|
2540 |
8779
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
2541 This command also allows listing resolved files and manually |
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
2542 indicating whether or not files are resolved. All files must be |
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
2543 marked as resolved before a commit is permitted. |
6642
c8c7248f6172
resolve: add file codes to doc string
Adrian Buehlmann <adrian@cadifra.com>
parents:
6641
diff
changeset
|
2544 |
9157
9261667e9b82
commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents:
9142
diff
changeset
|
2545 The codes used to show the status of files are:: |
9261667e9b82
commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents:
9142
diff
changeset
|
2546 |
9261667e9b82
commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents:
9142
diff
changeset
|
2547 U = unresolved |
9261667e9b82
commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents:
9142
diff
changeset
|
2548 R = resolved |
6518 | 2549 """ |
2550 | |
9646
5b001f534452
commands: adding --no-status to resolve to match status
timeless <timeless@gmail.com>
parents:
9645
diff
changeset
|
2551 all, mark, unmark, show, nostatus = \ |
5b001f534452
commands: adding --no-status to resolve to match status
timeless <timeless@gmail.com>
parents:
9645
diff
changeset
|
2552 [opts.get(o) for o in 'all mark unmark list no_status'.split()] |
7527
5a14a8f3b909
resolve: require -a switch to resolve all files
Matt Mackall <mpm@selenic.com>
parents:
7449
diff
changeset
|
2553 |
5a14a8f3b909
resolve: require -a switch to resolve all files
Matt Mackall <mpm@selenic.com>
parents:
7449
diff
changeset
|
2554 if (show and (mark or unmark)) or (mark and unmark): |
6518 | 2555 raise util.Abort(_("too many options specified")) |
7527
5a14a8f3b909
resolve: require -a switch to resolve all files
Matt Mackall <mpm@selenic.com>
parents:
7449
diff
changeset
|
2556 if pats and all: |
5a14a8f3b909
resolve: require -a switch to resolve all files
Matt Mackall <mpm@selenic.com>
parents:
7449
diff
changeset
|
2557 raise util.Abort(_("can't specify --all and patterns")) |
5a14a8f3b909
resolve: require -a switch to resolve all files
Matt Mackall <mpm@selenic.com>
parents:
7449
diff
changeset
|
2558 if not (all or pats or show or mark or unmark): |
5a14a8f3b909
resolve: require -a switch to resolve all files
Matt Mackall <mpm@selenic.com>
parents:
7449
diff
changeset
|
2559 raise util.Abort(_('no files or directories specified; ' |
5a14a8f3b909
resolve: require -a switch to resolve all files
Matt Mackall <mpm@selenic.com>
parents:
7449
diff
changeset
|
2560 'use --all to remerge all files')) |
6518 | 2561 |
2562 ms = merge_.mergestate(repo) | |
6594 | 2563 m = cmdutil.match(repo, pats, opts) |
6518 | 2564 |
2565 for f in ms: | |
6594 | 2566 if m(f): |
7527
5a14a8f3b909
resolve: require -a switch to resolve all files
Matt Mackall <mpm@selenic.com>
parents:
7449
diff
changeset
|
2567 if show: |
9646
5b001f534452
commands: adding --no-status to resolve to match status
timeless <timeless@gmail.com>
parents:
9645
diff
changeset
|
2568 if nostatus: |
5b001f534452
commands: adding --no-status to resolve to match status
timeless <timeless@gmail.com>
parents:
9645
diff
changeset
|
2569 ui.write("%s\n" % f) |
5b001f534452
commands: adding --no-status to resolve to match status
timeless <timeless@gmail.com>
parents:
9645
diff
changeset
|
2570 else: |
5b001f534452
commands: adding --no-status to resolve to match status
timeless <timeless@gmail.com>
parents:
9645
diff
changeset
|
2571 ui.write("%s %s\n" % (ms[f].upper(), f)) |
7527
5a14a8f3b909
resolve: require -a switch to resolve all files
Matt Mackall <mpm@selenic.com>
parents:
7449
diff
changeset
|
2572 elif mark: |
6518 | 2573 ms.mark(f, "r") |
7527
5a14a8f3b909
resolve: require -a switch to resolve all files
Matt Mackall <mpm@selenic.com>
parents:
7449
diff
changeset
|
2574 elif unmark: |
6518 | 2575 ms.mark(f, "u") |
2576 else: | |
6747
f6c00b17387c
use repo[changeid] to get a changectx
Matt Mackall <mpm@selenic.com>
parents:
6746
diff
changeset
|
2577 wctx = repo[None] |
6518 | 2578 mctx = wctx.parents()[-1] |
7847 | 2579 |
2580 # backup pre-resolve (merge uses .orig for its own purposes) | |
2581 a = repo.wjoin(f) | |
2582 util.copyfile(a, a + ".resolve") | |
2583 | |
2584 # resolve file | |
6518 | 2585 ms.resolve(f, wctx, mctx) |
2586 | |
7847 | 2587 # replace filemerge's .orig file with our resolve file |
2588 util.rename(a + ".resolve", a + ".orig") | |
2589 | |
1472
3c909a747d7f
make revert use standard matcher
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1470
diff
changeset
|
2590 def revert(ui, repo, *pats, **opts): |
8026
683d8ebcf434
expand "dir" to "directory" in help texts
Martin Geisler <mg@lazybytes.net>
parents:
8021
diff
changeset
|
2591 """restore individual files or directories to an earlier state |
5574 | 2592 |
8287
824ed0e35480
commands: fix capitalization in revert help text
Martin Geisler <mg@lazybytes.net>
parents:
8284
diff
changeset
|
2593 (Use update -r to check out earlier revisions, revert does not |
824ed0e35480
commands: fix capitalization in revert help text
Martin Geisler <mg@lazybytes.net>
parents:
8284
diff
changeset
|
2594 change the working directory parents.) |
2204
eb5fa83ffcfa
fix doc comments for revert command. people found them confusing.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2189
diff
changeset
|
2595 |
2212
8164e3f31638
revert: require explicit revision when working dir has two parents.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2204
diff
changeset
|
2596 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
|
2597 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
|
2598 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
|
2599 state and unschedules adds, removes, copies, and renames. If the |
10376 | 2600 working directory has two parents, you must explicitly specify a |
2601 revision. | |
1811
6cb548cffdf5
resync commands.py docstrings with hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1804
diff
changeset
|
2602 |
8033
aeb4a5c7a28e
commands: consistently write switches as -a/--abc
Martin Geisler <mg@lazybytes.net>
parents:
8032
diff
changeset
|
2603 Using the -r/--rev option, revert the given files or directories |
aeb4a5c7a28e
commands: consistently write switches as -a/--abc
Martin Geisler <mg@lazybytes.net>
parents:
8032
diff
changeset
|
2604 to their contents as of a specific revision. This can be helpful |
aeb4a5c7a28e
commands: consistently write switches as -a/--abc
Martin Geisler <mg@lazybytes.net>
parents:
8032
diff
changeset
|
2605 to "roll back" some or all of an earlier change. See 'hg help |
aeb4a5c7a28e
commands: consistently write switches as -a/--abc
Martin Geisler <mg@lazybytes.net>
parents:
8032
diff
changeset
|
2606 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
|
2607 |
6448
cd3d49ffc6f6
Consistently 1 space after full stops in command doc strings
Christian Ebert <blacktrash@gmx.net>
parents:
6442
diff
changeset
|
2608 Revert modifies the working directory. It does not commit any |
cd3d49ffc6f6
Consistently 1 space after full stops in command doc strings
Christian Ebert <blacktrash@gmx.net>
parents:
6442
diff
changeset
|
2609 changes, or change the parent of the working directory. If you |
2204
eb5fa83ffcfa
fix doc comments for revert command. people found them confusing.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2189
diff
changeset
|
2610 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
|
2611 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
|
2612 afterwards. |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2613 |
8004
d5b1b846f277
commands: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
2614 If a file has been deleted, it is restored. If the executable mode |
d5b1b846f277
commands: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
2615 of a file was changed, it is reset. |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2616 |
1472
3c909a747d7f
make revert use standard matcher
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1470
diff
changeset
|
2617 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
|
2618 If no arguments are given, no files are reverted. |
5574 | 2619 |
2620 Modified files are saved with a .orig suffix before reverting. | |
2621 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
|
2622 """ |
2982
890e285c52a1
revert: require --all to revert all files.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2963
diff
changeset
|
2623 |
3814
120be84f33de
Add --date support to update and revert
Matt Mackall <mpm@selenic.com>
parents:
3813
diff
changeset
|
2624 if opts["date"]: |
120be84f33de
Add --date support to update and revert
Matt Mackall <mpm@selenic.com>
parents:
3813
diff
changeset
|
2625 if opts["rev"]: |
120be84f33de
Add --date support to update and revert
Matt Mackall <mpm@selenic.com>
parents:
3813
diff
changeset
|
2626 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
|
2627 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
|
2628 |
7131
23bd7383891c
commands: optional options where possible
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7126
diff
changeset
|
2629 if not pats and not opts.get('all'): |
3020
ea2a9c13afc6
Add a hint for revert --all when aborting
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3016
diff
changeset
|
2630 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
|
2631 '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
|
2632 |
2212
8164e3f31638
revert: require explicit revision when working dir has two parents.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2204
diff
changeset
|
2633 parent, p2 = repo.dirstate.parents() |
7131
23bd7383891c
commands: optional options where possible
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7126
diff
changeset
|
2634 if not opts.get('rev') and p2 != nullid: |
3132
81da3c45aabd
Move defaultrev into changectx
Brendan Cully <brendan@kublai.com>
parents:
3095
diff
changeset
|
2635 raise util.Abort(_('uncommitted merge - please provide a ' |
81da3c45aabd
Move defaultrev into changectx
Brendan Cully <brendan@kublai.com>
parents:
3095
diff
changeset
|
2636 'specific revision')) |
7131
23bd7383891c
commands: optional options where possible
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7126
diff
changeset
|
2637 ctx = repo[opts.get('rev')] |
3972
356e20d46b34
commands.py: use contexts in various places (debug*state, revert)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3951
diff
changeset
|
2638 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
|
2639 mf = ctx.manifest() |
2407
8fe3d60b7f19
revert: better fix for not printing 'reverting' message
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2406
diff
changeset
|
2640 if node == parent: |
8fe3d60b7f19
revert: better fix for not printing 'reverting' message
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2406
diff
changeset
|
2641 pmf = mf |
8fe3d60b7f19
revert: better fix for not printing 'reverting' message
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2406
diff
changeset
|
2642 else: |
8fe3d60b7f19
revert: better fix for not printing 'reverting' message
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2406
diff
changeset
|
2643 pmf = None |
2029
d436b21b20dc
rewrite revert command. fix issues 93, 123, 147.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2022
diff
changeset
|
2644 |
2042
a514c7509fa9
small changes to revert command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2037
diff
changeset
|
2645 # 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
|
2646 # 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
|
2647 # but not other. |
a514c7509fa9
small changes to revert command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2037
diff
changeset
|
2648 |
2029
d436b21b20dc
rewrite revert command. fix issues 93, 123, 147.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2022
diff
changeset
|
2649 names = {} |
2042
a514c7509fa9
small changes to revert command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2037
diff
changeset
|
2650 |
4915
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2651 wlock = repo.wlock() |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2652 try: |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2653 # walk dirstate. |
6579
0159b7a36184
walk: pass match object to cmdutil.walk
Matt Mackall <mpm@selenic.com>
parents:
6578
diff
changeset
|
2654 |
0159b7a36184
walk: pass match object to cmdutil.walk
Matt Mackall <mpm@selenic.com>
parents:
6578
diff
changeset
|
2655 m = cmdutil.match(repo, pats, opts) |
10282
08a0f04b56bd
many, many trivial check-code fixups
Matt Mackall <mpm@selenic.com>
parents:
10270
diff
changeset
|
2656 m.bad = lambda x, y: False |
6586
d3463007d368
walk: return a single value
Matt Mackall <mpm@selenic.com>
parents:
6585
diff
changeset
|
2657 for abs in repo.walk(m): |
6584
29c77e5dfb3c
walk: remove rel and exact returns
Matt Mackall <mpm@selenic.com>
parents:
6583
diff
changeset
|
2658 names[abs] = m.rel(abs), m.exact(abs) |
4915
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2659 |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2660 # walk target manifest. |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2661 |
6579
0159b7a36184
walk: pass match object to cmdutil.walk
Matt Mackall <mpm@selenic.com>
parents:
6578
diff
changeset
|
2662 def badfn(path, msg): |
4915
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2663 if path in names: |
8679
32537b12e091
add: use match.bad callback more effectively
Matt Mackall <mpm@selenic.com>
parents:
8669
diff
changeset
|
2664 return |
4915
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2665 path_ = path + '/' |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2666 for f in names: |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2667 if f.startswith(path_): |
8679
32537b12e091
add: use match.bad callback more effectively
Matt Mackall <mpm@selenic.com>
parents:
8669
diff
changeset
|
2668 return |
8615
94ca38e63576
use ui instead of repo.ui when the former is in scope
Martin Geisler <mg@lazybytes.net>
parents:
8544
diff
changeset
|
2669 ui.warn("%s: %s\n" % (m.rel(path), msg)) |
4915
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2670 |
6579
0159b7a36184
walk: pass match object to cmdutil.walk
Matt Mackall <mpm@selenic.com>
parents:
6578
diff
changeset
|
2671 m = cmdutil.match(repo, pats, opts) |
0159b7a36184
walk: pass match object to cmdutil.walk
Matt Mackall <mpm@selenic.com>
parents:
6578
diff
changeset
|
2672 m.bad = badfn |
6764 | 2673 for abs in repo[node].walk(m): |
6584
29c77e5dfb3c
walk: remove rel and exact returns
Matt Mackall <mpm@selenic.com>
parents:
6583
diff
changeset
|
2674 if abs not in names: |
29c77e5dfb3c
walk: remove rel and exact returns
Matt Mackall <mpm@selenic.com>
parents:
6583
diff
changeset
|
2675 names[abs] = m.rel(abs), m.exact(abs) |
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
|
2676 |
6599
cd4db3999ef9
status: use match helpers for various users
Matt Mackall <mpm@selenic.com>
parents:
6594
diff
changeset
|
2677 m = cmdutil.matchfiles(repo, names) |
6603
41eb20cc1c02
match: remove files arg from repo.status and friends
Matt Mackall <mpm@selenic.com>
parents:
6602
diff
changeset
|
2678 changes = repo.status(match=m)[:4] |
8152
08e1baf924ca
replace set-like dictionaries with real sets
Martin Geisler <mg@lazybytes.net>
parents:
8150
diff
changeset
|
2679 modified, added, removed, deleted = map(set, changes) |
4915
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2680 |
5266 | 2681 # if f is a rename, also revert the source |
2682 cwd = repo.getcwd() | |
2683 for f in added: | |
2684 src = repo.dirstate.copied(f) | |
2685 if src and src not in names and repo.dirstate[src] == 'r': | |
8152
08e1baf924ca
replace set-like dictionaries with real sets
Martin Geisler <mg@lazybytes.net>
parents:
8150
diff
changeset
|
2686 removed.add(src) |
5266 | 2687 names[src] = (repo.pathto(src, cwd), True) |
2688 | |
6109
242595e612ed
revert: unify forget and remove lists
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6108
diff
changeset
|
2689 def removeforget(abs): |
242595e612ed
revert: unify forget and remove lists
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6108
diff
changeset
|
2690 if repo.dirstate[abs] == 'a': |
242595e612ed
revert: unify forget and remove lists
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6108
diff
changeset
|
2691 return _('forgetting %s\n') |
242595e612ed
revert: unify forget and remove lists
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6108
diff
changeset
|
2692 return _('removing %s\n') |
242595e612ed
revert: unify forget and remove lists
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6108
diff
changeset
|
2693 |
4915
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2694 revert = ([], _('reverting %s\n')) |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2695 add = ([], _('adding %s\n')) |
6109
242595e612ed
revert: unify forget and remove lists
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6108
diff
changeset
|
2696 remove = ([], removeforget) |
4915
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2697 undelete = ([], _('undeleting %s\n')) |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2698 |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2699 disptable = ( |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2700 # dispatch table: |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2701 # file state |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2702 # action if in target manifest |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2703 # 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
|
2704 # 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
|
2705 # 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
|
2706 (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
|
2707 (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
|
2708 (removed, undelete, None, False, False), |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2709 (deleted, revert, remove, False, False), |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2710 ) |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2711 |
8209
a1a5a57efe90
replace util.sort with sorted built-in
Matt Mackall <mpm@selenic.com>
parents:
8190
diff
changeset
|
2712 for abs, (rel, exact) in sorted(names.items()): |
4915
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2713 mfentry = mf.get(abs) |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2714 target = repo.wjoin(abs) |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2715 def handle(xlist, dobackup): |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2716 xlist[0].append(abs) |
7131
23bd7383891c
commands: optional options where possible
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7126
diff
changeset
|
2717 if dobackup and not opts.get('no_backup') and util.lexists(target): |
4915
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2718 bakname = "%s.orig" % rel |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2719 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
|
2720 (rel, bakname)) |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2721 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
|
2722 util.copyfile(target, bakname) |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2723 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
|
2724 msg = xlist[1] |
242595e612ed
revert: unify forget and remove lists
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6108
diff
changeset
|
2725 if not isinstance(msg, basestring): |
242595e612ed
revert: unify forget and remove lists
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6108
diff
changeset
|
2726 msg = msg(abs) |
242595e612ed
revert: unify forget and remove lists
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6108
diff
changeset
|
2727 ui.status(msg % rel) |
4915
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2728 for table, hitlist, misslist, backuphit, backupmiss in disptable: |
10282
08a0f04b56bd
many, many trivial check-code fixups
Matt Mackall <mpm@selenic.com>
parents:
10270
diff
changeset
|
2729 if abs not in table: |
08a0f04b56bd
many, many trivial check-code fixups
Matt Mackall <mpm@selenic.com>
parents:
10270
diff
changeset
|
2730 continue |
4915
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2731 # file has changed in dirstate |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2732 if mfentry: |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2733 handle(hitlist, backuphit) |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2734 elif misslist is not None: |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2735 handle(misslist, backupmiss) |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2736 break |
2029
d436b21b20dc
rewrite revert command. fix issues 93, 123, 147.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2022
diff
changeset
|
2737 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
|
2738 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
|
2739 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
|
2740 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
|
2741 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
|
2742 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
|
2743 continue |
4915
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2744 # 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
|
2745 if node == parent: |
10282
08a0f04b56bd
many, many trivial check-code fixups
Matt Mackall <mpm@selenic.com>
parents:
10270
diff
changeset
|
2746 if exact: |
08a0f04b56bd
many, many trivial check-code fixups
Matt Mackall <mpm@selenic.com>
parents:
10270
diff
changeset
|
2747 ui.warn(_('no changes needed to %s\n') % rel) |
4915
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2748 continue |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2749 if pmf is None: |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2750 # 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
|
2751 # so do not read by default |
6747
f6c00b17387c
use repo[changeid] to get a changectx
Matt Mackall <mpm@selenic.com>
parents:
6746
diff
changeset
|
2752 pmf = repo[parent].manifest() |
4915
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2753 if abs in pmf: |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2754 if mfentry: |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2755 # 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
|
2756 # 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
|
2757 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
|
2758 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
|
2759 handle(revert, False) |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2760 else: |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2761 handle(remove, False) |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2762 |
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2763 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
|
2764 def checkout(f): |
41bb88cb913e
commands.revert: don't call hg.revert
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6106
diff
changeset
|
2765 fc = ctx[f] |
6743 | 2766 repo.wwrite(f, fc.data(), fc.flags()) |
6107
41bb88cb913e
commands.revert: don't call hg.revert
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6106
diff
changeset
|
2767 |
6109
242595e612ed
revert: unify forget and remove lists
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6108
diff
changeset
|
2768 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
|
2769 for f in remove[0]: |
242595e612ed
revert: unify forget and remove lists
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6108
diff
changeset
|
2770 if repo.dirstate[f] == 'a': |
242595e612ed
revert: unify forget and remove lists
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6108
diff
changeset
|
2771 repo.dirstate.forget(f) |
242595e612ed
revert: unify forget and remove lists
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6108
diff
changeset
|
2772 continue |
242595e612ed
revert: unify forget and remove lists
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6108
diff
changeset
|
2773 audit_path(f) |
242595e612ed
revert: unify forget and remove lists
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6108
diff
changeset
|
2774 try: |
242595e612ed
revert: unify forget and remove lists
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6108
diff
changeset
|
2775 util.unlink(repo.wjoin(f)) |
242595e612ed
revert: unify forget and remove lists
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6108
diff
changeset
|
2776 except OSError: |
242595e612ed
revert: unify forget and remove lists
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6108
diff
changeset
|
2777 pass |
242595e612ed
revert: unify forget and remove lists
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6108
diff
changeset
|
2778 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
|
2779 |
6299
653ddd1d7cd7
revert: update state of files in the "checkout" list
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6296
diff
changeset
|
2780 normal = None |
653ddd1d7cd7
revert: update state of files in the "checkout" list
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6296
diff
changeset
|
2781 if node == parent: |
653ddd1d7cd7
revert: update state of files in the "checkout" list
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6296
diff
changeset
|
2782 # We're reverting to our parent. If possible, we'd like status |
653ddd1d7cd7
revert: update state of files in the "checkout" list
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6296
diff
changeset
|
2783 # to report the file as clean. We have to use normallookup for |
653ddd1d7cd7
revert: update state of files in the "checkout" list
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6296
diff
changeset
|
2784 # merges to avoid losing information about merged/dirty files. |
653ddd1d7cd7
revert: update state of files in the "checkout" list
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6296
diff
changeset
|
2785 if p2 != nullid: |
653ddd1d7cd7
revert: update state of files in the "checkout" list
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6296
diff
changeset
|
2786 normal = repo.dirstate.normallookup |
653ddd1d7cd7
revert: update state of files in the "checkout" list
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6296
diff
changeset
|
2787 else: |
653ddd1d7cd7
revert: update state of files in the "checkout" list
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6296
diff
changeset
|
2788 normal = repo.dirstate.normal |
6107
41bb88cb913e
commands.revert: don't call hg.revert
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6106
diff
changeset
|
2789 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
|
2790 checkout(f) |
6299
653ddd1d7cd7
revert: update state of files in the "checkout" list
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6296
diff
changeset
|
2791 if normal: |
653ddd1d7cd7
revert: update state of files in the "checkout" list
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6296
diff
changeset
|
2792 normal(f) |
6107
41bb88cb913e
commands.revert: don't call hg.revert
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6106
diff
changeset
|
2793 |
4915
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2794 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
|
2795 checkout(f) |
4915
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2796 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
|
2797 |
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
|
2798 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
|
2799 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
|
2800 normal = repo.dirstate.normal |
4915
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2801 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
|
2802 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
|
2803 normal(f) |
6107
41bb88cb913e
commands.revert: don't call hg.revert
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6106
diff
changeset
|
2804 |
4915
97b734fb9c6f
Use try/finally pattern to cleanup locks and transactions
Matt Mackall <mpm@selenic.com>
parents:
4914
diff
changeset
|
2805 finally: |
8109
496ae1ea4698
switch lock releasing in the core from gc to explicit
Ronny Pfannschmidt <Ronny.Pfannschmidt@gmx.de>
parents:
8088
diff
changeset
|
2806 wlock.release() |
588 | 2807 |
2227
4f072bb06e89
deprecate undo command, replace with rollback command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2212
diff
changeset
|
2808 def rollback(ui, repo): |
5575
8788ff630c26
imported patch rollback-help
Matt Mackall <mpm@selenic.com>
parents:
5574
diff
changeset
|
2809 """roll back the last transaction |
8788ff630c26
imported patch rollback-help
Matt Mackall <mpm@selenic.com>
parents:
5574
diff
changeset
|
2810 |
8788ff630c26
imported patch rollback-help
Matt Mackall <mpm@selenic.com>
parents:
5574
diff
changeset
|
2811 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
|
2812 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
|
2813 restore the dirstate at the time of the last transaction, losing |
8856
f8d00346a62d
rollback: minor clarification (issue828)
Matt Mackall <mpm@selenic.com>
parents:
8855
diff
changeset
|
2814 any dirstate changes since that time. This command does not alter |
f8d00346a62d
rollback: minor clarification (issue828)
Matt Mackall <mpm@selenic.com>
parents:
8855
diff
changeset
|
2815 the working directory. |
2227
4f072bb06e89
deprecate undo command, replace with rollback command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2212
diff
changeset
|
2816 |
4f072bb06e89
deprecate undo command, replace with rollback command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2212
diff
changeset
|
2817 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
|
2818 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
|
2819 repository. For example, the following commands are transactional, |
9893
af873901b575
commands, dates: use real lists instead of literal blocks
Martin Geisler <mg@lazybytes.net>
parents:
9892
diff
changeset
|
2820 and their effects can be rolled back: |
af873901b575
commands, dates: use real lists instead of literal blocks
Martin Geisler <mg@lazybytes.net>
parents:
9892
diff
changeset
|
2821 |
af873901b575
commands, dates: use real lists instead of literal blocks
Martin Geisler <mg@lazybytes.net>
parents:
9892
diff
changeset
|
2822 - commit |
af873901b575
commands, dates: use real lists instead of literal blocks
Martin Geisler <mg@lazybytes.net>
parents:
9892
diff
changeset
|
2823 - import |
af873901b575
commands, dates: use real lists instead of literal blocks
Martin Geisler <mg@lazybytes.net>
parents:
9892
diff
changeset
|
2824 - pull |
10376 | 2825 - push (with this repository as the destination) |
9893
af873901b575
commands, dates: use real lists instead of literal blocks
Martin Geisler <mg@lazybytes.net>
parents:
9892
diff
changeset
|
2826 - unbundle |
2227
4f072bb06e89
deprecate undo command, replace with rollback command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2212
diff
changeset
|
2827 |
4f072bb06e89
deprecate undo command, replace with rollback command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2212
diff
changeset
|
2828 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
|
2829 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
|
2830 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
|
2831 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
|
2832 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
|
2833 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
|
2834 """ |
2362
482d3fb47d80
Renamed localrepo.undo() to rollback() and talk about "rollback information".
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2356
diff
changeset
|
2835 repo.rollback() |
2227
4f072bb06e89
deprecate undo command, replace with rollback command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2212
diff
changeset
|
2836 |
468 | 2837 def root(ui, repo): |
8026
683d8ebcf434
expand "dir" to "directory" in help texts
Martin Geisler <mg@lazybytes.net>
parents:
8021
diff
changeset
|
2838 """print the root (top) of the current working directory |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2839 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2840 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
|
2841 """ |
468 | 2842 ui.write(repo.root + "\n") |
2843 | |
245 | 2844 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
|
2845 """export the repository via HTTP |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2846 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2847 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
|
2848 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2849 By default, the server logs accesses to stdout and errors to |
8277
b9403042968a
write options in "-r/--rev" style in help texts
Martin Geisler <mg@lazybytes.net>
parents:
8225
diff
changeset
|
2850 stderr. Use the -A/--accesslog and -E/--errorlog options to log to |
b9403042968a
write options in "-r/--rev" style in help texts
Martin Geisler <mg@lazybytes.net>
parents:
8225
diff
changeset
|
2851 files. |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2852 """ |
624
876333a295ff
Add an sshrepository class and hg serve --stdio
Matt Mackall <mpm@selenic.com>
parents:
618
diff
changeset
|
2853 |
876333a295ff
Add an sshrepository class and hg serve --stdio
Matt Mackall <mpm@selenic.com>
parents:
618
diff
changeset
|
2854 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
|
2855 if repo is None: |
7637 | 2856 raise error.RepoError(_("There is no Mercurial repository here" |
6217
fe8dbbe9520d
Avoid importing mercurial.node/mercurial.repo stuff from mercurial.hg
Joel Rosdahl <joel@rosdahl.net>
parents:
6212
diff
changeset
|
2857 " (.hg not found)")) |
2396
8d44649df03b
refactor ssh server.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2392
diff
changeset
|
2858 s = sshserver.sshserver(ui, repo) |
8d44649df03b
refactor ssh server.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2392
diff
changeset
|
2859 s.serve_forever() |
2363
fa4c11751367
Give a response to unknown SSH commands
Matt Mackall <mpm@selenic.com>
parents:
2362
diff
changeset
|
2860 |
8190
9b8ac5fb7760
ui: kill most users of parentui name and arg, replace with .copy()
Matt Mackall <mpm@selenic.com>
parents:
8189
diff
changeset
|
2861 baseui = repo and repo.baseui 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
|
2862 optlist = ("name templates style address port prefix ipv6" |
8870
c3e4d3c1d48b
serve: obey the --encoding option
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
8864
diff
changeset
|
2863 " accesslog errorlog webdir_conf certificate encoding") |
987 | 2864 for o in optlist.split(): |
8870
c3e4d3c1d48b
serve: obey the --encoding option
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
8864
diff
changeset
|
2865 if opts.get(o, None): |
8190
9b8ac5fb7760
ui: kill most users of parentui name and arg, replace with .copy()
Matt Mackall <mpm@selenic.com>
parents:
8189
diff
changeset
|
2866 baseui.setconfig("web", o, str(opts[o])) |
9b8ac5fb7760
ui: kill most users of parentui name and arg, replace with .copy()
Matt Mackall <mpm@selenic.com>
parents:
8189
diff
changeset
|
2867 if (repo is not None) and (repo.ui != baseui): |
4835
9858477ed74c
serve: respect settings from .hg/hgrc
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4833
diff
changeset
|
2868 repo.ui.setconfig("web", o, str(opts[o])) |
987 | 2869 |
2127
8a85dbbadddf
Allow 'hg serve --webdir-conf foo' to be run outside a repository.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2125
diff
changeset
|
2870 if repo is None and not ui.config("web", "webdir_conf"): |
7637 | 2871 raise error.RepoError(_("There is no Mercurial repository here" |
2872 " (.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
|
2873 |
8778
c5f36402daad
use new style classes
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
8761
diff
changeset
|
2874 class service(object): |
4380
e89f9afc462b
Refactor commands.serve to allow other commands to run as services.
Bryan O'Sullivan <bos@serpentine.com>
parents:
4376
diff
changeset
|
2875 def init(self): |
4672
272c0a09b203
Handle CTRL+C in serve under Windows.
Marcos Chaves <marcos.nospam@gmail.com>
parents:
4659
diff
changeset
|
2876 util.set_signal_handler() |
8312
b87a50b7125c
separate import lines from mercurial and general python modules
Simon Heimberg <simohe@besonet.ch>
parents:
8287
diff
changeset
|
2877 self.httpd = server.create_server(baseui, repo) |
4380
e89f9afc462b
Refactor commands.serve to allow other commands to run as services.
Bryan O'Sullivan <bos@serpentine.com>
parents:
4376
diff
changeset
|
2878 |
10282
08a0f04b56bd
many, many trivial check-code fixups
Matt Mackall <mpm@selenic.com>
parents:
10270
diff
changeset
|
2879 if not ui.verbose: |
08a0f04b56bd
many, many trivial check-code fixups
Matt Mackall <mpm@selenic.com>
parents:
10270
diff
changeset
|
2880 return |
4380
e89f9afc462b
Refactor commands.serve to allow other commands to run as services.
Bryan O'Sullivan <bos@serpentine.com>
parents:
4376
diff
changeset
|
2881 |
5970
f25070ecf334
hgweb: fixes to make hg serve prefix handling more robust
Michele Cella <michele.cella@gmail.com>
parents:
5953
diff
changeset
|
2882 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
|
2883 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
|
2884 else: |
f25070ecf334
hgweb: fixes to make hg serve prefix handling more robust
Michele Cella <michele.cella@gmail.com>
parents:
5953
diff
changeset
|
2885 prefix = '' |
f25070ecf334
hgweb: fixes to make hg serve prefix handling more robust
Michele Cella <michele.cella@gmail.com>
parents:
5953
diff
changeset
|
2886 |
6262
de7256c82fad
hgweb: clarify which address and port can/cannot be bound at startup (bug 769)
Stephen Deasey <sdeasey@gmail.com>
parents:
6253
diff
changeset
|
2887 port = ':%d' % self.httpd.port |
de7256c82fad
hgweb: clarify which address and port can/cannot be bound at startup (bug 769)
Stephen Deasey <sdeasey@gmail.com>
parents:
6253
diff
changeset
|
2888 if port == ':80': |
de7256c82fad
hgweb: clarify which address and port can/cannot be bound at startup (bug 769)
Stephen Deasey <sdeasey@gmail.com>
parents:
6253
diff
changeset
|
2889 port = '' |
de7256c82fad
hgweb: clarify which address and port can/cannot be bound at startup (bug 769)
Stephen Deasey <sdeasey@gmail.com>
parents:
6253
diff
changeset
|
2890 |
6419
7c36aee46bf5
hg serve: add clearer message when starting the server with --verbose
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
6405
diff
changeset
|
2891 bindaddr = self.httpd.addr |
7c36aee46bf5
hg serve: add clearer message when starting the server with --verbose
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
6405
diff
changeset
|
2892 if bindaddr == '0.0.0.0': |
7c36aee46bf5
hg serve: add clearer message when starting the server with --verbose
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
6405
diff
changeset
|
2893 bindaddr = '*' |
7c36aee46bf5
hg serve: add clearer message when starting the server with --verbose
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
6405
diff
changeset
|
2894 elif ':' in bindaddr: # IPv6 |
7c36aee46bf5
hg serve: add clearer message when starting the server with --verbose
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
6405
diff
changeset
|
2895 bindaddr = '[%s]' % bindaddr |
7c36aee46bf5
hg serve: add clearer message when starting the server with --verbose
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
6405
diff
changeset
|
2896 |
7c36aee46bf5
hg serve: add clearer message when starting the server with --verbose
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
6405
diff
changeset
|
2897 fqaddr = self.httpd.fqaddr |
7c36aee46bf5
hg serve: add clearer message when starting the server with --verbose
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
6405
diff
changeset
|
2898 if ':' in fqaddr: |
7c36aee46bf5
hg serve: add clearer message when starting the server with --verbose
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
6405
diff
changeset
|
2899 fqaddr = '[%s]' % fqaddr |
7c36aee46bf5
hg serve: add clearer message when starting the server with --verbose
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
6405
diff
changeset
|
2900 ui.status(_('listening at http://%s%s/%s (bound to %s:%d)\n') % |
7c36aee46bf5
hg serve: add clearer message when starting the server with --verbose
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
6405
diff
changeset
|
2901 (fqaddr, port, prefix, bindaddr, self.httpd.port)) |
4380
e89f9afc462b
Refactor commands.serve to allow other commands to run as services.
Bryan O'Sullivan <bos@serpentine.com>
parents:
4376
diff
changeset
|
2902 |
e89f9afc462b
Refactor commands.serve to allow other commands to run as services.
Bryan O'Sullivan <bos@serpentine.com>
parents:
4376
diff
changeset
|
2903 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
|
2904 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
|
2905 |
e89f9afc462b
Refactor commands.serve to allow other commands to run as services.
Bryan O'Sullivan <bos@serpentine.com>
parents:
4376
diff
changeset
|
2906 service = service() |
e89f9afc462b
Refactor commands.serve to allow other commands to run as services.
Bryan O'Sullivan <bos@serpentine.com>
parents:
4376
diff
changeset
|
2907 |
e89f9afc462b
Refactor commands.serve to allow other commands to run as services.
Bryan O'Sullivan <bos@serpentine.com>
parents:
4376
diff
changeset
|
2908 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
|
2909 |
731
91ca3afab8e8
Add name matching to status command.
Bryan O'Sullivan <bos@serpentine.com>
parents:
729
diff
changeset
|
2910 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
|
2911 """show changed files in the working directory |
213 | 2912 |
6448
cd3d49ffc6f6
Consistently 1 space after full stops in command doc strings
Christian Ebert <blacktrash@gmx.net>
parents:
6442
diff
changeset
|
2913 Show status of files in the repository. If names are given, only |
cd3d49ffc6f6
Consistently 1 space after full stops in command doc strings
Christian Ebert <blacktrash@gmx.net>
parents:
6442
diff
changeset
|
2914 files that match are shown. Files that are clean or ignored or |
8779
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
2915 the source of a copy/move operation, are not listed unless |
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
2916 -c/--clean, -i/--ignored, -C/--copies or -A/--all are given. |
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
2917 Unless options described with "show only ..." are given, the |
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
2918 options -mardu are used. |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2919 |
6201
305d4450036a
Extend/correct acc40572da5b regarding -qA and ignored files.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6200
diff
changeset
|
2920 Option -q/--quiet hides untracked (unknown and ignored) files |
8009
76e4c08a48ad
commands: fix typo on flag description
Wagner Bruna <wbruna@yahoo.com>
parents:
8008
diff
changeset
|
2921 unless explicitly requested with -u/--unknown or -i/--ignored. |
6200
acc40572da5b
'hg status -q' output skips non-tracked files.
Zoran Bosnjak <zoran.bosnjak@via.si>
parents:
6192
diff
changeset
|
2922 |
3822
28134d82db9b
Add notes about diff/merge asymmetry to export, diff, and log
Matt Mackall <mpm@selenic.com>
parents:
3815
diff
changeset
|
2923 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
|
2924 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
|
2925 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
|
2926 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
|
2927 |
3467
2b3b703b3a2b
Add --rev option to status
Brendan Cully <brendan@kublai.com>
parents:
3465
diff
changeset
|
2928 If one revision is given, it is used as the base revision. |
8779
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
2929 If two revisions are given, the differences between them are |
10014
54cd28258ea7
status: add the --change option to display files changed in a revision
Gilles Moris <gilles.moris@free.fr>
parents:
9983
diff
changeset
|
2930 shown. The --change option can also be used as a shortcut to list |
54cd28258ea7
status: add the --change option to display files changed in a revision
Gilles Moris <gilles.moris@free.fr>
parents:
9983
diff
changeset
|
2931 the changed files of a revision from its first parent. |
3467
2b3b703b3a2b
Add --rev option to status
Brendan Cully <brendan@kublai.com>
parents:
3465
diff
changeset
|
2932 |
9157
9261667e9b82
commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents:
9142
diff
changeset
|
2933 The codes used to show the status of files are:: |
9261667e9b82
commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents:
9142
diff
changeset
|
2934 |
9261667e9b82
commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents:
9142
diff
changeset
|
2935 M = modified |
9261667e9b82
commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents:
9142
diff
changeset
|
2936 A = added |
9261667e9b82
commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents:
9142
diff
changeset
|
2937 R = removed |
9261667e9b82
commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents:
9142
diff
changeset
|
2938 C = clean |
9261667e9b82
commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents:
9142
diff
changeset
|
2939 ! = missing (deleted by non-hg command, but still tracked) |
9261667e9b82
commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents:
9142
diff
changeset
|
2940 ? = not tracked |
9261667e9b82
commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents:
9142
diff
changeset
|
2941 I = ignored |
9261667e9b82
commands: use minirst parser when displaying help
Martin Geisler <mg@lazybytes.net>
parents:
9142
diff
changeset
|
2942 = origin of the previous file listed as A (added) |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
2943 """ |
312 | 2944 |
10014
54cd28258ea7
status: add the --change option to display files changed in a revision
Gilles Moris <gilles.moris@free.fr>
parents:
9983
diff
changeset
|
2945 revs = opts.get('rev') |
54cd28258ea7
status: add the --change option to display files changed in a revision
Gilles Moris <gilles.moris@free.fr>
parents:
9983
diff
changeset
|
2946 change = opts.get('change') |
54cd28258ea7
status: add the --change option to display files changed in a revision
Gilles Moris <gilles.moris@free.fr>
parents:
9983
diff
changeset
|
2947 |
54cd28258ea7
status: add the --change option to display files changed in a revision
Gilles Moris <gilles.moris@free.fr>
parents:
9983
diff
changeset
|
2948 if revs and change: |
54cd28258ea7
status: add the --change option to display files changed in a revision
Gilles Moris <gilles.moris@free.fr>
parents:
9983
diff
changeset
|
2949 msg = _('cannot specify --rev and --change at the same time') |
54cd28258ea7
status: add the --change option to display files changed in a revision
Gilles Moris <gilles.moris@free.fr>
parents:
9983
diff
changeset
|
2950 raise util.Abort(msg) |
54cd28258ea7
status: add the --change option to display files changed in a revision
Gilles Moris <gilles.moris@free.fr>
parents:
9983
diff
changeset
|
2951 elif change: |
54cd28258ea7
status: add the --change option to display files changed in a revision
Gilles Moris <gilles.moris@free.fr>
parents:
9983
diff
changeset
|
2952 node2 = repo.lookup(change) |
54cd28258ea7
status: add the --change option to display files changed in a revision
Gilles Moris <gilles.moris@free.fr>
parents:
9983
diff
changeset
|
2953 node1 = repo[node2].parents()[0].node() |
54cd28258ea7
status: add the --change option to display files changed in a revision
Gilles Moris <gilles.moris@free.fr>
parents:
9983
diff
changeset
|
2954 else: |
54cd28258ea7
status: add the --change option to display files changed in a revision
Gilles Moris <gilles.moris@free.fr>
parents:
9983
diff
changeset
|
2955 node1, node2 = cmdutil.revpair(repo, revs) |
54cd28258ea7
status: add the --change option to display files changed in a revision
Gilles Moris <gilles.moris@free.fr>
parents:
9983
diff
changeset
|
2956 |
1625
e1bcf7fa983f
correct the relative path when walking from a subdir
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1622
diff
changeset
|
2957 cwd = (pats and repo.getcwd()) or '' |
7131
23bd7383891c
commands: optional options where possible
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7126
diff
changeset
|
2958 end = opts.get('print0') and '\0' or '\n' |
6276
c93ca83a3354
status: find copies and renames beyond the working directory
Matt Mackall <mpm@selenic.com>
parents:
6262
diff
changeset
|
2959 copy = {} |
6605
bf2bf986ff87
status: refactor status command
Matt Mackall <mpm@selenic.com>
parents:
6603
diff
changeset
|
2960 states = 'modified added removed deleted unknown ignored clean'.split() |
7684
ee3364d3d859
status: make options optional (issue1481)
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7656
diff
changeset
|
2961 show = [k for k in states if opts.get(k)] |
7131
23bd7383891c
commands: optional options where possible
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7126
diff
changeset
|
2962 if opts.get('all'): |
6605
bf2bf986ff87
status: refactor status command
Matt Mackall <mpm@selenic.com>
parents:
6603
diff
changeset
|
2963 show += ui.quiet and (states[:4] + ['clean']) or states |
bf2bf986ff87
status: refactor status command
Matt Mackall <mpm@selenic.com>
parents:
6603
diff
changeset
|
2964 if not show: |
bf2bf986ff87
status: refactor status command
Matt Mackall <mpm@selenic.com>
parents:
6603
diff
changeset
|
2965 show = ui.quiet and states[:4] or states[:5] |
bf2bf986ff87
status: refactor status command
Matt Mackall <mpm@selenic.com>
parents:
6603
diff
changeset
|
2966 |
bf2bf986ff87
status: refactor status command
Matt Mackall <mpm@selenic.com>
parents:
6603
diff
changeset
|
2967 stat = repo.status(node1, node2, cmdutil.match(repo, pats, opts), |
bf2bf986ff87
status: refactor status command
Matt Mackall <mpm@selenic.com>
parents:
6603
diff
changeset
|
2968 'ignored' in show, 'clean' in show, 'unknown' in show) |
bf2bf986ff87
status: refactor status command
Matt Mackall <mpm@selenic.com>
parents:
6603
diff
changeset
|
2969 changestates = zip(states, 'MAR!?IC', stat) |
bf2bf986ff87
status: refactor status command
Matt Mackall <mpm@selenic.com>
parents:
6603
diff
changeset
|
2970 |
7131
23bd7383891c
commands: optional options where possible
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7126
diff
changeset
|
2971 if (opts.get('all') or opts.get('copies')) and not opts.get('no_status'): |
6747
f6c00b17387c
use repo[changeid] to get a changectx
Matt Mackall <mpm@selenic.com>
parents:
6746
diff
changeset
|
2972 ctxn = repo[nullid] |
f6c00b17387c
use repo[changeid] to get a changectx
Matt Mackall <mpm@selenic.com>
parents:
6746
diff
changeset
|
2973 ctx1 = repo[node1] |
f6c00b17387c
use repo[changeid] to get a changectx
Matt Mackall <mpm@selenic.com>
parents:
6746
diff
changeset
|
2974 ctx2 = repo[node2] |
6646
9eb274d773d9
copies: teach copies about dirstate.copies
Matt Mackall <mpm@selenic.com>
parents:
6642
diff
changeset
|
2975 added = stat[1] |
9eb274d773d9
copies: teach copies about dirstate.copies
Matt Mackall <mpm@selenic.com>
parents:
6642
diff
changeset
|
2976 if node2 is None: |
9eb274d773d9
copies: teach copies about dirstate.copies
Matt Mackall <mpm@selenic.com>
parents:
6642
diff
changeset
|
2977 added = stat[0] + stat[1] # merged? |
6740
b148e9099133
use repo.changectx(None) to get a workingctx
Matt Mackall <mpm@selenic.com>
parents:
6739
diff
changeset
|
2978 |
7622
4dd7b28003d2
use dict.iteritems() rather than dict.items()
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
7598
diff
changeset
|
2979 for k, v in copies.copies(repo, ctx1, ctx2, ctxn)[0].iteritems(): |
6646
9eb274d773d9
copies: teach copies about dirstate.copies
Matt Mackall <mpm@selenic.com>
parents:
6642
diff
changeset
|
2980 if k in added: |
9eb274d773d9
copies: teach copies about dirstate.copies
Matt Mackall <mpm@selenic.com>
parents:
6642
diff
changeset
|
2981 copy[k] = v |
9eb274d773d9
copies: teach copies about dirstate.copies
Matt Mackall <mpm@selenic.com>
parents:
6642
diff
changeset
|
2982 elif v in added: |
6276
c93ca83a3354
status: find copies and renames beyond the working directory
Matt Mackall <mpm@selenic.com>
parents:
6262
diff
changeset
|
2983 copy[v] = k |
c93ca83a3354
status: find copies and renames beyond the working directory
Matt Mackall <mpm@selenic.com>
parents:
6262
diff
changeset
|
2984 |
6605
bf2bf986ff87
status: refactor status command
Matt Mackall <mpm@selenic.com>
parents:
6603
diff
changeset
|
2985 for state, char, files in changestates: |
bf2bf986ff87
status: refactor status command
Matt Mackall <mpm@selenic.com>
parents:
6603
diff
changeset
|
2986 if state in show: |
1966
f8b0e73e320f
hg status cleanups: Don't translate long options, remove stray semicolon.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1965
diff
changeset
|
2987 format = "%s %%s%s" % (char, end) |
7131
23bd7383891c
commands: optional options where possible
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7126
diff
changeset
|
2988 if opts.get('no_status'): |
6605
bf2bf986ff87
status: refactor status command
Matt Mackall <mpm@selenic.com>
parents:
6603
diff
changeset
|
2989 format = "%%s%s" % end |
bf2bf986ff87
status: refactor status command
Matt Mackall <mpm@selenic.com>
parents:
6603
diff
changeset
|
2990 |
bf2bf986ff87
status: refactor status command
Matt Mackall <mpm@selenic.com>
parents:
6603
diff
changeset
|
2991 for f in files: |
bf2bf986ff87
status: refactor status command
Matt Mackall <mpm@selenic.com>
parents:
6603
diff
changeset
|
2992 ui.write(format % repo.pathto(f, cwd)) |
bf2bf986ff87
status: refactor status command
Matt Mackall <mpm@selenic.com>
parents:
6603
diff
changeset
|
2993 if f in copy: |
bf2bf986ff87
status: refactor status command
Matt Mackall <mpm@selenic.com>
parents:
6603
diff
changeset
|
2994 ui.write(' %s%s' % (repo.pathto(copy[f], cwd), end)) |
213 | 2995 |
9620 | 2996 def summary(ui, repo, **opts): |
9603 | 2997 """summarize working directory state |
2998 | |
2999 This generates a brief summary of the working directory state, | |
3000 including parents, branch, commit status, and available updates. | |
9620 | 3001 |
3002 With the --remote option, this will check the default paths for | |
3003 incoming and outgoing changes. This can be time-consuming. | |
9603 | 3004 """ |
3005 | |
3006 ctx = repo[None] | |
3007 parents = ctx.parents() | |
3008 pnode = parents[0].node() | |
3009 tags = repo.tags() | |
3010 | |
3011 for p in parents: | |
3012 t = ' '.join([t for t in tags if tags[t] == p.node()]) | |
9618
d75a309a24b1
summary: add empty repository and no revision checked out hints
Matt Mackall <mpm@selenic.com>
parents:
9617
diff
changeset
|
3013 if p.rev() == -1: |
d75a309a24b1
summary: add empty repository and no revision checked out hints
Matt Mackall <mpm@selenic.com>
parents:
9617
diff
changeset
|
3014 if not len(repo): |
d75a309a24b1
summary: add empty repository and no revision checked out hints
Matt Mackall <mpm@selenic.com>
parents:
9617
diff
changeset
|
3015 t += _(' (empty repository)') |
d75a309a24b1
summary: add empty repository and no revision checked out hints
Matt Mackall <mpm@selenic.com>
parents:
9617
diff
changeset
|
3016 else: |
d75a309a24b1
summary: add empty repository and no revision checked out hints
Matt Mackall <mpm@selenic.com>
parents:
9617
diff
changeset
|
3017 t += _(' (no revision checked out)') |
9603 | 3018 ui.write(_('parent: %d:%s %s\n') % (p.rev(), str(p), t)) |
9618
d75a309a24b1
summary: add empty repository and no revision checked out hints
Matt Mackall <mpm@selenic.com>
parents:
9617
diff
changeset
|
3019 if p.description(): |
d75a309a24b1
summary: add empty repository and no revision checked out hints
Matt Mackall <mpm@selenic.com>
parents:
9617
diff
changeset
|
3020 ui.status(' ' + p.description().splitlines()[0].strip() + '\n') |
9603 | 3021 |
3022 branch = ctx.branch() | |
3023 bheads = repo.branchheads(branch) | |
9873
541218fbad2a
summary: note non-default branches with -q
Matt Mackall <mpm@selenic.com>
parents:
9857
diff
changeset
|
3024 m = _('branch: %s\n') % branch |
541218fbad2a
summary: note non-default branches with -q
Matt Mackall <mpm@selenic.com>
parents:
9857
diff
changeset
|
3025 if branch != 'default': |
541218fbad2a
summary: note non-default branches with -q
Matt Mackall <mpm@selenic.com>
parents:
9857
diff
changeset
|
3026 ui.write(m) |
541218fbad2a
summary: note non-default branches with -q
Matt Mackall <mpm@selenic.com>
parents:
9857
diff
changeset
|
3027 else: |
541218fbad2a
summary: note non-default branches with -q
Matt Mackall <mpm@selenic.com>
parents:
9857
diff
changeset
|
3028 ui.status(m) |
9603 | 3029 |
10390
f163775e36e0
summary: various fixes, add a test
Matt Mackall <mpm@selenic.com>
parents:
10389
diff
changeset
|
3030 st = list(repo.status(unknown=True))[:6] |
9603 | 3031 ms = merge_.mergestate(repo) |
10390
f163775e36e0
summary: various fixes, add a test
Matt Mackall <mpm@selenic.com>
parents:
10389
diff
changeset
|
3032 st.append([f for f in ms if ms[f] == 'u']) |
9619
c4a6ce16708a
summary: restore briefer commit status
Matt Mackall <mpm@selenic.com>
parents:
9618
diff
changeset
|
3033 labels = [_('%d modified'), _('%d added'), _('%d removed'), |
c4a6ce16708a
summary: restore briefer commit status
Matt Mackall <mpm@selenic.com>
parents:
9618
diff
changeset
|
3034 _('%d deleted'), _('%d unknown'), _('%d ignored'), |
c4a6ce16708a
summary: restore briefer commit status
Matt Mackall <mpm@selenic.com>
parents:
9618
diff
changeset
|
3035 _('%d unresolved')] |
9603 | 3036 t = [] |
10282
08a0f04b56bd
many, many trivial check-code fixups
Matt Mackall <mpm@selenic.com>
parents:
10270
diff
changeset
|
3037 for s, l in zip(st, labels): |
9607
8e0e0d854b60
commands: do not split a translated string
Martin Geisler <mg@lazybytes.net>
parents:
9603
diff
changeset
|
3038 if s: |
8e0e0d854b60
commands: do not split a translated string
Martin Geisler <mg@lazybytes.net>
parents:
9603
diff
changeset
|
3039 t.append(l % len(s)) |
9603 | 3040 |
3041 t = ', '.join(t) | |
10269
acf001ee5ef8
summary: L10N messages hide clean-ness of workdir from 'hg summary'
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
10263
diff
changeset
|
3042 cleanworkdir = False |
9603 | 3043 |
3044 if len(parents) > 1: | |
3045 t += _(' (merge)') | |
3046 elif branch != parents[0].branch(): | |
3047 t += _(' (new branch)') | |
3048 elif (not st[0] and not st[1] and not st[2]): | |
3049 t += _(' (clean)') | |
10269
acf001ee5ef8
summary: L10N messages hide clean-ness of workdir from 'hg summary'
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
10263
diff
changeset
|
3050 cleanworkdir = True |
9603 | 3051 elif pnode not in bheads: |
3052 t += _(' (new branch head)') | |
3053 | |
10269
acf001ee5ef8
summary: L10N messages hide clean-ness of workdir from 'hg summary'
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
10263
diff
changeset
|
3054 if cleanworkdir: |
9605 | 3055 ui.status(_('commit: %s\n') % t.strip()) |
3056 else: | |
3057 ui.write(_('commit: %s\n') % t.strip()) | |
9603 | 3058 |
3059 # all ancestors of branch heads - all ancestors of parent = new csets | |
3060 new = [0] * len(repo) | |
3061 cl = repo.changelog | |
10390
f163775e36e0
summary: various fixes, add a test
Matt Mackall <mpm@selenic.com>
parents:
10389
diff
changeset
|
3062 for a in [cl.rev(n) for n in bheads]: |
f163775e36e0
summary: various fixes, add a test
Matt Mackall <mpm@selenic.com>
parents:
10389
diff
changeset
|
3063 new[a] = 1 |
9603 | 3064 for a in cl.ancestors(*[cl.rev(n) for n in bheads]): |
3065 new[a] = 1 | |
10390
f163775e36e0
summary: various fixes, add a test
Matt Mackall <mpm@selenic.com>
parents:
10389
diff
changeset
|
3066 for a in [p.rev() for p in parents]: |
f163775e36e0
summary: various fixes, add a test
Matt Mackall <mpm@selenic.com>
parents:
10389
diff
changeset
|
3067 if a >= 0: |
f163775e36e0
summary: various fixes, add a test
Matt Mackall <mpm@selenic.com>
parents:
10389
diff
changeset
|
3068 new[a] = 0 |
9603 | 3069 for a in cl.ancestors(*[p.rev() for p in parents]): |
3070 new[a] = 0 | |
3071 new = sum(new) | |
3072 | |
3073 if new == 0: | |
9605 | 3074 ui.status(_('update: (current)\n')) |
9603 | 3075 elif pnode not in bheads: |
3076 ui.write(_('update: %d new changesets (update)\n') % new) | |
3077 else: | |
3078 ui.write(_('update: %d new changesets, %d branch heads (merge)\n') % | |
3079 (new, len(bheads))) | |
3080 | |
9620 | 3081 if opts.get('remote'): |
3082 t = [] | |
10389
6dc25b01e170
fix remaining hg.parseurl uses
Sune Foldager <cryo@cyanite.org>
parents:
10384
diff
changeset
|
3083 source, branches = hg.parseurl(ui.expandpath('default')) |
9620 | 3084 other = hg.repository(cmdutil.remoteui(repo, {}), source) |
10389
6dc25b01e170
fix remaining hg.parseurl uses
Sune Foldager <cryo@cyanite.org>
parents:
10384
diff
changeset
|
3085 revs, checkout = hg.addbranchrevs(repo, other, branches, opts.get('rev')) |
9620 | 3086 ui.debug('comparing with %s\n' % url.hidepassword(source)) |
3087 repo.ui.pushbuffer() | |
3088 common, incoming, rheads = repo.findcommonincoming(other) | |
3089 repo.ui.popbuffer() | |
3090 if incoming: | |
3091 t.append(_('1 or more incoming')) | |
3092 | |
10389
6dc25b01e170
fix remaining hg.parseurl uses
Sune Foldager <cryo@cyanite.org>
parents:
10384
diff
changeset
|
3093 dest, branches = hg.parseurl(ui.expandpath('default-push', 'default')) |
6dc25b01e170
fix remaining hg.parseurl uses
Sune Foldager <cryo@cyanite.org>
parents:
10384
diff
changeset
|
3094 revs, checkout = hg.addbranchrevs(repo, repo, branches, None) |
9620 | 3095 other = hg.repository(cmdutil.remoteui(repo, {}), dest) |
3096 ui.debug('comparing with %s\n' % url.hidepassword(dest)) | |
3097 repo.ui.pushbuffer() | |
3098 o = repo.findoutgoing(other) | |
3099 repo.ui.popbuffer() | |
10390
f163775e36e0
summary: various fixes, add a test
Matt Mackall <mpm@selenic.com>
parents:
10389
diff
changeset
|
3100 o = repo.changelog.nodesbetween(o, None)[0] |
9620 | 3101 if o: |
3102 t.append(_('%d outgoing') % len(o)) | |
3103 | |
3104 if t: | |
3105 ui.write(_('remote: %s\n') % (', '.join(t))) | |
3106 else: | |
3107 ui.status(_('remote: (synced)\n')) | |
3108 | |
6321
55ba3bc5b8fd
tag: allow multiple tags to be added or removed
John Coomes <john.coomes@sun.com>
parents:
6304
diff
changeset
|
3109 def tag(ui, repo, name1, *names, **opts): |
55ba3bc5b8fd
tag: allow multiple tags to be added or removed
John Coomes <john.coomes@sun.com>
parents:
6304
diff
changeset
|
3110 """add one or more tags 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
|
3111 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
3112 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
|
3113 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
3114 Tags are used to name particular revisions of the repository and are |
6220
1939e29151ca
Fixed typo in tag help, found by John Coomes
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6217
diff
changeset
|
3115 very useful to compare different revisions, to go back to significant |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
3116 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
|
3117 |
8004
d5b1b846f277
commands: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
3118 If no revision is given, the parent of the working directory is |
d5b1b846f277
commands: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
3119 used, 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
|
3120 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
3121 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
|
3122 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
|
3123 similarly to other project files and can be hand-edited if |
6448
cd3d49ffc6f6
Consistently 1 space after full stops in command doc strings
Christian Ebert <blacktrash@gmx.net>
parents:
6442
diff
changeset
|
3124 necessary. The file '.hg/localtags' is used for local tags (not |
1654
b7fc961507db
deprecate the use of 'hg tag NAME [REV]'
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1648
diff
changeset
|
3125 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
|
3126 |
1f733c2f0165
Document log date ranges and mention 'hg help dates' for all commands (issue998)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6161
diff
changeset
|
3127 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
|
3128 """ |
6321
55ba3bc5b8fd
tag: allow multiple tags to be added or removed
John Coomes <john.coomes@sun.com>
parents:
6304
diff
changeset
|
3129 |
6739
c9fbd6ec3489
context: avoid using None for working parent
Matt Mackall <mpm@selenic.com>
parents:
6723
diff
changeset
|
3130 rev_ = "." |
6321
55ba3bc5b8fd
tag: allow multiple tags to be added or removed
John Coomes <john.coomes@sun.com>
parents:
6304
diff
changeset
|
3131 names = (name1,) + names |
8152
08e1baf924ca
replace set-like dictionaries with real sets
Martin Geisler <mg@lazybytes.net>
parents:
8150
diff
changeset
|
3132 if len(names) != len(set(names)): |
6321
55ba3bc5b8fd
tag: allow multiple tags to be added or removed
John Coomes <john.coomes@sun.com>
parents:
6304
diff
changeset
|
3133 raise util.Abort(_('tag names must be unique')) |
55ba3bc5b8fd
tag: allow multiple tags to be added or removed
John Coomes <john.coomes@sun.com>
parents:
6304
diff
changeset
|
3134 for n in names: |
55ba3bc5b8fd
tag: allow multiple tags to be added or removed
John Coomes <john.coomes@sun.com>
parents:
6304
diff
changeset
|
3135 if n in ['tip', '.', 'null']: |
55ba3bc5b8fd
tag: allow multiple tags to be added or removed
John Coomes <john.coomes@sun.com>
parents:
6304
diff
changeset
|
3136 raise util.Abort(_('the name \'%s\' is reserved') % n) |
7131
23bd7383891c
commands: optional options where possible
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7126
diff
changeset
|
3137 if opts.get('rev') and opts.get('remove'): |
4213 | 3138 raise util.Abort(_("--rev and --remove are incompatible")) |
7131
23bd7383891c
commands: optional options where possible
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7126
diff
changeset
|
3139 if opts.get('rev'): |
1596
41366b7d6709
fix 'hg tag <tagname> <revision>
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1589
diff
changeset
|
3140 rev_ = opts['rev'] |
7131
23bd7383891c
commands: optional options where possible
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7126
diff
changeset
|
3141 message = opts.get('message') |
23bd7383891c
commands: optional options where possible
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7126
diff
changeset
|
3142 if opts.get('remove'): |
23bd7383891c
commands: optional options where possible
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7126
diff
changeset
|
3143 expectedtype = opts.get('local') and 'local' or 'global' |
6321
55ba3bc5b8fd
tag: allow multiple tags to be added or removed
John Coomes <john.coomes@sun.com>
parents:
6304
diff
changeset
|
3144 for n in names: |
55ba3bc5b8fd
tag: allow multiple tags to be added or removed
John Coomes <john.coomes@sun.com>
parents:
6304
diff
changeset
|
3145 if not repo.tagtype(n): |
55ba3bc5b8fd
tag: allow multiple tags to be added or removed
John Coomes <john.coomes@sun.com>
parents:
6304
diff
changeset
|
3146 raise util.Abort(_('tag \'%s\' does not exist') % n) |
55ba3bc5b8fd
tag: allow multiple tags to be added or removed
John Coomes <john.coomes@sun.com>
parents:
6304
diff
changeset
|
3147 if repo.tagtype(n) != expectedtype: |
8008
36924a4711e9
commands, i18n: avoid untranslated strings as message parameters
Wagner Bruna <wbruna@yahoo.com>
parents:
8007
diff
changeset
|
3148 if expectedtype == 'global': |
36924a4711e9
commands, i18n: avoid untranslated strings as message parameters
Wagner Bruna <wbruna@yahoo.com>
parents:
8007
diff
changeset
|
3149 raise util.Abort(_('tag \'%s\' is not a global tag') % n) |
36924a4711e9
commands, i18n: avoid untranslated strings as message parameters
Wagner Bruna <wbruna@yahoo.com>
parents:
8007
diff
changeset
|
3150 else: |
36924a4711e9
commands, i18n: avoid untranslated strings as message parameters
Wagner Bruna <wbruna@yahoo.com>
parents:
8007
diff
changeset
|
3151 raise util.Abort(_('tag \'%s\' is not a local tag') % n) |
4213 | 3152 rev_ = nullid |
3153 if not message: | |
9183
d0225fa2f6c4
do not translate commit messages
Martin Geisler <mg@lazybytes.net>
parents:
9128
diff
changeset
|
3154 # we don't translate commit messages |
d0225fa2f6c4
do not translate commit messages
Martin Geisler <mg@lazybytes.net>
parents:
9128
diff
changeset
|
3155 message = 'Removed tag %s' % ', '.join(names) |
7131
23bd7383891c
commands: optional options where possible
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7126
diff
changeset
|
3156 elif not opts.get('force'): |
6321
55ba3bc5b8fd
tag: allow multiple tags to be added or removed
John Coomes <john.coomes@sun.com>
parents:
6304
diff
changeset
|
3157 for n in names: |
55ba3bc5b8fd
tag: allow multiple tags to be added or removed
John Coomes <john.coomes@sun.com>
parents:
6304
diff
changeset
|
3158 if n in repo.tags(): |
55ba3bc5b8fd
tag: allow multiple tags to be added or removed
John Coomes <john.coomes@sun.com>
parents:
6304
diff
changeset
|
3159 raise util.Abort(_('tag \'%s\' already exists ' |
55ba3bc5b8fd
tag: allow multiple tags to be added or removed
John Coomes <john.coomes@sun.com>
parents:
6304
diff
changeset
|
3160 '(use -f to force)') % n) |
3132
81da3c45aabd
Move defaultrev into changectx
Brendan Cully <brendan@kublai.com>
parents:
3095
diff
changeset
|
3161 if not rev_ and repo.dirstate.parents()[1] != nullid: |
81da3c45aabd
Move defaultrev into changectx
Brendan Cully <brendan@kublai.com>
parents:
3095
diff
changeset
|
3162 raise util.Abort(_('uncommitted merge - please provide a ' |
81da3c45aabd
Move defaultrev into changectx
Brendan Cully <brendan@kublai.com>
parents:
3095
diff
changeset
|
3163 'specific revision')) |
6747
f6c00b17387c
use repo[changeid] to get a changectx
Matt Mackall <mpm@selenic.com>
parents:
6746
diff
changeset
|
3164 r = repo[rev_].node() |
2967
eef469259745
tag: shorten hash in default commit message
Matt Mackall <mpm@selenic.com>
parents:
2966
diff
changeset
|
3165 |
eef469259745
tag: shorten hash in default commit message
Matt Mackall <mpm@selenic.com>
parents:
2966
diff
changeset
|
3166 if not message: |
9183
d0225fa2f6c4
do not translate commit messages
Martin Geisler <mg@lazybytes.net>
parents:
9128
diff
changeset
|
3167 # we don't translate commit messages |
d0225fa2f6c4
do not translate commit messages
Martin Geisler <mg@lazybytes.net>
parents:
9128
diff
changeset
|
3168 message = ('Added tag %s for changeset %s' % |
6321
55ba3bc5b8fd
tag: allow multiple tags to be added or removed
John Coomes <john.coomes@sun.com>
parents:
6304
diff
changeset
|
3169 (', '.join(names), short(r))) |
2967
eef469259745
tag: shorten hash in default commit message
Matt Mackall <mpm@selenic.com>
parents:
2966
diff
changeset
|
3170 |
6243
437eef39458d
fix incorrect date when committing a tag
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
6234
diff
changeset
|
3171 date = opts.get('date') |
437eef39458d
fix incorrect date when committing a tag
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
6234
diff
changeset
|
3172 if date: |
437eef39458d
fix incorrect date when committing a tag
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
6234
diff
changeset
|
3173 date = util.parsedate(date) |
437eef39458d
fix incorrect date when committing a tag
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
6234
diff
changeset
|
3174 |
7131
23bd7383891c
commands: optional options where possible
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7126
diff
changeset
|
3175 repo.tag(names, r, message, opts.get('local'), opts.get('user'), date) |
401
af4848f83e68
From: Radoslaw Szkodzinski <astralstorm@gorzow.mm.pl>
mpm@selenic.com
parents:
396
diff
changeset
|
3176 |
248 | 3177 def tags(ui, repo): |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
3178 """list repository tags |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
3179 |
8004
d5b1b846f277
commands: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
3180 This lists both regular and local tags. When the -v/--verbose |
d5b1b846f277
commands: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
3181 switch 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
|
3182 """ |
477
520540fd6b64
Handle errors in .hgtags or hgrc [tags] section more gracefully.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
470
diff
changeset
|
3183 |
2966
fb493241d7f6
Only show long hashes with --debug, not --verbose
Matt Mackall <mpm@selenic.com>
parents:
2963
diff
changeset
|
3184 hexfunc = ui.debugflag and hex or short |
5658
ae3089cefaab
Add --verbose support to tags command.
Osku Salerma <osku@iki.fi>
parents:
5657
diff
changeset
|
3185 tagtype = "" |
ae3089cefaab
Add --verbose support to tags command.
Osku Salerma <osku@iki.fi>
parents:
5657
diff
changeset
|
3186 |
8210
344751cd8cb8
replace various uses of list.reverse()
Matt Mackall <mpm@selenic.com>
parents:
8209
diff
changeset
|
3187 for t, n in reversed(repo.tagslist()): |
5658
ae3089cefaab
Add --verbose support to tags command.
Osku Salerma <osku@iki.fi>
parents:
5657
diff
changeset
|
3188 if ui.quiet: |
ae3089cefaab
Add --verbose support to tags command.
Osku Salerma <osku@iki.fi>
parents:
5657
diff
changeset
|
3189 ui.write("%s\n" % t) |
ae3089cefaab
Add --verbose support to tags command.
Osku Salerma <osku@iki.fi>
parents:
5657
diff
changeset
|
3190 continue |
ae3089cefaab
Add --verbose support to tags command.
Osku Salerma <osku@iki.fi>
parents:
5657
diff
changeset
|
3191 |
248 | 3192 try: |
4516
96d8a56d4ef9
Removed trailing whitespace and tabs from python files
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4505
diff
changeset
|
3193 hn = hexfunc(n) |
5658
ae3089cefaab
Add --verbose support to tags command.
Osku Salerma <osku@iki.fi>
parents:
5657
diff
changeset
|
3194 r = "%5d:%s" % (repo.changelog.rev(n), hn) |
7633 | 3195 except error.LookupError: |
3930
01d98d68d697
Add revlog.LookupError exception, and use it instead of RevlogError.
Brendan Cully <brendan@kublai.com>
parents:
3920
diff
changeset
|
3196 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
|
3197 else: |
7948
de377b1a9a84
move encoding bits from util to encoding
Matt Mackall <mpm@selenic.com>
parents:
7942
diff
changeset
|
3198 spaces = " " * (30 - encoding.colwidth(t)) |
5658
ae3089cefaab
Add --verbose support to tags command.
Osku Salerma <osku@iki.fi>
parents:
5657
diff
changeset
|
3199 if ui.verbose: |
ae3089cefaab
Add --verbose support to tags command.
Osku Salerma <osku@iki.fi>
parents:
5657
diff
changeset
|
3200 if repo.tagtype(t) == 'local': |
ae3089cefaab
Add --verbose support to tags command.
Osku Salerma <osku@iki.fi>
parents:
5657
diff
changeset
|
3201 tagtype = " local" |
ae3089cefaab
Add --verbose support to tags command.
Osku Salerma <osku@iki.fi>
parents:
5657
diff
changeset
|
3202 else: |
ae3089cefaab
Add --verbose support to tags command.
Osku Salerma <osku@iki.fi>
parents:
5657
diff
changeset
|
3203 tagtype = "" |
ae3089cefaab
Add --verbose support to tags command.
Osku Salerma <osku@iki.fi>
parents:
5657
diff
changeset
|
3204 ui.write("%s%s %s%s\n" % (t, spaces, r, tagtype)) |
248 | 3205 |
1731
251729df9cc6
add -p option to tip. for issue 64.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1728
diff
changeset
|
3206 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
|
3207 """show the tip revision |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
3208 |
8779
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
3209 The tip revision (usually just called the tip) is the changeset |
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
3210 most recently added to the repository (and therefore the most |
708938509732
Improve English for help text of many core hg commands.
timeless <timeless@gmail.com>
parents:
8778
diff
changeset
|
3211 recently changed head). |
6364
b22b39059722
Make tip help more helpful
Patrick Mezard <pmezard@gmail.com>
parents:
6353
diff
changeset
|
3212 |
6367
51984a2413f2
Remove unexpected "Alternately" word from tip help.
Patrick Mezard <pmezard@gmail.com>
parents:
6364
diff
changeset
|
3213 If you have just made a commit, that commit will be the tip. If |
51984a2413f2
Remove unexpected "Alternately" word from tip help.
Patrick Mezard <pmezard@gmail.com>
parents:
6364
diff
changeset
|
3214 you have just pulled changes from another repository, the tip of |
51984a2413f2
Remove unexpected "Alternately" word from tip help.
Patrick Mezard <pmezard@gmail.com>
parents:
6364
diff
changeset
|
3215 that repository becomes the current tip. The "tip" tag is special |
51984a2413f2
Remove unexpected "Alternately" word from tip help.
Patrick Mezard <pmezard@gmail.com>
parents:
6364
diff
changeset
|
3216 and cannot be renamed or assigned to a different changeset. |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
3217 """ |
10152
56284451a22c
Added support for templatevar "footer" to cmdutil.py
Robert Bachmann <rbachm@gmail.com>
parents:
10111
diff
changeset
|
3218 displayer = cmdutil.show_changeset(ui, repo, opts) |
56284451a22c
Added support for templatevar "footer" to cmdutil.py
Robert Bachmann <rbachm@gmail.com>
parents:
10111
diff
changeset
|
3219 displayer.show(repo[len(repo) - 1]) |
56284451a22c
Added support for templatevar "footer" to cmdutil.py
Robert Bachmann <rbachm@gmail.com>
parents:
10111
diff
changeset
|
3220 displayer.close() |
245 | 3221 |
4699
a6b62584d0b2
unbundle: accept multiple file arguments
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
4697
diff
changeset
|
3222 def unbundle(ui, repo, fname1, *fnames, **opts): |
a6b62584d0b2
unbundle: accept multiple file arguments
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
4697
diff
changeset
|
3223 """apply one or more changegroup files |
a6b62584d0b2
unbundle: accept multiple file arguments
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
4697
diff
changeset
|
3224 |
a6b62584d0b2
unbundle: accept multiple file arguments
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
4697
diff
changeset
|
3225 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
|
3226 bundle command. |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
3227 """ |
4699
a6b62584d0b2
unbundle: accept multiple file arguments
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
4697
diff
changeset
|
3228 fnames = (fname1,) + fnames |
6180
d98ef03893e6
commands: lock() the repo while unbundling (issue1004)
Patrick Mezard <pmezard@gmail.com>
parents:
6178
diff
changeset
|
3229 |
8109
496ae1ea4698
switch lock releasing in the core from gc to explicit
Ronny Pfannschmidt <Ronny.Pfannschmidt@gmx.de>
parents:
8088
diff
changeset
|
3230 lock = repo.lock() |
6180
d98ef03893e6
commands: lock() the repo while unbundling (issue1004)
Patrick Mezard <pmezard@gmail.com>
parents:
6178
diff
changeset
|
3231 try: |
d98ef03893e6
commands: lock() the repo while unbundling (issue1004)
Patrick Mezard <pmezard@gmail.com>
parents:
6178
diff
changeset
|
3232 for fname in fnames: |
7271
8046f0a070a6
use our urlopener (proxy handling, etc) instead of urllib
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
7270
diff
changeset
|
3233 f = url.open(ui, fname) |
6180
d98ef03893e6
commands: lock() the repo while unbundling (issue1004)
Patrick Mezard <pmezard@gmail.com>
parents:
6178
diff
changeset
|
3234 gen = changegroup.readbundle(f, fname) |
d98ef03893e6
commands: lock() the repo while unbundling (issue1004)
Patrick Mezard <pmezard@gmail.com>
parents:
6178
diff
changeset
|
3235 modheads = repo.addchangegroup(gen, 'unbundle', 'bundle:' + fname) |
d98ef03893e6
commands: lock() the repo while unbundling (issue1004)
Patrick Mezard <pmezard@gmail.com>
parents:
6178
diff
changeset
|
3236 finally: |
8109
496ae1ea4698
switch lock releasing in the core from gc to explicit
Ronny Pfannschmidt <Ronny.Pfannschmidt@gmx.de>
parents:
8088
diff
changeset
|
3237 lock.release() |
4699
a6b62584d0b2
unbundle: accept multiple file arguments
Giorgos Keramidas <keramida@ceid.upatras.gr>
parents:
4697
diff
changeset
|
3238 |
7131
23bd7383891c
commands: optional options where possible
Alexander Solovyov <piranha@piranha.org.ua>
parents:
7126
diff
changeset
|
3239 return postincoming(ui, repo, modheads, opts.get('update'), None) |
1218
cde6818e082a
Add preliminary support for the bundle and unbundle commands
mpm@selenic.com
parents:
1215
diff
changeset
|
3240 |
8855 | 3241 def update(ui, repo, node=None, rev=None, clean=False, date=None, check=False): |
4014
509342f95564
various doc fixes
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
4013
diff
changeset
|
3242 """update working directory |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
3243 |
8004
d5b1b846f277
commands: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
3244 Update the repository's working directory to the specified |
9718
fe1b19bfe75b
help: describe new cross-branch behavior in update help text, plus cleanups
Stuart W Marks <smarks@smarks.org>
parents:
9714
diff
changeset
|
3245 changeset. |
fe1b19bfe75b
help: describe new cross-branch behavior in update help text, plus cleanups
Stuart W Marks <smarks@smarks.org>
parents:
9714
diff
changeset
|
3246 |
fe1b19bfe75b
help: describe new cross-branch behavior in update help text, plus cleanups
Stuart W Marks <smarks@smarks.org>
parents:
9714
diff
changeset
|
3247 If no changeset is specified, attempt to update to the head of the |
fe1b19bfe75b
help: describe new cross-branch behavior in update help text, plus cleanups
Stuart W Marks <smarks@smarks.org>
parents:
9714
diff
changeset
|
3248 current branch. If this head is a descendant of the working |
fe1b19bfe75b
help: describe new cross-branch behavior in update help text, plus cleanups
Stuart W Marks <smarks@smarks.org>
parents:
9714
diff
changeset
|
3249 directory's parent, update to it, otherwise abort. |
fe1b19bfe75b
help: describe new cross-branch behavior in update help text, plus cleanups
Stuart W Marks <smarks@smarks.org>
parents:
9714
diff
changeset
|
3250 |
fe1b19bfe75b
help: describe new cross-branch behavior in update help text, plus cleanups
Stuart W Marks <smarks@smarks.org>
parents:
9714
diff
changeset
|
3251 The following rules apply when the working directory contains |
fe1b19bfe75b
help: describe new cross-branch behavior in update help text, plus cleanups
Stuart W Marks <smarks@smarks.org>
parents:
9714
diff
changeset
|
3252 uncommitted changes: |
fe1b19bfe75b
help: describe new cross-branch behavior in update help text, plus cleanups
Stuart W Marks <smarks@smarks.org>
parents:
9714
diff
changeset
|
3253 |
9831
9ebad1b93456
help: improve wording of update help text
Stuart W Marks <smarks@smarks.org>
parents:
9806
diff
changeset
|
3254 1. If neither -c/--check nor -C/--clean is specified, and if |
9ebad1b93456
help: improve wording of update help text
Stuart W Marks <smarks@smarks.org>
parents:
9806
diff
changeset
|
3255 the requested changeset is an ancestor or descendant of |
9ebad1b93456
help: improve wording of update help text
Stuart W Marks <smarks@smarks.org>
parents:
9806
diff
changeset
|
3256 the working directory's parent, the uncommitted changes |
9ebad1b93456
help: improve wording of update help text
Stuart W Marks <smarks@smarks.org>
parents:
9806
diff
changeset
|
3257 are merged into the requested changeset and the merged |
9ebad1b93456
help: improve wording of update help text
Stuart W Marks <smarks@smarks.org>
parents:
9806
diff
changeset
|
3258 result is left uncommitted. If the requested changeset is |
9ebad1b93456
help: improve wording of update help text
Stuart W Marks <smarks@smarks.org>
parents:
9806
diff
changeset
|
3259 not an ancestor or descendant (that is, it is on another |
9ebad1b93456
help: improve wording of update help text
Stuart W Marks <smarks@smarks.org>
parents:
9806
diff
changeset
|
3260 branch), the update is aborted and the uncommitted changes |
9740
2ebe679fec21
commands: use enumerated lists in help texts
Martin Geisler <mg@lazybytes.net>
parents:
9734
diff
changeset
|
3261 are preserved. |
9718
fe1b19bfe75b
help: describe new cross-branch behavior in update help text, plus cleanups
Stuart W Marks <smarks@smarks.org>
parents:
9714
diff
changeset
|
3262 |
fe1b19bfe75b
help: describe new cross-branch behavior in update help text, plus cleanups
Stuart W Marks <smarks@smarks.org>
parents:
9714
diff
changeset
|
3263 2. With the -c/--check option, the update is aborted and the |
9740
2ebe679fec21
commands: use enumerated lists in help texts
Martin Geisler <mg@lazybytes.net>
parents:
9734
diff
changeset
|
3264 uncommitted changes are preserved. |
9718
fe1b19bfe75b
help: describe new cross-branch behavior in update help text, plus cleanups
Stuart W Marks <smarks@smarks.org>
parents:
9714
diff
changeset
|
3265 |
fe1b19bfe75b
help: describe new cross-branch behavior in update help text, plus cleanups
Stuart W Marks <smarks@smarks.org>
parents:
9714
diff
changeset
|
3266 3. With the -C/--clean option, uncommitted changes are discarded and |
9740
2ebe679fec21
commands: use enumerated lists in help texts
Martin Geisler <mg@lazybytes.net>
parents:
9734
diff
changeset
|
3267 the working directory is updated to the requested changeset. |
9718
fe1b19bfe75b
help: describe new cross-branch behavior in update help text, plus cleanups
Stuart W Marks <smarks@smarks.org>
parents:
9714
diff
changeset
|
3268 |
fe1b19bfe75b
help: describe new cross-branch behavior in update help text, plus cleanups
Stuart W Marks <smarks@smarks.org>
parents:
9714
diff
changeset
|
3269 Use null as the changeset to remove the working directory (like 'hg |
8004
d5b1b846f277
commands: word-wrap help texts at 70 characters
Martin Geisler <mg@daimi.au.dk>
parents:
7983
diff
changeset
|
3270 clone -U'). |
6375
cdc458b12f0f
update: better logic and messages for updates
Matt Mackall <mpm@selenic.com>
parents:
6369
diff
changeset
|
3271 |
9718
fe1b19bfe75b
help: describe new cross-branch behavior in update help text, plus cleanups
Stuart W Marks <smarks@smarks.org>
parents:
9714
diff
changeset
|
3272 If you want to update just one file to an older changeset, use 'hg revert'. |
6842
e37fa751182a
add note about updating one file to update help
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
6814
diff
changeset
|
3273 |
8033
aeb4a5c7a28e
commands: consistently write switches as -a/--abc
Martin Geisler <mg@lazybytes.net>
parents:
8032
diff
changeset
|
3274 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
|
3275 """ |
4450
8fa54b9c6c5a
accept -r REV in more places
Daniel Holth <dholth@fastmail.fm>
parents:
4445
diff
changeset
|
3276 if rev and node: |
8fa54b9c6c5a
accept -r REV in more places
Daniel Holth <dholth@fastmail.fm>
parents:
4445
diff
changeset
|
3277 raise util.Abort(_("please specify just one revision")) |
8fa54b9c6c5a
accept -r REV in more places
Daniel Holth <dholth@fastmail.fm>
parents:
4445
diff
changeset
|
3278 |
8fa54b9c6c5a
accept -r REV in more places
Daniel Holth <dholth@fastmail.fm>
parents:
4445
diff
changeset
|
3279 if not rev: |
8fa54b9c6c5a
accept -r REV in more places
Daniel Holth <dholth@fastmail.fm>
parents:
4445
diff
changeset
|
3280 rev = node |
8fa54b9c6c5a
accept -r REV in more places
Daniel Holth <dholth@fastmail.fm>
parents:
4445
diff
changeset
|
3281 |
9450
e78967d3dd6f
commands: forbid 'hg update --check --clean'
Stuart W Marks <smarks@smarks.org>
parents:
9429
diff
changeset
|
3282 if check and clean: |
9451
3e673c988c85
commands: expand -c and -C in update error message
Martin Geisler <mg@lazybytes.net>
parents:
9450
diff
changeset
|
3283 raise util.Abort(_("cannot specify both -c/--check and -C/--clean")) |
9450
e78967d3dd6f
commands: forbid 'hg update --check --clean'
Stuart W Marks <smarks@smarks.org>
parents:
9429
diff
changeset
|
3284 |
e78967d3dd6f
commands: forbid 'hg update --check --clean'
Stuart W Marks <smarks@smarks.org>
parents:
9429
diff
changeset
|
3285 if check: |
8855 | 3286 # we could use dirty() but we can ignore merge and branch trivia |
3287 c = repo[None] | |
3288 if c.modified() or c.added() or c.removed(): | |
3289 raise util.Abort(_("uncommitted local changes")) | |
3290 | |
3814
120be84f33de
Add --date support to update and revert
Matt Mackall <mpm@selenic.com>
parents:
3813
diff
changeset
|
3291 if date: |
4450
8fa54b9c6c5a
accept -r REV in more places
Daniel Holth <dholth@fastmail.fm>
parents:
4445
diff
changeset
|
3292 if rev: |
3814
120be84f33de
Add --date support to update and revert
Matt Mackall <mpm@selenic.com>
parents:
3813
diff
changeset
|
3293 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
|
3294 rev = cmdutil.finddate(ui, repo, date) |
3814
120be84f33de
Add --date support to update and revert
Matt Mackall <mpm@selenic.com>
parents:
3813
diff
changeset
|
3295 |
9187
7bb1dbfd3082
update: allow -c to jump branches if clean
Matt Mackall <mpm@selenic.com>
parents:
9128
diff
changeset
|
3296 if clean or check: |
4450
8fa54b9c6c5a
accept -r REV in more places
Daniel Holth <dholth@fastmail.fm>
parents:
4445
diff
changeset
|
3297 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
|
3298 else: |
4450
8fa54b9c6c5a
accept -r REV in more places
Daniel Holth <dholth@fastmail.fm>
parents:
4445
diff
changeset
|
3299 return hg.update(repo, rev) |
254 | 3300 |
247 | 3301 def verify(ui, repo): |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
3302 """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
|
3303 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
3304 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
|
3305 |
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
3306 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
|
3307 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
|
3308 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
|
3309 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
|
3310 """ |
2778 | 3311 return hg.verify(repo) |
247 | 3312 |
3651
6389205291c6
move show_version to version_
Matt Mackall <mpm@selenic.com>
parents:
3650
diff
changeset
|
3313 def version_(ui): |
6389205291c6
move show_version to version_
Matt Mackall <mpm@selenic.com>
parents:
3650
diff
changeset
|
3314 """output version and copyright information""" |
6389205291c6
move show_version to version_
Matt Mackall <mpm@selenic.com>
parents:
3650
diff
changeset
|
3315 ui.write(_("Mercurial Distributed SCM (version %s)\n") |
7632 | 3316 % util.version()) |
3651
6389205291c6
move show_version to version_
Matt Mackall <mpm@selenic.com>
parents:
3650
diff
changeset
|
3317 ui.status(_( |
10206
8b5ca9b9b435
commands: update copyright year to 2010
Martin Geisler <mg@lazybytes.net>
parents:
9970
diff
changeset
|
3318 "\nCopyright (C) 2005-2010 Matt Mackall <mpm@selenic.com> and others\n" |
3651
6389205291c6
move show_version to version_
Matt Mackall <mpm@selenic.com>
parents:
3650
diff
changeset
|
3319 "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
|
3320 "There is NO\nwarranty; " |
6389205291c6
move show_version to version_
Matt Mackall <mpm@selenic.com>
parents:
3650
diff
changeset
|
3321 "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
|
3322 )) |
6389205291c6
move show_version to version_
Matt Mackall <mpm@selenic.com>
parents:
3650
diff
changeset
|
3323 |
255 | 3324 # Command options and aliases are listed here, alphabetically |
3325 | |
3187
fca5ddbaa12a
factor opts: move globalopts to a more logical place
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3181
diff
changeset
|
3326 globalopts = [ |
fca5ddbaa12a
factor opts: move globalopts to a more logical place
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3181
diff
changeset
|
3327 ('R', 'repository', '', |
9477
a4f6e4427b65
mention overlay bundle file in global --repository option
Adrian Buehlmann <adrian@cadifra.com>
parents:
9467
diff
changeset
|
3328 _('repository root directory or name of overlay bundle file')), |
3187
fca5ddbaa12a
factor opts: move globalopts to a more logical place
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3181
diff
changeset
|
3329 ('', '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
|
3330 ('y', 'noninteractive', None, |
fca5ddbaa12a
factor opts: move globalopts to a more logical place
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3181
diff
changeset
|
3331 _('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
|
3332 ('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
|
3333 ('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
|
3334 ('', '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
|
3335 ('', '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
|
3336 ('', 'debugger', None, _('start debugger')), |
7948
de377b1a9a84
move encoding bits from util to encoding
Matt Mackall <mpm@selenic.com>
parents:
7942
diff
changeset
|
3337 ('', 'encoding', encoding.encoding, _('set the charset encoding')), |
de377b1a9a84
move encoding bits from util to encoding
Matt Mackall <mpm@selenic.com>
parents:
7942
diff
changeset
|
3338 ('', 'encodingmode', encoding.encodingmode, |
de377b1a9a84
move encoding bits from util to encoding
Matt Mackall <mpm@selenic.com>
parents:
7942
diff
changeset
|
3339 _('set the charset encoding mode')), |
9698
3bbc6bc62809
commands: slightly better help for --traceback
Martin Geisler <mg@lazybytes.net>
parents:
9689
diff
changeset
|
3340 ('', 'traceback', None, _('always print a traceback on exception')), |
3187
fca5ddbaa12a
factor opts: move globalopts to a more logical place
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3181
diff
changeset
|
3341 ('', '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
|
3342 ('', '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
|
3343 ('', '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
|
3344 ('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
|
3345 ] |
fca5ddbaa12a
factor opts: move globalopts to a more logical place
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3181
diff
changeset
|
3346 |
3189
a73a785ea8e1
factor opts: --dry-run option
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3188
diff
changeset
|
3347 dryrunopts = [('n', 'dry-run', None, |
a73a785ea8e1
factor opts: --dry-run option
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3188
diff
changeset
|
3348 _('do not perform actions, just print output'))] |
a73a785ea8e1
factor opts: --dry-run option
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3188
diff
changeset
|
3349 |
3190
37b53487c341
factor opts: remote repo access options
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3189
diff
changeset
|
3350 remoteopts = [ |
37b53487c341
factor opts: remote repo access options
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3189
diff
changeset
|
3351 ('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
|
3352 ('', '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
|
3353 ] |
37b53487c341
factor opts: remote repo access options
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3189
diff
changeset
|
3354 |
3188
725e3d3145d8
factor opts: walk options
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3187
diff
changeset
|
3355 walkopts = [ |
725e3d3145d8
factor opts: walk options
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3187
diff
changeset
|
3356 ('I', 'include', [], _('include names matching the given patterns')), |
725e3d3145d8
factor opts: walk options
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3187
diff
changeset
|
3357 ('X', 'exclude', [], _('exclude names matching the given patterns')), |
725e3d3145d8
factor opts: walk options
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3187
diff
changeset
|
3358 ] |
725e3d3145d8
factor opts: walk options
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3187
diff
changeset
|
3359 |
3857
f6f16f871049
Uniformisation of commit help for -m and -l.
Mathieu Clabaut <mathieu.clabaut@gmail.com>
parents:
3855
diff
changeset
|
3360 commitopts = [ |
f6f16f871049
Uniformisation of commit help for -m and -l.
Mathieu Clabaut <mathieu.clabaut@gmail.com>
parents:
3855
diff
changeset
|
3361 ('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
|
3362 ('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
|
3363 ] |
f6f16f871049
Uniformisation of commit help for -m and -l.
Mathieu Clabaut <mathieu.clabaut@gmail.com>
parents:
3855
diff
changeset
|
3364 |
5147
c80af96943aa
refactor options from cmdtable
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
5125
diff
changeset
|
3365 commitopts2 = [ |
c80af96943aa
refactor options from cmdtable
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
5125
diff
changeset
|
3366 ('d', 'date', '', _('record datecode as commit date')), |
8313
b695392491e7
commit: be more verbose in the -u help text
Sverre Rabbelier <sverre@rabbelier.nl>
parents:
8312
diff
changeset
|
3367 ('u', 'user', '', _('record the specified user as committer')), |
5147
c80af96943aa
refactor options from cmdtable
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
5125
diff
changeset
|
3368 ] |
c80af96943aa
refactor options from cmdtable
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
5125
diff
changeset
|
3369 |
6192
cd65a67aff31
Introduce templateopts and logopts to reduce duplicate option definitions.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6191
diff
changeset
|
3370 templateopts = [ |
cd65a67aff31
Introduce templateopts and logopts to reduce duplicate option definitions.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6191
diff
changeset
|
3371 ('', 'style', '', _('display using template map file')), |
cd65a67aff31
Introduce templateopts and logopts to reduce duplicate option definitions.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6191
diff
changeset
|
3372 ('', 'template', '', _('display with template')), |
cd65a67aff31
Introduce templateopts and logopts to reduce duplicate option definitions.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6191
diff
changeset
|
3373 ] |
cd65a67aff31
Introduce templateopts and logopts to reduce duplicate option definitions.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6191
diff
changeset
|
3374 |
cd65a67aff31
Introduce templateopts and logopts to reduce duplicate option definitions.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6191
diff
changeset
|
3375 logopts = [ |
cd65a67aff31
Introduce templateopts and logopts to reduce duplicate option definitions.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6191
diff
changeset
|
3376 ('p', 'patch', None, _('show patch')), |
7763
cdc913e7fc5f
log-like commands now use -G for --graph, -g for --git
Jim Correia <jim.correia@pobox.com>
parents:
7762
diff
changeset
|
3377 ('g', 'git', None, _('use git extended diff format')), |
6192
cd65a67aff31
Introduce templateopts and logopts to reduce duplicate option definitions.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6191
diff
changeset
|
3378 ('l', 'limit', '', _('limit number of changes displayed')), |
cd65a67aff31
Introduce templateopts and logopts to reduce duplicate option definitions.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6191
diff
changeset
|
3379 ('M', 'no-merges', None, _('do not show merges')), |
cd65a67aff31
Introduce templateopts and logopts to reduce duplicate option definitions.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6191
diff
changeset
|
3380 ] + templateopts |
cd65a67aff31
Introduce templateopts and logopts to reduce duplicate option definitions.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6191
diff
changeset
|
3381 |
6668
034f444902d9
mq: qdiff: support all diffopts
Jason Orendorff <jorendorff@mozilla.com>
parents:
6658
diff
changeset
|
3382 diffopts = [ |
034f444902d9
mq: qdiff: support all diffopts
Jason Orendorff <jorendorff@mozilla.com>
parents:
6658
diff
changeset
|
3383 ('a', 'text', None, _('treat all files as text')), |
034f444902d9
mq: qdiff: support all diffopts
Jason Orendorff <jorendorff@mozilla.com>
parents:
6658
diff
changeset
|
3384 ('g', 'git', None, _('use git extended diff format')), |
10375
adf9505e8888
commands: Try to improve help options text for basic commands
timeless@mozdev.org
parents:
10369
diff
changeset
|
3385 ('', 'nodates', None, _('omit dates from diff headers')) |
6668
034f444902d9
mq: qdiff: support all diffopts
Jason Orendorff <jorendorff@mozilla.com>
parents:
6658
diff
changeset
|
3386 ] |
034f444902d9
mq: qdiff: support all diffopts
Jason Orendorff <jorendorff@mozilla.com>
parents:
6658
diff
changeset
|
3387 |
034f444902d9
mq: qdiff: support all diffopts
Jason Orendorff <jorendorff@mozilla.com>
parents:
6658
diff
changeset
|
3388 diffopts2 = [ |
034f444902d9
mq: qdiff: support all diffopts
Jason Orendorff <jorendorff@mozilla.com>
parents:
6658
diff
changeset
|
3389 ('p', 'show-function', None, _('show which function each change is in')), |
9857
24bc6e414610
diff: change --inverse to --reverse
Martin Geisler <mg@lazybytes.net>
parents:
9839
diff
changeset
|
3390 ('', 'reverse', None, _('produce a diff that undoes the changes')), |
6668
034f444902d9
mq: qdiff: support all diffopts
Jason Orendorff <jorendorff@mozilla.com>
parents:
6658
diff
changeset
|
3391 ('w', 'ignore-all-space', None, |
034f444902d9
mq: qdiff: support all diffopts
Jason Orendorff <jorendorff@mozilla.com>
parents:
6658
diff
changeset
|
3392 _('ignore white space when comparing lines')), |
034f444902d9
mq: qdiff: support all diffopts
Jason Orendorff <jorendorff@mozilla.com>
parents:
6658
diff
changeset
|
3393 ('b', 'ignore-space-change', None, |
034f444902d9
mq: qdiff: support all diffopts
Jason Orendorff <jorendorff@mozilla.com>
parents:
6658
diff
changeset
|
3394 _('ignore changes in the amount of white space')), |
034f444902d9
mq: qdiff: support all diffopts
Jason Orendorff <jorendorff@mozilla.com>
parents:
6658
diff
changeset
|
3395 ('B', 'ignore-blank-lines', None, |
034f444902d9
mq: qdiff: support all diffopts
Jason Orendorff <jorendorff@mozilla.com>
parents:
6658
diff
changeset
|
3396 _('ignore changes whose lines are all blank')), |
9640
9e76232fbfbe
diff: add --stat for diffstat output
Brodie Rao <me+hg@dackz.net>
parents:
9636
diff
changeset
|
3397 ('U', 'unified', '', _('number of lines of context to show')), |
9e76232fbfbe
diff: add --stat for diffstat output
Brodie Rao <me+hg@dackz.net>
parents:
9636
diff
changeset
|
3398 ('', 'stat', None, _('output diffstat-style summary of changes')), |
6668
034f444902d9
mq: qdiff: support all diffopts
Jason Orendorff <jorendorff@mozilla.com>
parents:
6658
diff
changeset
|
3399 ] |
034f444902d9
mq: qdiff: support all diffopts
Jason Orendorff <jorendorff@mozilla.com>
parents:
6658
diff
changeset
|
3400 |
7402
bffdab64dfbb
import: add similarity option (issue295)
Brendan Cully <brendan@kublai.com>
parents:
7372
diff
changeset
|
3401 similarityopts = [ |
bffdab64dfbb
import: add similarity option (issue295)
Brendan Cully <brendan@kublai.com>
parents:
7372
diff
changeset
|
3402 ('s', 'similarity', '', |
bffdab64dfbb
import: add similarity option (issue295)
Brendan Cully <brendan@kublai.com>
parents:
7372
diff
changeset
|
3403 _('guess renamed files by similarity (0<=s<=100)')) |
bffdab64dfbb
import: add similarity option (issue295)
Brendan Cully <brendan@kublai.com>
parents:
7372
diff
changeset
|
3404 ] |
bffdab64dfbb
import: add similarity option (issue295)
Brendan Cully <brendan@kublai.com>
parents:
7372
diff
changeset
|
3405 |
209 | 3406 table = { |
7364
ad7f736f3214
help: remove redundant 'hg <command>' from command synopses
Matt Mackall <mpm@selenic.com>
parents:
7361
diff
changeset
|
3407 "^add": (add, walkopts + dryrunopts, _('[OPTION]... [FILE]...')), |
2955
9d1c3529ebbc
addremove: do not deprecate.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2639
diff
changeset
|
3408 "addremove": |
7402
bffdab64dfbb
import: add similarity option (issue295)
Brendan Cully <brendan@kublai.com>
parents:
7372
diff
changeset
|
3409 (addremove, similarityopts + walkopts + dryrunopts, |
7364
ad7f736f3214
help: remove redundant 'hg <command>' from command synopses
Matt Mackall <mpm@selenic.com>
parents:
7361
diff
changeset
|
3410 _('[OPTION]... [FILE]...')), |
6182
07f2236c4dee
add a blame alias for annotate
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
6180
diff
changeset
|
3411 "^annotate|blame": |
697
cb1be2327220
Multiple cleanups of things detected by pylint.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
696
diff
changeset
|
3412 (annotate, |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
3413 [('r', 'rev', '', _('annotate the specified revision')), |
10369
98a0421b9e52
commands: annotate follows by default, separate -f/--file option
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
10365
diff
changeset
|
3414 ('', 'follow', None, _('follow copies and renames (DEPRECATED)')), |
98a0421b9e52
commands: annotate follows by default, separate -f/--file option
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
10365
diff
changeset
|
3415 ('', 'no-follow', None, _("don't follow 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
|
3416 ('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
|
3417 ('u', 'user', None, _('list the author (long with -v)')), |
10369
98a0421b9e52
commands: annotate follows by default, separate -f/--file option
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
10365
diff
changeset
|
3418 ('f', 'file', None, _('list the filename')), |
6134
7b937b26adf7
Make annotae/grep print short dates with -q/--quiet.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6133
diff
changeset
|
3419 ('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
|
3420 ('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
|
3421 ('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
|
3422 ('l', 'line-number', None, |
2192001e4bb4
Add --line-number option to hg annotate (issue506)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4849
diff
changeset
|
3423 _('show line number at the first appearance')) |
3188
725e3d3145d8
factor opts: walk options
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3187
diff
changeset
|
3424 ] + walkopts, |
7364
ad7f736f3214
help: remove redundant 'hg <command>' from command synopses
Matt Mackall <mpm@selenic.com>
parents:
7361
diff
changeset
|
3425 _('[-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
|
3426 "archive": |
2112
2b03c6733efa
add "archive" command, like "cvs export" only better.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2092
diff
changeset
|
3427 (archive, |
2b03c6733efa
add "archive" command, like "cvs export" only better.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2092
diff
changeset
|
3428 [('', '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
|
3429 ('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
|
3430 ('r', 'rev', '', _('revision to distribute')), |
2b03c6733efa
add "archive" command, like "cvs export" only better.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2092
diff
changeset
|
3431 ('t', 'type', '', _('type of distribution to create')), |
3188
725e3d3145d8
factor opts: walk options
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3187
diff
changeset
|
3432 ] + walkopts, |
7364
ad7f736f3214
help: remove redundant 'hg <command>' from command synopses
Matt Mackall <mpm@selenic.com>
parents:
7361
diff
changeset
|
3433 _('[OPTION]... DEST')), |
2159
5c34b98ad6b1
Small cleanups to backout command:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2158
diff
changeset
|
3434 "backout": |
2158
ec96c4518236
add backout command.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2153
diff
changeset
|
3435 (backout, |
2159
5c34b98ad6b1
Small cleanups to backout command:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2158
diff
changeset
|
3436 [('', 'merge', None, |
5c34b98ad6b1
Small cleanups to backout command:
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2158
diff
changeset
|
3437 _('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
|
3438 ('', '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
|
3439 ('r', 'rev', '', _('revision to backout')), |
5147
c80af96943aa
refactor options from cmdtable
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
5125
diff
changeset
|
3440 ] + walkopts + commitopts + commitopts2, |
7364
ad7f736f3214
help: remove redundant 'hg <command>' from command synopses
Matt Mackall <mpm@selenic.com>
parents:
7361
diff
changeset
|
3441 _('[OPTION]... [-r] REV')), |
5778
9e97a7a0bb82
realign commands table
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5776
diff
changeset
|
3442 "bisect": |
9e97a7a0bb82
realign commands table
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5776
diff
changeset
|
3443 (bisect, |
9e97a7a0bb82
realign commands table
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5776
diff
changeset
|
3444 [('r', 'reset', False, _('reset bisect state')), |
9e97a7a0bb82
realign commands table
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5776
diff
changeset
|
3445 ('g', 'good', False, _('mark changeset good')), |
9e97a7a0bb82
realign commands table
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5776
diff
changeset
|
3446 ('b', 'bad', False, _('mark changeset bad')), |
9e97a7a0bb82
realign commands table
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5776
diff
changeset
|
3447 ('s', 'skip', False, _('skip testing changeset')), |
7598 | 3448 ('c', 'command', '', _('use command to check changeset state')), |
5778
9e97a7a0bb82
realign commands table
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5776
diff
changeset
|
3449 ('U', 'noupdate', False, _('do not update to target'))], |
9952
5b149c88d9e8
commands: add missing options in command line help
timeless@mozdev.org
parents:
9951
diff
changeset
|
3450 _("[-gbsr] [-U] [-c CMD] [REV]")), |
4730
eadfaa9ec487
Updated command tables in commands.py and hgext extensions.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4726
diff
changeset
|
3451 "branch": |
eadfaa9ec487
Updated command tables in commands.py and hgext extensions.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4726
diff
changeset
|
3452 (branch, |
eadfaa9ec487
Updated command tables in commands.py and hgext extensions.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4726
diff
changeset
|
3453 [('f', 'force', None, |
7006
92d44ec32430
branch: added more support for named branches
Sune Foldager <cryo@cyanite.org>
parents:
7003
diff
changeset
|
3454 _('set branch name even if it shadows an existing branch')), |
92d44ec32430
branch: added more support for named branches
Sune Foldager <cryo@cyanite.org>
parents:
7003
diff
changeset
|
3455 ('C', 'clean', None, _('reset branch name to parent branch name'))], |
7364
ad7f736f3214
help: remove redundant 'hg <command>' from command synopses
Matt Mackall <mpm@selenic.com>
parents:
7361
diff
changeset
|
3456 _('[-fC] [NAME]')), |
4730
eadfaa9ec487
Updated command tables in commands.py and hgext extensions.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4726
diff
changeset
|
3457 "branches": |
eadfaa9ec487
Updated command tables in commands.py and hgext extensions.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4726
diff
changeset
|
3458 (branches, |
eadfaa9ec487
Updated command tables in commands.py and hgext extensions.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4726
diff
changeset
|
3459 [('a', 'active', False, |
8991
7e0b31dfc66f
branches: add --closed flag for consistency with heads
Matt Mackall <mpm@selenic.com>
parents:
8958
diff
changeset
|
3460 _('show only branches that have unmerged heads')), |
7e0b31dfc66f
branches: add --closed flag for consistency with heads
Matt Mackall <mpm@selenic.com>
parents:
8958
diff
changeset
|
3461 ('c', 'closed', False, |
9189
c2041f80f22a
heads: more clarity for --closed
Matt Mackall <mpm@selenic.com>
parents:
9188
diff
changeset
|
3462 _('show normal and closed branches'))], |
9952
5b149c88d9e8
commands: add missing options in command line help
timeless@mozdev.org
parents:
9951
diff
changeset
|
3463 _('[-ac]')), |
1218
cde6818e082a
Add preliminary support for the bundle and unbundle commands
mpm@selenic.com
parents:
1215
diff
changeset
|
3464 "bundle": |
cde6818e082a
Add preliminary support for the bundle and unbundle commands
mpm@selenic.com
parents:
1215
diff
changeset
|
3465 (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
|
3466 [('f', 'force', None, |
10375
adf9505e8888
commands: Try to improve help options text for basic commands
timeless@mozdev.org
parents:
10369
diff
changeset
|
3467 _('run even when the destination is unrelated')), |
3284
d89e98840b08
add -r/--rev and --base option to bundle
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3278
diff
changeset
|
3468 ('r', 'rev', [], |
10375
adf9505e8888
commands: Try to improve help options text for basic commands
timeless@mozdev.org
parents:
10369
diff
changeset
|
3469 _('a changeset intended to be added to the destination')), |
10379
a78bfaf988e1
add -b/--branch option to clone, bundle, incoming, outgoing, pull, push
Sune Foldager <cryo@cyanite.org>
parents:
10376
diff
changeset
|
3470 ('b', 'branch', [], |
a78bfaf988e1
add -b/--branch option to clone, bundle, incoming, outgoing, pull, push
Sune Foldager <cryo@cyanite.org>
parents:
10376
diff
changeset
|
3471 _('a specific branch you would like to bundle')), |
3284
d89e98840b08
add -r/--rev and --base option to bundle
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3278
diff
changeset
|
3472 ('', 'base', [], |
10375
adf9505e8888
commands: Try to improve help options text for basic commands
timeless@mozdev.org
parents:
10369
diff
changeset
|
3473 _('a base changeset assumed to be available at the destination')), |
6570
626cb86a6523
add compression type type parameter to bundle command
Benoit Allard <benoit@aeteurope.nl>
parents:
6518
diff
changeset
|
3474 ('a', 'all', None, _('bundle all changesets in the repository')), |
626cb86a6523
add compression type type parameter to bundle command
Benoit Allard <benoit@aeteurope.nl>
parents:
6518
diff
changeset
|
3475 ('t', 'type', 'bzip2', _('bundle compression type to use')), |
3191
545b6d718593
add remoteopts to bundle command
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3190
diff
changeset
|
3476 ] + remoteopts, |
9952
5b149c88d9e8
commands: add missing options in command line help
timeless@mozdev.org
parents:
9951
diff
changeset
|
3477 _('[-f] [-t TYPE] [-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
|
3478 "cat": |
cb1be2327220
Multiple cleanups of things detected by pylint.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
696
diff
changeset
|
3479 (cat, |
1816
08f4398bdb1a
Updated help synopsises and reordered some options. Dropped [-n] from revert.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1812
diff
changeset
|
3480 [('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
|
3481 ('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
|
3482 ('', 'decode', None, _('apply any matching decode filter')), |
3188
725e3d3145d8
factor opts: walk options
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3187
diff
changeset
|
3483 ] + walkopts, |
7364
ad7f736f3214
help: remove redundant 'hg <command>' from command synopses
Matt Mackall <mpm@selenic.com>
parents:
7361
diff
changeset
|
3484 _('[OPTION]... FILE...')), |
697
cb1be2327220
Multiple cleanups of things detected by pylint.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
696
diff
changeset
|
3485 "^clone": |
cb1be2327220
Multiple cleanups of things detected by pylint.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
696
diff
changeset
|
3486 (clone, |
6625
4d3a60d5c490
improve help text for clone -U
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
6620
diff
changeset
|
3487 [('U', 'noupdate', None, |
10375
adf9505e8888
commands: Try to improve help options text for basic commands
timeless@mozdev.org
parents:
10369
diff
changeset
|
3488 _('the clone will include an empty working copy (only a repository)')), |
9714
2f1ab7f77ddc
clone: add option -u/--updaterev
Adrian Buehlmann <adrian@cadifra.com>
parents:
9698
diff
changeset
|
3489 ('u', 'updaterev', '', |
2f1ab7f77ddc
clone: add option -u/--updaterev
Adrian Buehlmann <adrian@cadifra.com>
parents:
9698
diff
changeset
|
3490 _('revision, tag or branch to check out')), |
1602
fb4149eebdd4
strictly adher to 80 chars per line
Muli Ben-Yehuda <mulix@mulix.org>
parents:
1601
diff
changeset
|
3491 ('r', 'rev', [], |
10375
adf9505e8888
commands: Try to improve help options text for basic commands
timeless@mozdev.org
parents:
10369
diff
changeset
|
3492 _('include the specified changeset')), |
10379
a78bfaf988e1
add -b/--branch option to clone, bundle, incoming, outgoing, pull, push
Sune Foldager <cryo@cyanite.org>
parents:
10376
diff
changeset
|
3493 ('b', 'branch', [], |
a78bfaf988e1
add -b/--branch option to clone, bundle, incoming, outgoing, pull, push
Sune Foldager <cryo@cyanite.org>
parents:
10376
diff
changeset
|
3494 _('clone only the specified branch')), |
1816
08f4398bdb1a
Updated help synopsises and reordered some options. Dropped [-n] from revert.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1812
diff
changeset
|
3495 ('', '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
|
3496 ('', 'uncompressed', None, |
de82749d3a71
clone: change name of --stream to --uncompressed.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2618
diff
changeset
|
3497 _('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
|
3498 ] + remoteopts, |
7364
ad7f736f3214
help: remove redundant 'hg <command>' from command synopses
Matt Mackall <mpm@selenic.com>
parents:
7361
diff
changeset
|
3499 _('[OPTION]... SOURCE [DEST]')), |
697
cb1be2327220
Multiple cleanups of things detected by pylint.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
696
diff
changeset
|
3500 "^commit|ci": |
cb1be2327220
Multiple cleanups of things detected by pylint.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
696
diff
changeset
|
3501 (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
|
3502 [('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
|
3503 _('mark new/missing files as added/removed before committing')), |
7655
cce37dab7ad6
branch closing: mark closed branches with a 'close' extra
John Mulligan <phlogistonjohn@asynchrono.us>
parents:
7643
diff
changeset
|
3504 ('', 'close-branch', None, |
cce37dab7ad6
branch closing: mark closed branches with a 'close' extra
John Mulligan <phlogistonjohn@asynchrono.us>
parents:
7643
diff
changeset
|
3505 _('mark a branch as closed, hiding it from the branch list')), |
5147
c80af96943aa
refactor options from cmdtable
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
5125
diff
changeset
|
3506 ] + walkopts + commitopts + commitopts2, |
7364
ad7f736f3214
help: remove redundant 'hg <command>' from command synopses
Matt Mackall <mpm@selenic.com>
parents:
7361
diff
changeset
|
3507 _('[OPTION]... [FILE]...')), |
1615
83238c1db6de
Cleanup of indentation, spacing, newlines, strings and line length
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1607
diff
changeset
|
3508 "copy|cp": |
83238c1db6de
Cleanup of indentation, spacing, newlines, strings and line length
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1607
diff
changeset
|
3509 (copy, |
1816
08f4398bdb1a
Updated help synopsises and reordered some options. Dropped [-n] from revert.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1812
diff
changeset
|
3510 [('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
|
3511 ('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
|
3512 _('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
|
3513 ] + walkopts + dryrunopts, |
7364
ad7f736f3214
help: remove redundant 'hg <command>' from command synopses
Matt Mackall <mpm@selenic.com>
parents:
7361
diff
changeset
|
3514 _('[OPTION]... [SOURCE]... DEST')), |
ad7f736f3214
help: remove redundant 'hg <command>' from command synopses
Matt Mackall <mpm@selenic.com>
parents:
7361
diff
changeset
|
3515 "debugancestor": (debugancestor, [], _('[INDEX] REV1 REV2')), |
9604
fcc85abc762e
commands: fix missing empty synopses
Matt Mackall <mpm@selenic.com>
parents:
9603
diff
changeset
|
3516 "debugcheckstate": (debugcheckstate, [], ''), |
7880
7ca2be800804
add debugcommands command: an easy to parse command + option index
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
7875
diff
changeset
|
3517 "debugcommands": (debugcommands, [], _('[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
|
3518 "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
|
3519 (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
|
3520 [('o', 'options', None, _('show the command options'))], |
7364
ad7f736f3214
help: remove redundant 'hg <command>' from command synopses
Matt Mackall <mpm@selenic.com>
parents:
7361
diff
changeset
|
3521 _('[-o] CMD')), |
5781
45d034c79ece
Sort commands table again and add some missing 'hg' in synopsises.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5778
diff
changeset
|
3522 "debugdate": |
45d034c79ece
Sort commands table again and add some missing 'hg' in synopsises.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5778
diff
changeset
|
3523 (debugdate, |
45d034c79ece
Sort commands table again and add some missing 'hg' in synopsises.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5778
diff
changeset
|
3524 [('e', 'extended', None, _('try extended date formats'))], |
7364
ad7f736f3214
help: remove redundant 'hg <command>' from command synopses
Matt Mackall <mpm@selenic.com>
parents:
7361
diff
changeset
|
3525 _('[-e] DATE [RANGE]')), |
ad7f736f3214
help: remove redundant 'hg <command>' from command synopses
Matt Mackall <mpm@selenic.com>
parents:
7361
diff
changeset
|
3526 "debugdata": (debugdata, [], _('FILE REV')), |
ad7f736f3214
help: remove redundant 'hg <command>' from command synopses
Matt Mackall <mpm@selenic.com>
parents:
7361
diff
changeset
|
3527 "debugfsinfo": (debugfsinfo, [], _('[PATH]')), |
ad7f736f3214
help: remove redundant 'hg <command>' from command synopses
Matt Mackall <mpm@selenic.com>
parents:
7361
diff
changeset
|
3528 "debugindex": (debugindex, [], _('FILE')), |
ad7f736f3214
help: remove redundant 'hg <command>' from command synopses
Matt Mackall <mpm@selenic.com>
parents:
7361
diff
changeset
|
3529 "debugindexdot": (debugindexdot, [], _('FILE')), |
9604
fcc85abc762e
commands: fix missing empty synopses
Matt Mackall <mpm@selenic.com>
parents:
9603
diff
changeset
|
3530 "debuginstall": (debuginstall, [], ''), |
1755
a8f7791e3680
add 'debugrebuildstate' to rebuild the dirstate from a given revision
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1754
diff
changeset
|
3531 "debugrebuildstate": |
a8f7791e3680
add 'debugrebuildstate' to rebuild the dirstate from a given revision
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1754
diff
changeset
|
3532 (debugrebuildstate, |
1816
08f4398bdb1a
Updated help synopsises and reordered some options. Dropped [-n] from revert.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1812
diff
changeset
|
3533 [('r', 'rev', '', _('revision to rebuild to'))], |
7364
ad7f736f3214
help: remove redundant 'hg <command>' from command synopses
Matt Mackall <mpm@selenic.com>
parents:
7361
diff
changeset
|
3534 _('[-r REV] [REV]')), |
4730
eadfaa9ec487
Updated command tables in commands.py and hgext extensions.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4726
diff
changeset
|
3535 "debugrename": |
eadfaa9ec487
Updated command tables in commands.py and hgext extensions.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4726
diff
changeset
|
3536 (debugrename, |
eadfaa9ec487
Updated command tables in commands.py and hgext extensions.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4726
diff
changeset
|
3537 [('r', 'rev', '', _('revision to debug'))], |
7364
ad7f736f3214
help: remove redundant 'hg <command>' from command synopses
Matt Mackall <mpm@selenic.com>
parents:
7361
diff
changeset
|
3538 _('[-r REV] FILE')), |
5781
45d034c79ece
Sort commands table again and add some missing 'hg' in synopsises.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5778
diff
changeset
|
3539 "debugsetparents": |
7364
ad7f736f3214
help: remove redundant 'hg <command>' from command synopses
Matt Mackall <mpm@selenic.com>
parents:
7361
diff
changeset
|
3540 (debugsetparents, [], _('REV1 [REV2]')), |
6296
a9e6b8875805
debugstate: add --nodates
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6276
diff
changeset
|
3541 "debugstate": |
a9e6b8875805
debugstate: add --nodates
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6276
diff
changeset
|
3542 (debugstate, |
a9e6b8875805
debugstate: add --nodates
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
6276
diff
changeset
|
3543 [('', 'nodates', None, _('do not display the saved mtime'))], |
7364
ad7f736f3214
help: remove redundant 'hg <command>' from command synopses
Matt Mackall <mpm@selenic.com>
parents:
7361
diff
changeset
|
3544 _('[OPTION]...')), |
8812
859f841937d0
subrepo: introduce basic state parsing
Matt Mackall <mpm@selenic.com>
parents:
8810
diff
changeset
|
3545 "debugsub": |
859f841937d0
subrepo: introduce basic state parsing
Matt Mackall <mpm@selenic.com>
parents:
8810
diff
changeset
|
3546 (debugsub, |
859f841937d0
subrepo: introduce basic state parsing
Matt Mackall <mpm@selenic.com>
parents:
8810
diff
changeset
|
3547 [('r', 'rev', '', _('revision to check'))], |
859f841937d0
subrepo: introduce basic state parsing
Matt Mackall <mpm@selenic.com>
parents:
8810
diff
changeset
|
3548 _('[-r REV] [REV]')), |
7364
ad7f736f3214
help: remove redundant 'hg <command>' from command synopses
Matt Mackall <mpm@selenic.com>
parents:
7361
diff
changeset
|
3549 "debugwalk": (debugwalk, walkopts, _('[OPTION]... [FILE]...')), |
697
cb1be2327220
Multiple cleanups of things detected by pylint.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
696
diff
changeset
|
3550 "^diff": |
cb1be2327220
Multiple cleanups of things detected by pylint.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
696
diff
changeset
|
3551 (diff, |
7628
9c6ae2e09e11
diff: add --change option to display single changeset diff (issue1420)
Stepan Koltsov <yozh@mx1.ru>
parents:
7622
diff
changeset
|
3552 [('r', 'rev', [], _('revision')), |
9c6ae2e09e11
diff: add --change option to display single changeset diff (issue1420)
Stepan Koltsov <yozh@mx1.ru>
parents:
7622
diff
changeset
|
3553 ('c', 'change', '', _('change made by revision')) |
6668
034f444902d9
mq: qdiff: support all diffopts
Jason Orendorff <jorendorff@mozilla.com>
parents:
6658
diff
changeset
|
3554 ] + diffopts + diffopts2 + walkopts, |
7364
ad7f736f3214
help: remove redundant 'hg <command>' from command synopses
Matt Mackall <mpm@selenic.com>
parents:
7361
diff
changeset
|
3555 _('[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
|
3556 "^export": |
cb1be2327220
Multiple cleanups of things detected by pylint.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
696
diff
changeset
|
3557 (export, |
1615
83238c1db6de
Cleanup of indentation, spacing, newlines, strings and line length
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1607
diff
changeset
|
3558 [('o', 'output', '', _('print output to file with formatted name')), |
10015
b5f352f33520
commands.export: accept -r option as revision specification
Alexander Solovyov <piranha@piranha.org.ua>
parents:
10014
diff
changeset
|
3559 ('', 'switch-parent', None, _('diff against the second parent')), |
b5f352f33520
commands.export: accept -r option as revision specification
Alexander Solovyov <piranha@piranha.org.ua>
parents:
10014
diff
changeset
|
3560 ('r', 'rev', [], _('revisions to export')), |
6668
034f444902d9
mq: qdiff: support all diffopts
Jason Orendorff <jorendorff@mozilla.com>
parents:
6658
diff
changeset
|
3561 ] + diffopts, |
7364
ad7f736f3214
help: remove redundant 'hg <command>' from command synopses
Matt Mackall <mpm@selenic.com>
parents:
7361
diff
changeset
|
3562 _('[OPTION]... [-o OUTFILESPEC] REV...')), |
8902
b9a8b616521d
Add a forget command for easily untracking files.
Steve Losh <steve@stevelosh.com>
parents:
8879
diff
changeset
|
3563 "^forget": |
b9a8b616521d
Add a forget command for easily untracking files.
Steve Losh <steve@stevelosh.com>
parents:
8879
diff
changeset
|
3564 (forget, |
b9a8b616521d
Add a forget command for easily untracking files.
Steve Losh <steve@stevelosh.com>
parents:
8879
diff
changeset
|
3565 [] + walkopts, |
b9a8b616521d
Add a forget command for easily untracking files.
Steve Losh <steve@stevelosh.com>
parents:
8879
diff
changeset
|
3566 _('[OPTION]... FILE...')), |
1065
6e94c0365d98
Cleanups to commands.py
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1062
diff
changeset
|
3567 "grep": |
6e94c0365d98
Cleanups to commands.py
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1062
diff
changeset
|
3568 (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
|
3569 [('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
|
3570 ('', 'all', None, _('print all revisions that match')), |
2870
8eaaf1321bfe
grep: add --follow support.
Brendan Cully <brendan@kublai.com>
parents:
2869
diff
changeset
|
3571 ('f', 'follow', None, |
10282
08a0f04b56bd
many, many trivial check-code fixups
Matt Mackall <mpm@selenic.com>
parents:
10270
diff
changeset
|
3572 _('follow changeset history,' |
08a0f04b56bd
many, many trivial check-code fixups
Matt Mackall <mpm@selenic.com>
parents:
10270
diff
changeset
|
3573 ' 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
|
3574 ('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
|
3575 ('l', 'files-with-matches', None, |
8028
3aaca5901ade
expand "rev" to "revision" in help texts
Martin Geisler <mg@lazybytes.net>
parents:
8027
diff
changeset
|
3576 _('print only filenames and revisions that match')), |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
3577 ('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
|
3578 ('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
|
3579 ('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
|
3580 ('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
|
3581 ] + walkopts, |
7364
ad7f736f3214
help: remove redundant 'hg <command>' from command synopses
Matt Mackall <mpm@selenic.com>
parents:
7361
diff
changeset
|
3582 _('[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
|
3583 "heads": |
65763ff9fa53
Update online help of hg heads for new --branches option.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
904
diff
changeset
|
3584 (heads, |
8031
813a02a4eda2
upper-case command line meta variables
Martin Geisler <mg@lazybytes.net>
parents:
8029
diff
changeset
|
3585 [('r', 'rev', '', _('show only heads which are descendants of REV')), |
10350
fd511e9eeea6
commands: do all branch heads by default, demote topological to -t/--topo
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
10349
diff
changeset
|
3586 ('t', 'topo', False, _('show topological heads only')), |
7656
6a24fb994701
branch closing: referencing open and closed branches/heads
John Mulligan <phlogistonjohn@asynchrono.us>
parents:
7655
diff
changeset
|
3587 ('a', 'active', False, |
10326
8b90e2966219
commands: deprecate the heads -a option
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
10316
diff
changeset
|
3588 _('show active branchheads only [DEPRECATED]')), |
8695
9a89253a32e6
heads: show closed heads only when --closed is passed
John Mulligan <phlogistonjohn@asynchrono.us>
parents:
8679
diff
changeset
|
3589 ('c', 'closed', False, |
9189
c2041f80f22a
heads: more clarity for --closed
Matt Mackall <mpm@selenic.com>
parents:
9188
diff
changeset
|
3590 _('show normal and closed branch heads')), |
6192
cd65a67aff31
Introduce templateopts and logopts to reduce duplicate option definitions.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6191
diff
changeset
|
3591 ] + templateopts, |
9952
5b149c88d9e8
commands: add missing options in command line help
timeless@mozdev.org
parents:
9951
diff
changeset
|
3592 _('[-ac] [-r STARTREV] [REV]...')), |
7364
ad7f736f3214
help: remove redundant 'hg <command>' from command synopses
Matt Mackall <mpm@selenic.com>
parents:
7361
diff
changeset
|
3593 "help": (help_, [], _('[TOPIC]')), |
4665
091c9e54d306
identify: accept a revision argument
Matt Mackall <mpm@selenic.com>
parents:
4664
diff
changeset
|
3594 "identify|id": |
091c9e54d306
identify: accept a revision argument
Matt Mackall <mpm@selenic.com>
parents:
4664
diff
changeset
|
3595 (identify, |
8028
3aaca5901ade
expand "rev" to "revision" in help texts
Martin Geisler <mg@lazybytes.net>
parents:
8027
diff
changeset
|
3596 [('r', 'rev', '', _('identify the specified revision')), |
4666
48c94bffdb28
identify: add support for output flags
Matt Mackall <mpm@selenic.com>
parents:
4665
diff
changeset
|
3597 ('n', 'num', None, _('show local revision number')), |
48c94bffdb28
identify: add support for output flags
Matt Mackall <mpm@selenic.com>
parents:
4665
diff
changeset
|
3598 ('i', 'id', None, _('show global revision id')), |
48c94bffdb28
identify: add support for output flags
Matt Mackall <mpm@selenic.com>
parents:
4665
diff
changeset
|
3599 ('b', 'branch', None, _('show branch')), |
48c94bffdb28
identify: add support for output flags
Matt Mackall <mpm@selenic.com>
parents:
4665
diff
changeset
|
3600 ('t', 'tags', None, _('show tags'))], |
7364
ad7f736f3214
help: remove redundant 'hg <command>' from command synopses
Matt Mackall <mpm@selenic.com>
parents:
7361
diff
changeset
|
3601 _('[-nibt] [-r REV] [SOURCE]')), |
697
cb1be2327220
Multiple cleanups of things detected by pylint.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
696
diff
changeset
|
3602 "import|patch": |
cb1be2327220
Multiple cleanups of things detected by pylint.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
696
diff
changeset
|
3603 (import_, |
1602
fb4149eebdd4
strictly adher to 80 chars per line
Muli Ben-Yehuda <mulix@mulix.org>
parents:
1601
diff
changeset
|
3604 [('p', 'strip', 1, |
8038
2ee6769afe82
commands: removed bad linebreak in import help
Martin Geisler <mg@lazybytes.net>
parents:
8034
diff
changeset
|
3605 _('directory strip option for patch. This has the same ' |
2125
3610d9468b1e
Use string literal concatenation for optlist and import -p option
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2124
diff
changeset
|
3606 'meaning as the corresponding patch option')), |
3876
1e0b94cfba0e
Remove deprecated old-style branch support
Matt Mackall <mpm@selenic.com>
parents:
3862
diff
changeset
|
3607 ('b', 'base', '', _('base path')), |
1602
fb4149eebdd4
strictly adher to 80 chars per line
Muli Ben-Yehuda <mulix@mulix.org>
parents:
1601
diff
changeset
|
3608 ('f', 'force', None, |
4263 | 3609 _('skip check for outstanding uncommitted changes')), |
10282
08a0f04b56bd
many, many trivial check-code fixups
Matt Mackall <mpm@selenic.com>
parents:
10270
diff
changeset
|
3610 ('', 'no-commit', None, |
08a0f04b56bd
many, many trivial check-code fixups
Matt Mackall <mpm@selenic.com>
parents:
10270
diff
changeset
|
3611 _("don't commit, just update the working directory")), |
4263 | 3612 ('', '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
|
3613 _('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
|
3614 ('', 'import-branch', None, |
8034
15725dbc900f
commands: lower-case --import-branch help text
Martin Geisler <mg@lazybytes.net>
parents:
8033
diff
changeset
|
3615 _('use any branch information in patch (implied by --exact)'))] + |
7402
bffdab64dfbb
import: add similarity option (issue295)
Brendan Cully <brendan@kublai.com>
parents:
7372
diff
changeset
|
3616 commitopts + commitopts2 + similarityopts, |
7364
ad7f736f3214
help: remove redundant 'hg <command>' from command synopses
Matt Mackall <mpm@selenic.com>
parents:
7361
diff
changeset
|
3617 _('[OPTION]... PATCH...')), |
5778
9e97a7a0bb82
realign commands table
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5776
diff
changeset
|
3618 "incoming|in": |
9e97a7a0bb82
realign commands table
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5776
diff
changeset
|
3619 (incoming, |
6192
cd65a67aff31
Introduce templateopts and logopts to reduce duplicate option definitions.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6191
diff
changeset
|
3620 [('f', 'force', None, |
10375
adf9505e8888
commands: Try to improve help options text for basic commands
timeless@mozdev.org
parents:
10369
diff
changeset
|
3621 _('run even if remote repository is unrelated')), |
1907
7718885070b1
let commands that show changesets use templates.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1800
diff
changeset
|
3622 ('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
|
3623 ('', 'bundle', '', _('file to store the bundles into')), |
6304
d99b4e8652b3
Make clear that for a changegroup '-r' pulls "up to" a revision
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
6299
diff
changeset
|
3624 ('r', 'rev', [], |
10375
adf9505e8888
commands: Try to improve help options text for basic commands
timeless@mozdev.org
parents:
10369
diff
changeset
|
3625 _('a remote changeset intended to be added')), |
10379
a78bfaf988e1
add -b/--branch option to clone, bundle, incoming, outgoing, pull, push
Sune Foldager <cryo@cyanite.org>
parents:
10376
diff
changeset
|
3626 ('b', 'branch', [], |
a78bfaf988e1
add -b/--branch option to clone, bundle, incoming, outgoing, pull, push
Sune Foldager <cryo@cyanite.org>
parents:
10376
diff
changeset
|
3627 _('a specific branch you would like to pull')), |
6192
cd65a67aff31
Introduce templateopts and logopts to reduce duplicate option definitions.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6191
diff
changeset
|
3628 ] + logopts + remoteopts, |
7364
ad7f736f3214
help: remove redundant 'hg <command>' from command synopses
Matt Mackall <mpm@selenic.com>
parents:
7361
diff
changeset
|
3629 _('[-p] [-n] [-M] [-f] [-r REV]...' |
2544
0ab63318bc36
Added missing space in continued string.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2521
diff
changeset
|
3630 ' [--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
|
3631 "^init": |
3885
6081b4c68baf
Corrected synopsis for many commands.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3862
diff
changeset
|
3632 (init, |
6081b4c68baf
Corrected synopsis for many commands.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3862
diff
changeset
|
3633 remoteopts, |
7364
ad7f736f3214
help: remove redundant 'hg <command>' from command synopses
Matt Mackall <mpm@selenic.com>
parents:
7361
diff
changeset
|
3634 _('[-e CMD] [--remotecmd CMD] [DEST]')), |
697
cb1be2327220
Multiple cleanups of things detected by pylint.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
696
diff
changeset
|
3635 "locate": |
cb1be2327220
Multiple cleanups of things detected by pylint.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
696
diff
changeset
|
3636 (locate, |
10375
adf9505e8888
commands: Try to improve help options text for basic commands
timeless@mozdev.org
parents:
10369
diff
changeset
|
3637 [('r', 'rev', '', _('search the repository as it is in REV')), |
1602
fb4149eebdd4
strictly adher to 80 chars per line
Muli Ben-Yehuda <mulix@mulix.org>
parents:
1601
diff
changeset
|
3638 ('0', 'print0', None, |
fb4149eebdd4
strictly adher to 80 chars per line
Muli Ben-Yehuda <mulix@mulix.org>
parents:
1601
diff
changeset
|
3639 _('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
|
3640 ('f', 'fullpath', None, |
fb4149eebdd4
strictly adher to 80 chars per line
Muli Ben-Yehuda <mulix@mulix.org>
parents:
1601
diff
changeset
|
3641 _('print complete paths from the filesystem root')), |
3188
725e3d3145d8
factor opts: walk options
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3187
diff
changeset
|
3642 ] + walkopts, |
7364
ad7f736f3214
help: remove redundant 'hg <command>' from command synopses
Matt Mackall <mpm@selenic.com>
parents:
7361
diff
changeset
|
3643 _('[OPTION]... [PATTERN]...')), |
697
cb1be2327220
Multiple cleanups of things detected by pylint.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
696
diff
changeset
|
3644 "^log|history": |
cb1be2327220
Multiple cleanups of things detected by pylint.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
696
diff
changeset
|
3645 (log, |
3876
1e0b94cfba0e
Remove deprecated old-style branch support
Matt Mackall <mpm@selenic.com>
parents:
3862
diff
changeset
|
3646 [('f', 'follow', None, |
10282
08a0f04b56bd
many, many trivial check-code fixups
Matt Mackall <mpm@selenic.com>
parents:
10270
diff
changeset
|
3647 _('follow changeset history,' |
08a0f04b56bd
many, many trivial check-code fixups
Matt Mackall <mpm@selenic.com>
parents:
10270
diff
changeset
|
3648 ' 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
|
3649 ('', '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
|
3650 _('only follow the first parent of merge changesets')), |
8028
3aaca5901ade
expand "rev" to "revision" in help texts
Martin Geisler <mg@lazybytes.net>
parents:
8027
diff
changeset
|
3651 ('d', 'date', '', _('show revisions matching date spec')), |
3197 | 3652 ('C', 'copies', None, _('show copied files')), |
4324
cd650cd61b06
help: log --keyword is case-insensitive
TK Soh <teekaysoh@yahoo.com>
parents:
4322
diff
changeset
|
3653 ('k', 'keyword', [], _('do case-insensitive search for a keyword')), |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
3654 ('r', 'rev', [], _('show the specified revision or range')), |
8028
3aaca5901ade
expand "rev" to "revision" in help texts
Martin Geisler <mg@lazybytes.net>
parents:
8027
diff
changeset
|
3655 ('', 'removed', None, _('include revisions 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
|
3656 ('m', 'only-merges', None, _('show only merges')), |
8028
3aaca5901ade
expand "rev" to "revision" in help texts
Martin Geisler <mg@lazybytes.net>
parents:
8027
diff
changeset
|
3657 ('u', 'user', [], _('revisions committed by user')), |
6067
57c1a7052982
Option to log to only show changesets within a specified branch.
Dustin Sallings <dustin@spy.net>
parents:
6048
diff
changeset
|
3658 ('b', 'only-branch', [], |
57c1a7052982
Option to log to only show changesets within a specified branch.
Dustin Sallings <dustin@spy.net>
parents:
6048
diff
changeset
|
3659 _('show only changesets within the given named branch')), |
10282
08a0f04b56bd
many, many trivial check-code fixups
Matt Mackall <mpm@selenic.com>
parents:
10270
diff
changeset
|
3660 ('P', 'prune', [], |
08a0f04b56bd
many, many trivial check-code fixups
Matt Mackall <mpm@selenic.com>
parents:
10270
diff
changeset
|
3661 _('do not display revision or any of its ancestors')), |
6192
cd65a67aff31
Introduce templateopts and logopts to reduce duplicate option definitions.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6191
diff
changeset
|
3662 ] + logopts + walkopts, |
7364
ad7f736f3214
help: remove redundant 'hg <command>' from command synopses
Matt Mackall <mpm@selenic.com>
parents:
7361
diff
changeset
|
3663 _('[OPTION]... [FILE]')), |
5778
9e97a7a0bb82
realign commands table
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5776
diff
changeset
|
3664 "manifest": |
9e97a7a0bb82
realign commands table
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5776
diff
changeset
|
3665 (manifest, |
9e97a7a0bb82
realign commands table
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5776
diff
changeset
|
3666 [('r', 'rev', '', _('revision to display'))], |
7364
ad7f736f3214
help: remove redundant 'hg <command>' from command synopses
Matt Mackall <mpm@selenic.com>
parents:
7361
diff
changeset
|
3667 _('[-r REV]')), |
4014
509342f95564
various doc fixes
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
4013
diff
changeset
|
3668 "^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
|
3669 (merge, |
4450
8fa54b9c6c5a
accept -r REV in more places
Daniel Holth <dholth@fastmail.fm>
parents:
4445
diff
changeset
|
3670 [('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
|
3671 ('r', 'rev', '', _('revision to merge')), |
8834
6d36fc70754e
merge: rename -S/--show option to -P/--preview
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
8815
diff
changeset
|
3672 ('P', 'preview', None, |
8387
50b6af595e0c
merge: add -S/--show option to review revisions without merging
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
8366
diff
changeset
|
3673 _('review revisions to merge (no merge is performed)'))], |
9952
5b149c88d9e8
commands: add missing options in command line help
timeless@mozdev.org
parents:
9951
diff
changeset
|
3674 _('[-P] [-f] [[-r] REV]')), |
5778
9e97a7a0bb82
realign commands table
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5776
diff
changeset
|
3675 "outgoing|out": |
9e97a7a0bb82
realign commands table
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5776
diff
changeset
|
3676 (outgoing, |
6192
cd65a67aff31
Introduce templateopts and logopts to reduce duplicate option definitions.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6191
diff
changeset
|
3677 [('f', 'force', None, |
10375
adf9505e8888
commands: Try to improve help options text for basic commands
timeless@mozdev.org
parents:
10369
diff
changeset
|
3678 _('run even when the destination is unrelated')), |
6304
d99b4e8652b3
Make clear that for a changegroup '-r' pulls "up to" a revision
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
6299
diff
changeset
|
3679 ('r', 'rev', [], |
10375
adf9505e8888
commands: Try to improve help options text for basic commands
timeless@mozdev.org
parents:
10369
diff
changeset
|
3680 _('a changeset intended to be included in the destination')), |
1907
7718885070b1
let commands that show changesets use templates.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1800
diff
changeset
|
3681 ('n', 'newest-first', None, _('show newest record first')), |
10379
a78bfaf988e1
add -b/--branch option to clone, bundle, incoming, outgoing, pull, push
Sune Foldager <cryo@cyanite.org>
parents:
10376
diff
changeset
|
3682 ('b', 'branch', [], |
a78bfaf988e1
add -b/--branch option to clone, bundle, incoming, outgoing, pull, push
Sune Foldager <cryo@cyanite.org>
parents:
10376
diff
changeset
|
3683 _('a specific branch you would like to push')), |
6192
cd65a67aff31
Introduce templateopts and logopts to reduce duplicate option definitions.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6191
diff
changeset
|
3684 ] + logopts + remoteopts, |
7364
ad7f736f3214
help: remove redundant 'hg <command>' from command synopses
Matt Mackall <mpm@selenic.com>
parents:
7361
diff
changeset
|
3685 _('[-M] [-p] [-n] [-f] [-r REV]... [DEST]')), |
9606
69f8ac71ded1
Remove parents from default help in favor of summary
Matt Mackall <mpm@selenic.com>
parents:
9605
diff
changeset
|
3686 "parents": |
1724
5a36609f73a7
add a -b/--branch option to 'hg parents'
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1720
diff
changeset
|
3687 (parents, |
10375
adf9505e8888
commands: Try to improve help options text for basic commands
timeless@mozdev.org
parents:
10369
diff
changeset
|
3688 [('r', 'rev', '', _('show parents of the specified revision')), |
6192
cd65a67aff31
Introduce templateopts and logopts to reduce duplicate option definitions.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6191
diff
changeset
|
3689 ] + templateopts, |
8544
48dd8a93d6db
commands: standardize parents command meta data
Ori Avtalion <ori@avtalion.name>
parents:
8540
diff
changeset
|
3690 _('[-r REV] [FILE]')), |
7364
ad7f736f3214
help: remove redundant 'hg <command>' from command synopses
Matt Mackall <mpm@selenic.com>
parents:
7361
diff
changeset
|
3691 "paths": (paths, [], _('[NAME]')), |
697
cb1be2327220
Multiple cleanups of things detected by pylint.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
696
diff
changeset
|
3692 "^pull": |
cb1be2327220
Multiple cleanups of things detected by pylint.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
696
diff
changeset
|
3693 (pull, |
1602
fb4149eebdd4
strictly adher to 80 chars per line
Muli Ben-Yehuda <mulix@mulix.org>
parents:
1601
diff
changeset
|
3694 [('u', 'update', None, |
10210
43f8abcec42d
commands: fix help string for pull -u and unbundle -u.
Greg Ward <greg-hg@gerg.ca>
parents:
10206
diff
changeset
|
3695 _('update to new branch head 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
|
3696 ('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
|
3697 _('run even when remote repository is unrelated')), |
3885
6081b4c68baf
Corrected synopsis for many commands.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
3862
diff
changeset
|
3698 ('r', 'rev', [], |
10375
adf9505e8888
commands: Try to improve help options text for basic commands
timeless@mozdev.org
parents:
10369
diff
changeset
|
3699 _('a remote changeset intended to be added')), |
10379
a78bfaf988e1
add -b/--branch option to clone, bundle, incoming, outgoing, pull, push
Sune Foldager <cryo@cyanite.org>
parents:
10376
diff
changeset
|
3700 ('b', 'branch', [], |
a78bfaf988e1
add -b/--branch option to clone, bundle, incoming, outgoing, pull, push
Sune Foldager <cryo@cyanite.org>
parents:
10376
diff
changeset
|
3701 _('a specific branch you would like to pull')), |
3190
37b53487c341
factor opts: remote repo access options
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3189
diff
changeset
|
3702 ] + remoteopts, |
7364
ad7f736f3214
help: remove redundant 'hg <command>' from command synopses
Matt Mackall <mpm@selenic.com>
parents:
7361
diff
changeset
|
3703 _('[-u] [-f] [-r REV]... [-e CMD] [--remotecmd CMD] [SOURCE]')), |
818 | 3704 "^push": |
3705 (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
|
3706 [('f', 'force', None, _('force push')), |
6304
d99b4e8652b3
Make clear that for a changegroup '-r' pulls "up to" a revision
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
6299
diff
changeset
|
3707 ('r', 'rev', [], |
10375
adf9505e8888
commands: Try to improve help options text for basic commands
timeless@mozdev.org
parents:
10369
diff
changeset
|
3708 _('a changeset intended to be included in the destination')), |
10379
a78bfaf988e1
add -b/--branch option to clone, bundle, incoming, outgoing, pull, push
Sune Foldager <cryo@cyanite.org>
parents:
10376
diff
changeset
|
3709 ('b', 'branch', [], |
a78bfaf988e1
add -b/--branch option to clone, bundle, incoming, outgoing, pull, push
Sune Foldager <cryo@cyanite.org>
parents:
10376
diff
changeset
|
3710 _('a specific branch you would like to push')), |
3190
37b53487c341
factor opts: remote repo access options
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3189
diff
changeset
|
3711 ] + remoteopts, |
7364
ad7f736f3214
help: remove redundant 'hg <command>' from command synopses
Matt Mackall <mpm@selenic.com>
parents:
7361
diff
changeset
|
3712 _('[-f] [-r REV]... [-e CMD] [--remotecmd CMD] [DEST]')), |
ad7f736f3214
help: remove redundant 'hg <command>' from command synopses
Matt Mackall <mpm@selenic.com>
parents:
7361
diff
changeset
|
3713 "recover": (recover, []), |
1615
83238c1db6de
Cleanup of indentation, spacing, newlines, strings and line length
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1607
diff
changeset
|
3714 "^remove|rm": |
83238c1db6de
Cleanup of indentation, spacing, newlines, strings and line length
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1607
diff
changeset
|
3715 (remove, |
6346
8e3b651382f5
improved semantics for remove (issue438)
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
6336
diff
changeset
|
3716 [('A', 'after', None, _('record delete for missing files')), |
8e3b651382f5
improved semantics for remove (issue438)
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
6336
diff
changeset
|
3717 ('f', 'force', None, |
6347 | 3718 _('remove (and delete) file even if added or modified')), |
3188
725e3d3145d8
factor opts: walk options
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3187
diff
changeset
|
3719 ] + walkopts, |
7364
ad7f736f3214
help: remove redundant 'hg <command>' from command synopses
Matt Mackall <mpm@selenic.com>
parents:
7361
diff
changeset
|
3720 _('[OPTION]... FILE...')), |
1615
83238c1db6de
Cleanup of indentation, spacing, newlines, strings and line length
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1607
diff
changeset
|
3721 "rename|mv": |
83238c1db6de
Cleanup of indentation, spacing, newlines, strings and line length
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1607
diff
changeset
|
3722 (rename, |
1816
08f4398bdb1a
Updated help synopsises and reordered some options. Dropped [-n] from revert.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1812
diff
changeset
|
3723 [('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
|
3724 ('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
|
3725 _('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
|
3726 ] + walkopts + dryrunopts, |
7364
ad7f736f3214
help: remove redundant 'hg <command>' from command synopses
Matt Mackall <mpm@selenic.com>
parents:
7361
diff
changeset
|
3727 _('[OPTION]... SOURCE... DEST')), |
6518 | 3728 "resolve": |
3729 (resolve, | |
9747
85a3285860d3
hg help resolve grossly mischaracterizes the --all switch
timeless@mozdev.org
parents:
9740
diff
changeset
|
3730 [('a', 'all', None, _('select all unresolved files')), |
7527
5a14a8f3b909
resolve: require -a switch to resolve all files
Matt Mackall <mpm@selenic.com>
parents:
7449
diff
changeset
|
3731 ('l', 'list', None, _('list state of files needing merge')), |
6518 | 3732 ('m', 'mark', None, _('mark files as resolved')), |
9646
5b001f534452
commands: adding --no-status to resolve to match status
timeless <timeless@gmail.com>
parents:
9645
diff
changeset
|
3733 ('u', 'unmark', None, _('unmark files as resolved')), |
5b001f534452
commands: adding --no-status to resolve to match status
timeless <timeless@gmail.com>
parents:
9645
diff
changeset
|
3734 ('n', 'no-status', None, _('hide status prefix'))] |
7765
da9acc68b1dd
resolve: accepts walkopts (-I and -X)
Simon Heimberg <simohe@besonet.ch>
parents:
7763
diff
changeset
|
3735 + walkopts, |
7364
ad7f736f3214
help: remove redundant 'hg <command>' from command synopses
Matt Mackall <mpm@selenic.com>
parents:
7361
diff
changeset
|
3736 _('[OPTION]... [FILE]...')), |
5574 | 3737 "revert": |
697
cb1be2327220
Multiple cleanups of things detected by pylint.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
696
diff
changeset
|
3738 (revert, |
2983
3b7626b861f8
revert: add -a as alias for --all
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2982
diff
changeset
|
3739 [('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
|
3740 ('d', 'date', '', _('tipmost revision matching date')), |
10375
adf9505e8888
commands: Try to improve help options text for basic commands
timeless@mozdev.org
parents:
10369
diff
changeset
|
3741 ('r', 'rev', '', _('revert to the specified revision')), |
2029
d436b21b20dc
rewrite revert command. fix issues 93, 123, 147.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2022
diff
changeset
|
3742 ('', '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
|
3743 ] + walkopts + dryrunopts, |
7364
ad7f736f3214
help: remove redundant 'hg <command>' from command synopses
Matt Mackall <mpm@selenic.com>
parents:
7361
diff
changeset
|
3744 _('[OPTION]... [-r REV] [NAME]...')), |
ad7f736f3214
help: remove redundant 'hg <command>' from command synopses
Matt Mackall <mpm@selenic.com>
parents:
7361
diff
changeset
|
3745 "rollback": (rollback, []), |
ad7f736f3214
help: remove redundant 'hg <command>' from command synopses
Matt Mackall <mpm@selenic.com>
parents:
7361
diff
changeset
|
3746 "root": (root, []), |
697
cb1be2327220
Multiple cleanups of things detected by pylint.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
696
diff
changeset
|
3747 "^serve": |
cb1be2327220
Multiple cleanups of things detected by pylint.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
696
diff
changeset
|
3748 (serve, |
1437
ea51d296085f
import docstring from doc/hg.1.txt
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1436
diff
changeset
|
3749 [('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
|
3750 ('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
|
3751 ('', '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
|
3752 ('E', 'errorlog', '', _('name of error log file to write to')), |
6262
de7256c82fad
hgweb: clarify which address and port can/cannot be bound at startup (bug 769)
Stephen Deasey <sdeasey@gmail.com>
parents:
6253
diff
changeset
|
3753 ('p', 'port', 0, _('port to listen on (default: 8000)')), |
10282
08a0f04b56bd
many, many trivial check-code fixups
Matt Mackall <mpm@selenic.com>
parents:
10270
diff
changeset
|
3754 ('a', 'address', '', |
08a0f04b56bd
many, many trivial check-code fixups
Matt Mackall <mpm@selenic.com>
parents:
10270
diff
changeset
|
3755 _('address to listen on (default: all interfaces)')), |
08a0f04b56bd
many, many trivial check-code fixups
Matt Mackall <mpm@selenic.com>
parents:
10270
diff
changeset
|
3756 ('', 'prefix', '', |
08a0f04b56bd
many, many trivial check-code fixups
Matt Mackall <mpm@selenic.com>
parents:
10270
diff
changeset
|
3757 _('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
|
3758 ('n', 'name', '', |
8026
683d8ebcf434
expand "dir" to "directory" in help texts
Martin Geisler <mg@lazybytes.net>
parents:
8021
diff
changeset
|
3759 _('name to show in web pages (default: working directory)')), |
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
|
3760 ('', 'webdir-conf', '', _('name of the webdir config file' |
8027
9c7ca86fc658
expand "repo" to "repository" in help texts
Martin Geisler <mg@lazybytes.net>
parents:
8026
diff
changeset
|
3761 ' (serve more than one repository)')), |
1740
f95654385065
add --daemon option to serve command. for issue 45.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1736
diff
changeset
|
3762 ('', '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
|
3763 ('', '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
|
3764 ('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
|
3765 ('', '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
|
3766 ('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
|
3767 ('', 'certificate', '', _('SSL certificate file'))], |
7364
ad7f736f3214
help: remove redundant 'hg <command>' from command synopses
Matt Mackall <mpm@selenic.com>
parents:
7361
diff
changeset
|
3768 _('[OPTION]...')), |
5781
45d034c79ece
Sort commands table again and add some missing 'hg' in synopsises.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5778
diff
changeset
|
3769 "showconfig|debugconfig": |
45d034c79ece
Sort commands table again and add some missing 'hg' in synopsises.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5778
diff
changeset
|
3770 (showconfig, |
45d034c79ece
Sort commands table again and add some missing 'hg' in synopsises.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5778
diff
changeset
|
3771 [('u', 'untrusted', None, _('show untrusted configuration options'))], |
7364
ad7f736f3214
help: remove redundant 'hg <command>' from command synopses
Matt Mackall <mpm@selenic.com>
parents:
7361
diff
changeset
|
3772 _('[-u] [NAME]...')), |
9603 | 3773 "^summary|sum": |
9620 | 3774 (summary, |
9625
022b15b9ec8c
summary: remove reference to -p
Matt Mackall <mpm@selenic.com>
parents:
9620
diff
changeset
|
3775 [('', 'remote', None, _('check for push and pull'))], '[--remote]'), |
1507
cd8fadd8c689
Add explicit 'st' alias for status
Matt Mackall <mpm@selenic.com>
parents:
1506
diff
changeset
|
3776 "^status|st": |
840
141744605b51
hg status: added options to select files by status.
tksoh@users.sourceforge.net
parents:
839
diff
changeset
|
3777 (status, |
2661
5c10b7ed3411
status: add -c (clean) and -A (all files) options
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
2639
diff
changeset
|
3778 [('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
|
3779 ('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
|
3780 ('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
|
3781 ('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
|
3782 ('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
|
3783 ('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
|
3784 ('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
|
3785 ('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
|
3786 ('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
|
3787 ('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
|
3788 ('0', 'print0', None, |
fb4149eebdd4
strictly adher to 80 chars per line
Muli Ben-Yehuda <mulix@mulix.org>
parents:
1601
diff
changeset
|
3789 _('end filenames with NUL, for use with xargs')), |
3467
2b3b703b3a2b
Add --rev option to status
Brendan Cully <brendan@kublai.com>
parents:
3465
diff
changeset
|
3790 ('', 'rev', [], _('show difference from revision')), |
10014
54cd28258ea7
status: add the --change option to display files changed in a revision
Gilles Moris <gilles.moris@free.fr>
parents:
9983
diff
changeset
|
3791 ('', 'change', '', _('list the changed files of a revision')), |
3188
725e3d3145d8
factor opts: walk options
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3187
diff
changeset
|
3792 ] + walkopts, |
7364
ad7f736f3214
help: remove redundant 'hg <command>' from command synopses
Matt Mackall <mpm@selenic.com>
parents:
7361
diff
changeset
|
3793 _('[OPTION]... [FILE]...')), |
697
cb1be2327220
Multiple cleanups of things detected by pylint.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
696
diff
changeset
|
3794 "tag": |
cb1be2327220
Multiple cleanups of things detected by pylint.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
696
diff
changeset
|
3795 (tag, |
4267
8185a1ca8628
tags: require -f to replace an existing tag
Matt Mackall <mpm@selenic.com>
parents:
4247
diff
changeset
|
3796 [('f', 'force', None, _('replace existing tag')), |
8185a1ca8628
tags: require -f to replace an existing tag
Matt Mackall <mpm@selenic.com>
parents:
4247
diff
changeset
|
3797 ('l', 'local', None, _('make the tag local')), |
4213 | 3798 ('r', 'rev', '', _('revision to tag')), |
5147
c80af96943aa
refactor options from cmdtable
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
5125
diff
changeset
|
3799 ('', 'remove', None, _('remove a tag')), |
c80af96943aa
refactor options from cmdtable
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
5125
diff
changeset
|
3800 # -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
|
3801 ('m', 'message', '', _('use <text> as commit message')), |
c80af96943aa
refactor options from cmdtable
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
5125
diff
changeset
|
3802 ] + commitopts2, |
9952
5b149c88d9e8
commands: add missing options in command line help
timeless@mozdev.org
parents:
9951
diff
changeset
|
3803 _('[-f] [-l] [-m TEXT] [-d DATE] [-u USER] [-r REV] NAME...')), |
9604
fcc85abc762e
commands: fix missing empty synopses
Matt Mackall <mpm@selenic.com>
parents:
9603
diff
changeset
|
3804 "tags": (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
|
3805 "tip": |
8eaa8e06a364
Add option -b/--branch to hg tip (as done for hg parents).
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1761
diff
changeset
|
3806 (tip, |
6192
cd65a67aff31
Introduce templateopts and logopts to reduce duplicate option definitions.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6191
diff
changeset
|
3807 [('p', 'patch', None, _('show patch')), |
7763
cdc913e7fc5f
log-like commands now use -G for --graph, -g for --git
Jim Correia <jim.correia@pobox.com>
parents:
7762
diff
changeset
|
3808 ('g', 'git', None, _('use git extended diff format')), |
6192
cd65a67aff31
Introduce templateopts and logopts to reduce duplicate option definitions.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6191
diff
changeset
|
3809 ] + templateopts, |
9952
5b149c88d9e8
commands: add missing options in command line help
timeless@mozdev.org
parents:
9951
diff
changeset
|
3810 _('[-p] [-g]')), |
1218
cde6818e082a
Add preliminary support for the bundle and unbundle commands
mpm@selenic.com
parents:
1215
diff
changeset
|
3811 "unbundle": |
cde6818e082a
Add preliminary support for the bundle and unbundle commands
mpm@selenic.com
parents:
1215
diff
changeset
|
3812 (unbundle, |
1601
a1b25fb2e764
Error handling for unbundle, fix option line wrapping
Matt Mackall <mpm@selenic.com>
parents:
1600
diff
changeset
|
3813 [('u', 'update', None, |
10210
43f8abcec42d
commands: fix help string for pull -u and unbundle -u.
Greg Ward <greg-hg@gerg.ca>
parents:
10206
diff
changeset
|
3814 _('update to new branch head if changesets were unbundled'))], |
7364
ad7f736f3214
help: remove redundant 'hg <command>' from command synopses
Matt Mackall <mpm@selenic.com>
parents:
7361
diff
changeset
|
3815 _('[-u] FILE...')), |
593 | 3816 "^update|up|checkout|co": |
697
cb1be2327220
Multiple cleanups of things detected by pylint.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
696
diff
changeset
|
3817 (update, |
9718
fe1b19bfe75b
help: describe new cross-branch behavior in update help text, plus cleanups
Stuart W Marks <smarks@smarks.org>
parents:
9714
diff
changeset
|
3818 [('C', 'clean', None, _('discard uncommitted changes (no backup)')), |
8855 | 3819 ('c', 'check', None, _('check for uncommitted changes')), |
4450
8fa54b9c6c5a
accept -r REV in more places
Daniel Holth <dholth@fastmail.fm>
parents:
4445
diff
changeset
|
3820 ('d', 'date', '', _('tipmost revision matching date')), |
8fa54b9c6c5a
accept -r REV in more places
Daniel Holth <dholth@fastmail.fm>
parents:
4445
diff
changeset
|
3821 ('r', 'rev', '', _('revision'))], |
9718
fe1b19bfe75b
help: describe new cross-branch behavior in update help text, plus cleanups
Stuart W Marks <smarks@smarks.org>
parents:
9714
diff
changeset
|
3822 _('[-c] [-C] [-d DATE] [[-r] REV]')), |
7364
ad7f736f3214
help: remove redundant 'hg <command>' from command synopses
Matt Mackall <mpm@selenic.com>
parents:
7361
diff
changeset
|
3823 "verify": (verify, []), |
ad7f736f3214
help: remove redundant 'hg <command>' from command synopses
Matt Mackall <mpm@selenic.com>
parents:
7361
diff
changeset
|
3824 "version": (version_, []), |
1046
772507daaa17
Sort global options by topic: directories, ui, timing, other
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1044
diff
changeset
|
3825 } |
209 | 3826 |
7880
7ca2be800804
add debugcommands command: an easy to parse command + option index
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
7875
diff
changeset
|
3827 norepo = ("clone init version help debugcommands debugcomplete debugdata" |
5741
8ee0de123989
add debugfsinfo to check fs capabilities
Matt Mackall <mpm@selenic.com>
parents:
5716
diff
changeset
|
3828 " debugindex debugindexdot debugdate debuginstall debugfsinfo") |
6189
81cbb5dfdec0
Make hg debugancestor accept -R by making it an optionalrepo command.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
6188
diff
changeset
|
3829 optionalrepo = ("identify paths serve showconfig debugancestor") |