Mercurial > hg
annotate hgext/hgk.py @ 17548:eaa5fcc5bd20
checkheads: check successors for new heads in both missing and common
A relevant obsolete marker may have been added -after- we previously
exchanged the changeset. We have to search for remote heads that
disappear by the sole fact of pushing obsolescence.
This case will also happen when remote got the new version from a
repository that does not propagate obsolescence markers.
author | Pierre-Yves David <pierre-yves.david@logilab.fr> |
---|---|
date | Sun, 26 Aug 2012 00:25:33 +0200 |
parents | 38caf405d010 |
children | 434e5bd615fc |
rev | line source |
---|---|
267 | 1 # Minimal support for git commands on an hg repository |
2 # | |
2859 | 3 # Copyright 2005, 2006 Chris Mason <mason@suse.com> |
267 | 4 # |
8225
46293a0c7e9f
updated license to be explicit about GPL version 2
Martin Geisler <mg@lazybytes.net>
parents:
7992
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. |
8228
eee2319c5895
add blank line after copyright notices and after header
Martin Geisler <mg@lazybytes.net>
parents:
8225
diff
changeset
|
7 |
8894
868670dbc237
extensions: improve the consistency of synopses
Cédric Duval <cedricduval@free.fr>
parents:
8866
diff
changeset
|
8 '''browse the repository in a graphical way |
6666
53465a7464e2
convert comments to docstrings in a bunch of extensions
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
6616
diff
changeset
|
9 |
9261
1a9a650004b6
hgk: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9209
diff
changeset
|
10 The hgk extension allows browsing the history of a repository in a |
1a9a650004b6
hgk: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9209
diff
changeset
|
11 graphical way. It requires Tcl/Tk version 8.4 or later. (Tcl/Tk is not |
1a9a650004b6
hgk: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9209
diff
changeset
|
12 distributed with Mercurial.) |
6666
53465a7464e2
convert comments to docstrings in a bunch of extensions
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
6616
diff
changeset
|
13 |
9261
1a9a650004b6
hgk: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9209
diff
changeset
|
14 hgk consists of two parts: a Tcl script that does the displaying and |
1a9a650004b6
hgk: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9209
diff
changeset
|
15 querying of information, and an extension to Mercurial named hgk.py, |
1a9a650004b6
hgk: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9209
diff
changeset
|
16 which provides hooks for hgk to get information. hgk can be found in |
1a9a650004b6
hgk: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9209
diff
changeset
|
17 the contrib directory, and the extension is shipped in the hgext |
1a9a650004b6
hgk: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9209
diff
changeset
|
18 repository, and needs to be enabled. |
6666
53465a7464e2
convert comments to docstrings in a bunch of extensions
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
6616
diff
changeset
|
19 |
11193
687c7d395f20
Use our custom hg reStructuredText role some more
Martin Geisler <mg@aragost.com>
parents:
10394
diff
changeset
|
20 The :hg:`view` command will launch the hgk Tcl script. For this command |
9261
1a9a650004b6
hgk: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9209
diff
changeset
|
21 to work, hgk must be in your search path. Alternately, you can specify |
12083
ebfc46929f3e
help: refer to user configuration file more consistently
Brodie Rao <brodie@bitheap.org>
parents:
11321
diff
changeset
|
22 the path to hgk in your configuration file:: |
6666
53465a7464e2
convert comments to docstrings in a bunch of extensions
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
6616
diff
changeset
|
23 |
53465a7464e2
convert comments to docstrings in a bunch of extensions
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
6616
diff
changeset
|
24 [hgk] |
53465a7464e2
convert comments to docstrings in a bunch of extensions
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
6616
diff
changeset
|
25 path=/location/of/hgk |
53465a7464e2
convert comments to docstrings in a bunch of extensions
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
6616
diff
changeset
|
26 |
9261
1a9a650004b6
hgk: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9209
diff
changeset
|
27 hgk can make use of the extdiff extension to visualize revisions. |
1a9a650004b6
hgk: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9209
diff
changeset
|
28 Assuming you had already configured extdiff vdiff command, just add:: |
6666
53465a7464e2
convert comments to docstrings in a bunch of extensions
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
6616
diff
changeset
|
29 |
53465a7464e2
convert comments to docstrings in a bunch of extensions
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
6616
diff
changeset
|
30 [hgk] |
53465a7464e2
convert comments to docstrings in a bunch of extensions
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
6616
diff
changeset
|
31 vdiff=vdiff |
53465a7464e2
convert comments to docstrings in a bunch of extensions
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
6616
diff
changeset
|
32 |
9261
1a9a650004b6
hgk: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9209
diff
changeset
|
33 Revisions context menu will now display additional entries to fire |
1a9a650004b6
hgk: wrap docstrings at 70 characters
Martin Geisler <mg@lazybytes.net>
parents:
9209
diff
changeset
|
34 vdiff on hovered and selected revisions. |
9063
0772889d8a65
hgk: wrapped docstrings at 78 characters
Martin Geisler <mg@lazybytes.net>
parents:
8946
diff
changeset
|
35 ''' |
267 | 36 |
5878
d39af2eabb8c
transform a bunch of print statements to appropriate ui calls
Matt Mackall <mpm@selenic.com>
parents:
5859
diff
changeset
|
37 import os |
14322
a90131b85fd8
scmutil: drop aliases in cmdutil for match functions
Matt Mackall <mpm@selenic.com>
parents:
13031
diff
changeset
|
38 from mercurial import commands, util, patch, revlog, scmutil |
6217
fe8dbbe9520d
Avoid importing mercurial.node/mercurial.repo stuff from mercurial.hg
Joel Rosdahl <joel@rosdahl.net>
parents:
6212
diff
changeset
|
39 from mercurial.node import nullid, nullrev, short |
6958
e01ed40a31a2
i18n: mark strings for translation in hgk extension
Martin Geisler <mg@daimi.au.dk>
parents:
6812
diff
changeset
|
40 from mercurial.i18n import _ |
1239
29f17e083e84
Turn hgit into an extension, and add commands supporting the latest gitk
mason@suse.com
parents:
740
diff
changeset
|
41 |
16743
38caf405d010
hgext: mark all first-party extensions as such
Augie Fackler <raf@durin42.com>
parents:
16683
diff
changeset
|
42 testedwith = 'internal' |
38caf405d010
hgext: mark all first-party extensions as such
Augie Fackler <raf@durin42.com>
parents:
16683
diff
changeset
|
43 |
3063
aa1cee5b8afb
hgk.py: add an optional file list to debug-diff-tree
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3059
diff
changeset
|
44 def difftree(ui, repo, node1=None, node2=None, *files, **opts): |
1239
29f17e083e84
Turn hgit into an extension, and add commands supporting the latest gitk
mason@suse.com
parents:
740
diff
changeset
|
45 """diff trees from two commits""" |
3063
aa1cee5b8afb
hgk.py: add an optional file list to debug-diff-tree
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3059
diff
changeset
|
46 def __difftree(repo, node1, node2, files=[]): |
3978
ee5663cb4406
hgk: remove unused code, node2 is always set
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3963
diff
changeset
|
47 assert node2 is not None |
6747
f6c00b17387c
use repo[changeid] to get a changectx
Matt Mackall <mpm@selenic.com>
parents:
6666
diff
changeset
|
48 mmap = repo[node1].manifest() |
f6c00b17387c
use repo[changeid] to get a changectx
Matt Mackall <mpm@selenic.com>
parents:
6666
diff
changeset
|
49 mmap2 = repo[node2].manifest() |
14671
35c2cc322ba8
scmutil: switch match users to supplying contexts
Matt Mackall <mpm@selenic.com>
parents:
14322
diff
changeset
|
50 m = scmutil.match(repo[node1], files) |
6760
4faaa0535ea7
status: clean up all users for unknown files
Matt Mackall <mpm@selenic.com>
parents:
6750
diff
changeset
|
51 modified, added, removed = repo.status(node1, node2, m)[:3] |
6217
fe8dbbe9520d
Avoid importing mercurial.node/mercurial.repo stuff from mercurial.hg
Joel Rosdahl <joel@rosdahl.net>
parents:
6212
diff
changeset
|
52 empty = short(nullid) |
267 | 53 |
1618
ff339dd21976
Renamed c, a, d, u to modified, added, removed, unknown for users of changes()
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1614
diff
changeset
|
54 for f in modified: |
334 | 55 # TODO get file permissions |
5878
d39af2eabb8c
transform a bunch of print statements to appropriate ui calls
Matt Mackall <mpm@selenic.com>
parents:
5859
diff
changeset
|
56 ui.write(":100664 100664 %s %s M\t%s\t%s\n" % |
6217
fe8dbbe9520d
Avoid importing mercurial.node/mercurial.repo stuff from mercurial.hg
Joel Rosdahl <joel@rosdahl.net>
parents:
6212
diff
changeset
|
57 (short(mmap[f]), short(mmap2[f]), f, f)) |
1618
ff339dd21976
Renamed c, a, d, u to modified, added, removed, unknown for users of changes()
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1614
diff
changeset
|
58 for f in added: |
5878
d39af2eabb8c
transform a bunch of print statements to appropriate ui calls
Matt Mackall <mpm@selenic.com>
parents:
5859
diff
changeset
|
59 ui.write(":000000 100664 %s %s N\t%s\t%s\n" % |
6217
fe8dbbe9520d
Avoid importing mercurial.node/mercurial.repo stuff from mercurial.hg
Joel Rosdahl <joel@rosdahl.net>
parents:
6212
diff
changeset
|
60 (empty, short(mmap2[f]), f, f)) |
1618
ff339dd21976
Renamed c, a, d, u to modified, added, removed, unknown for users of changes()
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1614
diff
changeset
|
61 for f in removed: |
5878
d39af2eabb8c
transform a bunch of print statements to appropriate ui calls
Matt Mackall <mpm@selenic.com>
parents:
5859
diff
changeset
|
62 ui.write(":100664 000000 %s %s D\t%s\t%s\n" % |
6217
fe8dbbe9520d
Avoid importing mercurial.node/mercurial.repo stuff from mercurial.hg
Joel Rosdahl <joel@rosdahl.net>
parents:
6212
diff
changeset
|
63 (short(mmap[f]), empty, f, f)) |
267 | 64 ## |
65 | |
1239
29f17e083e84
Turn hgit into an extension, and add commands supporting the latest gitk
mason@suse.com
parents:
740
diff
changeset
|
66 while True: |
29f17e083e84
Turn hgit into an extension, and add commands supporting the latest gitk
mason@suse.com
parents:
740
diff
changeset
|
67 if opts['stdin']: |
29f17e083e84
Turn hgit into an extension, and add commands supporting the latest gitk
mason@suse.com
parents:
740
diff
changeset
|
68 try: |
29f17e083e84
Turn hgit into an extension, and add commands supporting the latest gitk
mason@suse.com
parents:
740
diff
changeset
|
69 line = raw_input().split(' ') |
29f17e083e84
Turn hgit into an extension, and add commands supporting the latest gitk
mason@suse.com
parents:
740
diff
changeset
|
70 node1 = line[0] |
29f17e083e84
Turn hgit into an extension, and add commands supporting the latest gitk
mason@suse.com
parents:
740
diff
changeset
|
71 if len(line) > 1: |
29f17e083e84
Turn hgit into an extension, and add commands supporting the latest gitk
mason@suse.com
parents:
740
diff
changeset
|
72 node2 = line[1] |
29f17e083e84
Turn hgit into an extension, and add commands supporting the latest gitk
mason@suse.com
parents:
740
diff
changeset
|
73 else: |
29f17e083e84
Turn hgit into an extension, and add commands supporting the latest gitk
mason@suse.com
parents:
740
diff
changeset
|
74 node2 = None |
29f17e083e84
Turn hgit into an extension, and add commands supporting the latest gitk
mason@suse.com
parents:
740
diff
changeset
|
75 except EOFError: |
29f17e083e84
Turn hgit into an extension, and add commands supporting the latest gitk
mason@suse.com
parents:
740
diff
changeset
|
76 break |
29f17e083e84
Turn hgit into an extension, and add commands supporting the latest gitk
mason@suse.com
parents:
740
diff
changeset
|
77 node1 = repo.lookup(node1) |
29f17e083e84
Turn hgit into an extension, and add commands supporting the latest gitk
mason@suse.com
parents:
740
diff
changeset
|
78 if node2: |
29f17e083e84
Turn hgit into an extension, and add commands supporting the latest gitk
mason@suse.com
parents:
740
diff
changeset
|
79 node2 = repo.lookup(node2) |
29f17e083e84
Turn hgit into an extension, and add commands supporting the latest gitk
mason@suse.com
parents:
740
diff
changeset
|
80 else: |
29f17e083e84
Turn hgit into an extension, and add commands supporting the latest gitk
mason@suse.com
parents:
740
diff
changeset
|
81 node2 = node1 |
29f17e083e84
Turn hgit into an extension, and add commands supporting the latest gitk
mason@suse.com
parents:
740
diff
changeset
|
82 node1 = repo.changelog.parents(node1)[0] |
29f17e083e84
Turn hgit into an extension, and add commands supporting the latest gitk
mason@suse.com
parents:
740
diff
changeset
|
83 if opts['patch']: |
29f17e083e84
Turn hgit into an extension, and add commands supporting the latest gitk
mason@suse.com
parents:
740
diff
changeset
|
84 if opts['pretty']: |
5878
d39af2eabb8c
transform a bunch of print statements to appropriate ui calls
Matt Mackall <mpm@selenic.com>
parents:
5859
diff
changeset
|
85 catcommit(ui, repo, node2, "") |
14671
35c2cc322ba8
scmutil: switch match users to supplying contexts
Matt Mackall <mpm@selenic.com>
parents:
14322
diff
changeset
|
86 m = scmutil.match(repo[node1], files) |
7308
b6f5490effbf
patch: turn patch.diff() into a generator
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
7000
diff
changeset
|
87 chunks = patch.diff(repo, node1, node2, match=m, |
b6f5490effbf
patch: turn patch.diff() into a generator
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
7000
diff
changeset
|
88 opts=patch.diffopts(ui, {'git': True})) |
b6f5490effbf
patch: turn patch.diff() into a generator
Dirkjan Ochtman <dirkjan@ochtman.nl>
parents:
7000
diff
changeset
|
89 for chunk in chunks: |
8615
94ca38e63576
use ui instead of repo.ui when the former is in scope
Martin Geisler <mg@lazybytes.net>
parents:
8459
diff
changeset
|
90 ui.write(chunk) |
1239
29f17e083e84
Turn hgit into an extension, and add commands supporting the latest gitk
mason@suse.com
parents:
740
diff
changeset
|
91 else: |
3063
aa1cee5b8afb
hgk.py: add an optional file list to debug-diff-tree
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3059
diff
changeset
|
92 __difftree(repo, node1, node2, files=files) |
1239
29f17e083e84
Turn hgit into an extension, and add commands supporting the latest gitk
mason@suse.com
parents:
740
diff
changeset
|
93 if not opts['stdin']: |
29f17e083e84
Turn hgit into an extension, and add commands supporting the latest gitk
mason@suse.com
parents:
740
diff
changeset
|
94 break |
267 | 95 |
5878
d39af2eabb8c
transform a bunch of print statements to appropriate ui calls
Matt Mackall <mpm@selenic.com>
parents:
5859
diff
changeset
|
96 def catcommit(ui, repo, n, prefix, ctx=None): |
10394
4612cded5176
fix coding style (reported by pylint)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
10282
diff
changeset
|
97 nlprefix = '\n' + prefix |
3979
e0d13267f7a4
hgk: use contexts
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3978
diff
changeset
|
98 if ctx is None: |
6747
f6c00b17387c
use repo[changeid] to get a changectx
Matt Mackall <mpm@selenic.com>
parents:
6666
diff
changeset
|
99 ctx = repo[n] |
16683 | 100 # use ctx.node() instead ?? |
101 ui.write("tree %s\n" % short(ctx.changeset()[0])) | |
6768 | 102 for p in ctx.parents(): |
103 ui.write("parent %s\n" % p) | |
104 | |
3979
e0d13267f7a4
hgk: use contexts
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3978
diff
changeset
|
105 date = ctx.date() |
4039
cc08d2543593
hgk: remove embedded nulls in descriptions
Matt Mackall <mpm@selenic.com>
parents:
3981
diff
changeset
|
106 description = ctx.description().replace("\0", "") |
3979
e0d13267f7a4
hgk: use contexts
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3978
diff
changeset
|
107 lines = description.splitlines() |
2525
c49dc6f38a19
hgk: Don't choke on empty changelogs
Brendan Cully <brendan@kublai.com>
parents:
2432
diff
changeset
|
108 if lines and lines[-1].startswith('committer:'): |
1239
29f17e083e84
Turn hgit into an extension, and add commands supporting the latest gitk
mason@suse.com
parents:
740
diff
changeset
|
109 committer = lines[-1].split(': ')[1].rstrip() |
29f17e083e84
Turn hgit into an extension, and add commands supporting the latest gitk
mason@suse.com
parents:
740
diff
changeset
|
110 else: |
3979
e0d13267f7a4
hgk: use contexts
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3978
diff
changeset
|
111 committer = ctx.user() |
1308
2073e5a71008
Cleanup of tabs and trailing spaces.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1278
diff
changeset
|
112 |
5878
d39af2eabb8c
transform a bunch of print statements to appropriate ui calls
Matt Mackall <mpm@selenic.com>
parents:
5859
diff
changeset
|
113 ui.write("author %s %s %s\n" % (ctx.user(), int(date[0]), date[1])) |
d39af2eabb8c
transform a bunch of print statements to appropriate ui calls
Matt Mackall <mpm@selenic.com>
parents:
5859
diff
changeset
|
114 ui.write("committer %s %s %s\n" % (committer, int(date[0]), date[1])) |
d39af2eabb8c
transform a bunch of print statements to appropriate ui calls
Matt Mackall <mpm@selenic.com>
parents:
5859
diff
changeset
|
115 ui.write("revision %d\n" % ctx.rev()) |
d39af2eabb8c
transform a bunch of print statements to appropriate ui calls
Matt Mackall <mpm@selenic.com>
parents:
5859
diff
changeset
|
116 ui.write("branch %s\n\n" % ctx.branch()) |
d39af2eabb8c
transform a bunch of print statements to appropriate ui calls
Matt Mackall <mpm@selenic.com>
parents:
5859
diff
changeset
|
117 |
267 | 118 if prefix != "": |
16683 | 119 ui.write("%s%s\n" % (prefix, |
120 description.replace('\n', nlprefix).strip())) | |
267 | 121 else: |
5878
d39af2eabb8c
transform a bunch of print statements to appropriate ui calls
Matt Mackall <mpm@selenic.com>
parents:
5859
diff
changeset
|
122 ui.write(description + "\n") |
1239
29f17e083e84
Turn hgit into an extension, and add commands supporting the latest gitk
mason@suse.com
parents:
740
diff
changeset
|
123 if prefix: |
5878
d39af2eabb8c
transform a bunch of print statements to appropriate ui calls
Matt Mackall <mpm@selenic.com>
parents:
5859
diff
changeset
|
124 ui.write('\0') |
267 | 125 |
1239
29f17e083e84
Turn hgit into an extension, and add commands supporting the latest gitk
mason@suse.com
parents:
740
diff
changeset
|
126 def base(ui, repo, node1, node2): |
7598 | 127 """output common ancestor information""" |
1239
29f17e083e84
Turn hgit into an extension, and add commands supporting the latest gitk
mason@suse.com
parents:
740
diff
changeset
|
128 node1 = repo.lookup(node1) |
29f17e083e84
Turn hgit into an extension, and add commands supporting the latest gitk
mason@suse.com
parents:
740
diff
changeset
|
129 node2 = repo.lookup(node2) |
29f17e083e84
Turn hgit into an extension, and add commands supporting the latest gitk
mason@suse.com
parents:
740
diff
changeset
|
130 n = repo.changelog.ancestor(node1, node2) |
6217
fe8dbbe9520d
Avoid importing mercurial.node/mercurial.repo stuff from mercurial.hg
Joel Rosdahl <joel@rosdahl.net>
parents:
6212
diff
changeset
|
131 ui.write(short(n) + "\n") |
267 | 132 |
1239
29f17e083e84
Turn hgit into an extension, and add commands supporting the latest gitk
mason@suse.com
parents:
740
diff
changeset
|
133 def catfile(ui, repo, type=None, r=None, **opts): |
29f17e083e84
Turn hgit into an extension, and add commands supporting the latest gitk
mason@suse.com
parents:
740
diff
changeset
|
134 """cat a specific revision""" |
267 | 135 # in stdin mode, every line except the commit is prefixed with two |
136 # spaces. This way the our caller can find the commit without magic | |
137 # strings | |
138 # | |
139 prefix = "" | |
1239
29f17e083e84
Turn hgit into an extension, and add commands supporting the latest gitk
mason@suse.com
parents:
740
diff
changeset
|
140 if opts['stdin']: |
334 | 141 try: |
10394
4612cded5176
fix coding style (reported by pylint)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
10282
diff
changeset
|
142 (type, r) = raw_input().split(' ') |
1239
29f17e083e84
Turn hgit into an extension, and add commands supporting the latest gitk
mason@suse.com
parents:
740
diff
changeset
|
143 prefix = " " |
334 | 144 except EOFError: |
145 return | |
267 | 146 |
147 else: | |
1239
29f17e083e84
Turn hgit into an extension, and add commands supporting the latest gitk
mason@suse.com
parents:
740
diff
changeset
|
148 if not type or not r: |
6958
e01ed40a31a2
i18n: mark strings for translation in hgk extension
Martin Geisler <mg@daimi.au.dk>
parents:
6812
diff
changeset
|
149 ui.warn(_("cat-file: type or revision not supplied\n")) |
1239
29f17e083e84
Turn hgit into an extension, and add commands supporting the latest gitk
mason@suse.com
parents:
740
diff
changeset
|
150 commands.help_(ui, 'cat-file') |
267 | 151 |
152 while r: | |
334 | 153 if type != "commit": |
6958
e01ed40a31a2
i18n: mark strings for translation in hgk extension
Martin Geisler <mg@daimi.au.dk>
parents:
6812
diff
changeset
|
154 ui.warn(_("aborting hg cat-file only understands commits\n")) |
10394
4612cded5176
fix coding style (reported by pylint)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
10282
diff
changeset
|
155 return 1 |
720
095dd8c757e0
Change hgit revision lookup to use repo.lookup
mason@suse.com
parents:
719
diff
changeset
|
156 n = repo.lookup(r) |
5878
d39af2eabb8c
transform a bunch of print statements to appropriate ui calls
Matt Mackall <mpm@selenic.com>
parents:
5859
diff
changeset
|
157 catcommit(ui, repo, n, prefix) |
1239
29f17e083e84
Turn hgit into an extension, and add commands supporting the latest gitk
mason@suse.com
parents:
740
diff
changeset
|
158 if opts['stdin']: |
334 | 159 try: |
10394
4612cded5176
fix coding style (reported by pylint)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
10282
diff
changeset
|
160 (type, r) = raw_input().split(' ') |
334 | 161 except EOFError: |
162 break | |
163 else: | |
164 break | |
267 | 165 |
166 # git rev-tree is a confusing thing. You can supply a number of | |
167 # commit sha1s on the command line, and it walks the commit history | |
168 # telling you which commits are reachable from the supplied ones via | |
169 # a bitmask based on arg position. | |
170 # you can specify a commit to stop at by starting the sha1 with ^ | |
5878
d39af2eabb8c
transform a bunch of print statements to appropriate ui calls
Matt Mackall <mpm@selenic.com>
parents:
5859
diff
changeset
|
171 def revtree(ui, args, repo, full="tree", maxnr=0, parents=False): |
1239
29f17e083e84
Turn hgit into an extension, and add commands supporting the latest gitk
mason@suse.com
parents:
740
diff
changeset
|
172 def chlogwalk(): |
6750
fb42030d79d6
add __len__ and __iter__ methods to repo and revlog
Matt Mackall <mpm@selenic.com>
parents:
6747
diff
changeset
|
173 count = len(repo) |
1239
29f17e083e84
Turn hgit into an extension, and add commands supporting the latest gitk
mason@suse.com
parents:
740
diff
changeset
|
174 i = count |
29f17e083e84
Turn hgit into an extension, and add commands supporting the latest gitk
mason@suse.com
parents:
740
diff
changeset
|
175 l = [0] * 100 |
29f17e083e84
Turn hgit into an extension, and add commands supporting the latest gitk
mason@suse.com
parents:
740
diff
changeset
|
176 chunk = 100 |
29f17e083e84
Turn hgit into an extension, and add commands supporting the latest gitk
mason@suse.com
parents:
740
diff
changeset
|
177 while True: |
29f17e083e84
Turn hgit into an extension, and add commands supporting the latest gitk
mason@suse.com
parents:
740
diff
changeset
|
178 if chunk > i: |
29f17e083e84
Turn hgit into an extension, and add commands supporting the latest gitk
mason@suse.com
parents:
740
diff
changeset
|
179 chunk = i |
29f17e083e84
Turn hgit into an extension, and add commands supporting the latest gitk
mason@suse.com
parents:
740
diff
changeset
|
180 i = 0 |
29f17e083e84
Turn hgit into an extension, and add commands supporting the latest gitk
mason@suse.com
parents:
740
diff
changeset
|
181 else: |
29f17e083e84
Turn hgit into an extension, and add commands supporting the latest gitk
mason@suse.com
parents:
740
diff
changeset
|
182 i -= chunk |
29f17e083e84
Turn hgit into an extension, and add commands supporting the latest gitk
mason@suse.com
parents:
740
diff
changeset
|
183 |
8624
2b3dec0ef3ae
replace xrange(0, n) with xrange(n)
Martin Geisler <mg@lazybytes.net>
parents:
8615
diff
changeset
|
184 for x in xrange(chunk): |
1239
29f17e083e84
Turn hgit into an extension, and add commands supporting the latest gitk
mason@suse.com
parents:
740
diff
changeset
|
185 if i + x >= count: |
29f17e083e84
Turn hgit into an extension, and add commands supporting the latest gitk
mason@suse.com
parents:
740
diff
changeset
|
186 l[chunk - x:] = [0] * (chunk - x) |
29f17e083e84
Turn hgit into an extension, and add commands supporting the latest gitk
mason@suse.com
parents:
740
diff
changeset
|
187 break |
13031
3da456d0c885
code style: prefer 'is' and 'is not' tests with singletons
Martin Geisler <mg@aragost.com>
parents:
12083
diff
changeset
|
188 if full is not None: |
6747
f6c00b17387c
use repo[changeid] to get a changectx
Matt Mackall <mpm@selenic.com>
parents:
6666
diff
changeset
|
189 l[x] = repo[i + x] |
3981
180670f14045
hgk: (re)optimize reading of changelog and manifest
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3979
diff
changeset
|
190 l[x].changeset() # force reading |
1239
29f17e083e84
Turn hgit into an extension, and add commands supporting the latest gitk
mason@suse.com
parents:
740
diff
changeset
|
191 else: |
29f17e083e84
Turn hgit into an extension, and add commands supporting the latest gitk
mason@suse.com
parents:
740
diff
changeset
|
192 l[x] = 1 |
10282
08a0f04b56bd
many, many trivial check-code fixups
Matt Mackall <mpm@selenic.com>
parents:
10263
diff
changeset
|
193 for x in xrange(chunk - 1, -1, -1): |
1239
29f17e083e84
Turn hgit into an extension, and add commands supporting the latest gitk
mason@suse.com
parents:
740
diff
changeset
|
194 if l[x] != 0: |
13031
3da456d0c885
code style: prefer 'is' and 'is not' tests with singletons
Martin Geisler <mg@aragost.com>
parents:
12083
diff
changeset
|
195 yield (i + x, full is not None and l[x] or None) |
1239
29f17e083e84
Turn hgit into an extension, and add commands supporting the latest gitk
mason@suse.com
parents:
740
diff
changeset
|
196 if i == 0: |
29f17e083e84
Turn hgit into an extension, and add commands supporting the latest gitk
mason@suse.com
parents:
740
diff
changeset
|
197 break |
1308
2073e5a71008
Cleanup of tabs and trailing spaces.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1278
diff
changeset
|
198 |
267 | 199 # calculate and return the reachability bitmask for sha |
200 def is_reachable(ar, reachable, sha): | |
334 | 201 if len(ar) == 0: |
202 return 1 | |
203 mask = 0 | |
3473
0e68608bd11d
use xrange instead of range
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3180
diff
changeset
|
204 for i in xrange(len(ar)): |
334 | 205 if sha in reachable[i]: |
206 mask |= 1 << i | |
267 | 207 |
334 | 208 return mask |
267 | 209 |
210 reachable = [] | |
211 stop_sha1 = [] | |
212 want_sha1 = [] | |
356 | 213 count = 0 |
267 | 214 |
215 # figure out which commits they are asking for and which ones they | |
216 # want us to stop on | |
8632
9e055cfdd620
replace "i in range(len(xs))" with "i, x in enumerate(xs)"
Martin Geisler <mg@lazybytes.net>
parents:
8624
diff
changeset
|
217 for i, arg in enumerate(args): |
9e055cfdd620
replace "i in range(len(xs))" with "i, x in enumerate(xs)"
Martin Geisler <mg@lazybytes.net>
parents:
8624
diff
changeset
|
218 if arg.startswith('^'): |
9e055cfdd620
replace "i in range(len(xs))" with "i, x in enumerate(xs)"
Martin Geisler <mg@lazybytes.net>
parents:
8624
diff
changeset
|
219 s = repo.lookup(arg[1:]) |
720
095dd8c757e0
Change hgit revision lookup to use repo.lookup
mason@suse.com
parents:
719
diff
changeset
|
220 stop_sha1.append(s) |
334 | 221 want_sha1.append(s) |
8632
9e055cfdd620
replace "i in range(len(xs))" with "i, x in enumerate(xs)"
Martin Geisler <mg@lazybytes.net>
parents:
8624
diff
changeset
|
222 elif arg != 'HEAD': |
9e055cfdd620
replace "i in range(len(xs))" with "i, x in enumerate(xs)"
Martin Geisler <mg@lazybytes.net>
parents:
8624
diff
changeset
|
223 want_sha1.append(repo.lookup(arg)) |
356 | 224 |
267 | 225 # calculate the graph for the supplied commits |
8632
9e055cfdd620
replace "i in range(len(xs))" with "i, x in enumerate(xs)"
Martin Geisler <mg@lazybytes.net>
parents:
8624
diff
changeset
|
226 for i, n in enumerate(want_sha1): |
10394
4612cded5176
fix coding style (reported by pylint)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
10282
diff
changeset
|
227 reachable.append(set()) |
4612cded5176
fix coding style (reported by pylint)
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
10282
diff
changeset
|
228 visit = [n] |
8459
1e63816ce8a2
hgk: use set instead of dict
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
8228
diff
changeset
|
229 reachable[i].add(n) |
334 | 230 while visit: |
231 n = visit.pop(0) | |
232 if n in stop_sha1: | |
1243
9d10f89b75a5
Fix hgit revtree bug with stop revision handling
root@coffee.suse.com
parents:
1239
diff
changeset
|
233 continue |
334 | 234 for p in repo.changelog.parents(n): |
235 if p not in reachable[i]: | |
8459
1e63816ce8a2
hgk: use set instead of dict
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
8228
diff
changeset
|
236 reachable[i].add(p) |
334 | 237 visit.append(p) |
238 if p in stop_sha1: | |
1243
9d10f89b75a5
Fix hgit revtree bug with stop revision handling
root@coffee.suse.com
parents:
1239
diff
changeset
|
239 continue |
356 | 240 |
267 | 241 # walk the repository looking for commits that are in our |
242 # reachability graph | |
3979
e0d13267f7a4
hgk: use contexts
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3978
diff
changeset
|
243 for i, ctx in chlogwalk(): |
334 | 244 n = repo.changelog.node(i) |
245 mask = is_reachable(want_sha1, reachable, n) | |
246 if mask: | |
1239
29f17e083e84
Turn hgit into an extension, and add commands supporting the latest gitk
mason@suse.com
parents:
740
diff
changeset
|
247 parentstr = "" |
29f17e083e84
Turn hgit into an extension, and add commands supporting the latest gitk
mason@suse.com
parents:
740
diff
changeset
|
248 if parents: |
29f17e083e84
Turn hgit into an extension, and add commands supporting the latest gitk
mason@suse.com
parents:
740
diff
changeset
|
249 pp = repo.changelog.parents(n) |
6217
fe8dbbe9520d
Avoid importing mercurial.node/mercurial.repo stuff from mercurial.hg
Joel Rosdahl <joel@rosdahl.net>
parents:
6212
diff
changeset
|
250 if pp[0] != nullid: |
fe8dbbe9520d
Avoid importing mercurial.node/mercurial.repo stuff from mercurial.hg
Joel Rosdahl <joel@rosdahl.net>
parents:
6212
diff
changeset
|
251 parentstr += " " + short(pp[0]) |
fe8dbbe9520d
Avoid importing mercurial.node/mercurial.repo stuff from mercurial.hg
Joel Rosdahl <joel@rosdahl.net>
parents:
6212
diff
changeset
|
252 if pp[1] != nullid: |
fe8dbbe9520d
Avoid importing mercurial.node/mercurial.repo stuff from mercurial.hg
Joel Rosdahl <joel@rosdahl.net>
parents:
6212
diff
changeset
|
253 parentstr += " " + short(pp[1]) |
356 | 254 if not full: |
6217
fe8dbbe9520d
Avoid importing mercurial.node/mercurial.repo stuff from mercurial.hg
Joel Rosdahl <joel@rosdahl.net>
parents:
6212
diff
changeset
|
255 ui.write("%s%s\n" % (short(n), parentstr)) |
3064
fe5c92529d1c
hgk.py: fix warnings from pychecker
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3063
diff
changeset
|
256 elif full == "commit": |
6217
fe8dbbe9520d
Avoid importing mercurial.node/mercurial.repo stuff from mercurial.hg
Joel Rosdahl <joel@rosdahl.net>
parents:
6212
diff
changeset
|
257 ui.write("%s%s\n" % (short(n), parentstr)) |
5878
d39af2eabb8c
transform a bunch of print statements to appropriate ui calls
Matt Mackall <mpm@selenic.com>
parents:
5859
diff
changeset
|
258 catcommit(ui, repo, n, ' ', ctx) |
356 | 259 else: |
260 (p1, p2) = repo.changelog.parents(n) | |
6217
fe8dbbe9520d
Avoid importing mercurial.node/mercurial.repo stuff from mercurial.hg
Joel Rosdahl <joel@rosdahl.net>
parents:
6212
diff
changeset
|
261 (h, h1, h2) = map(short, (n, p1, p2)) |
356 | 262 (i1, i2) = map(repo.changelog.rev, (p1, p2)) |
267 | 263 |
3979
e0d13267f7a4
hgk: use contexts
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
3978
diff
changeset
|
264 date = ctx.date()[0] |
5878
d39af2eabb8c
transform a bunch of print statements to appropriate ui calls
Matt Mackall <mpm@selenic.com>
parents:
5859
diff
changeset
|
265 ui.write("%s %s:%s" % (date, h, mask)) |
356 | 266 mask = is_reachable(want_sha1, reachable, p1) |
6217
fe8dbbe9520d
Avoid importing mercurial.node/mercurial.repo stuff from mercurial.hg
Joel Rosdahl <joel@rosdahl.net>
parents:
6212
diff
changeset
|
267 if i1 != nullrev and mask > 0: |
5878
d39af2eabb8c
transform a bunch of print statements to appropriate ui calls
Matt Mackall <mpm@selenic.com>
parents:
5859
diff
changeset
|
268 ui.write("%s:%s " % (h1, mask)), |
356 | 269 mask = is_reachable(want_sha1, reachable, p2) |
6217
fe8dbbe9520d
Avoid importing mercurial.node/mercurial.repo stuff from mercurial.hg
Joel Rosdahl <joel@rosdahl.net>
parents:
6212
diff
changeset
|
270 if i2 != nullrev and mask > 0: |
5878
d39af2eabb8c
transform a bunch of print statements to appropriate ui calls
Matt Mackall <mpm@selenic.com>
parents:
5859
diff
changeset
|
271 ui.write("%s:%s " % (h2, mask)) |
d39af2eabb8c
transform a bunch of print statements to appropriate ui calls
Matt Mackall <mpm@selenic.com>
parents:
5859
diff
changeset
|
272 ui.write("\n") |
356 | 273 if maxnr and count >= maxnr: |
274 break | |
275 count += 1 | |
267 | 276 |
3093
edefbb3a3b08
hgk: add --limit, and revranges
Brendan Cully <brendan@kublai.com>
parents:
3092
diff
changeset
|
277 def revparse(ui, repo, *revs, **opts): |
7598 | 278 """parse given revisions""" |
3093
edefbb3a3b08
hgk: add --limit, and revranges
Brendan Cully <brendan@kublai.com>
parents:
3092
diff
changeset
|
279 def revstr(rev): |
edefbb3a3b08
hgk: add --limit, and revranges
Brendan Cully <brendan@kublai.com>
parents:
3092
diff
changeset
|
280 if rev == 'HEAD': |
edefbb3a3b08
hgk: add --limit, and revranges
Brendan Cully <brendan@kublai.com>
parents:
3092
diff
changeset
|
281 rev = 'tip' |
edefbb3a3b08
hgk: add --limit, and revranges
Brendan Cully <brendan@kublai.com>
parents:
3092
diff
changeset
|
282 return revlog.hex(repo.lookup(rev)) |
edefbb3a3b08
hgk: add --limit, and revranges
Brendan Cully <brendan@kublai.com>
parents:
3092
diff
changeset
|
283 |
edefbb3a3b08
hgk: add --limit, and revranges
Brendan Cully <brendan@kublai.com>
parents:
3092
diff
changeset
|
284 for r in revs: |
edefbb3a3b08
hgk: add --limit, and revranges
Brendan Cully <brendan@kublai.com>
parents:
3092
diff
changeset
|
285 revrange = r.split(':', 1) |
edefbb3a3b08
hgk: add --limit, and revranges
Brendan Cully <brendan@kublai.com>
parents:
3092
diff
changeset
|
286 ui.write('%s\n' % revstr(revrange[0])) |
edefbb3a3b08
hgk: add --limit, and revranges
Brendan Cully <brendan@kublai.com>
parents:
3092
diff
changeset
|
287 if len(revrange) == 2: |
edefbb3a3b08
hgk: add --limit, and revranges
Brendan Cully <brendan@kublai.com>
parents:
3092
diff
changeset
|
288 ui.write('^%s\n' % revstr(revrange[1])) |
edefbb3a3b08
hgk: add --limit, and revranges
Brendan Cully <brendan@kublai.com>
parents:
3092
diff
changeset
|
289 |
267 | 290 # git rev-list tries to order things by date, and has the ability to stop |
291 # at a given commit without walking the whole repo. TODO add the stop | |
292 # parameter | |
1239
29f17e083e84
Turn hgit into an extension, and add commands supporting the latest gitk
mason@suse.com
parents:
740
diff
changeset
|
293 def revlist(ui, repo, *revs, **opts): |
29f17e083e84
Turn hgit into an extension, and add commands supporting the latest gitk
mason@suse.com
parents:
740
diff
changeset
|
294 """print revisions""" |
29f17e083e84
Turn hgit into an extension, and add commands supporting the latest gitk
mason@suse.com
parents:
740
diff
changeset
|
295 if opts['header']: |
356 | 296 full = "commit" |
297 else: | |
298 full = None | |
1239
29f17e083e84
Turn hgit into an extension, and add commands supporting the latest gitk
mason@suse.com
parents:
740
diff
changeset
|
299 copy = [x for x in revs] |
5878
d39af2eabb8c
transform a bunch of print statements to appropriate ui calls
Matt Mackall <mpm@selenic.com>
parents:
5859
diff
changeset
|
300 revtree(ui, copy, repo, full, opts['max_count'], opts['parents']) |
267 | 301 |
5393
c2ad1890fc53
hgk: add debug-config command to pass configuration options
Patrick Mezard <pmezard@gmail.com>
parents:
4730
diff
changeset
|
302 def config(ui, repo, **opts): |
c2ad1890fc53
hgk: add debug-config command to pass configuration options
Patrick Mezard <pmezard@gmail.com>
parents:
4730
diff
changeset
|
303 """print extension options""" |
c2ad1890fc53
hgk: add debug-config command to pass configuration options
Patrick Mezard <pmezard@gmail.com>
parents:
4730
diff
changeset
|
304 def writeopt(name, value): |
5760
0145f9afb0e7
Removed tabs and trailing whitespace in python files
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5395
diff
changeset
|
305 ui.write('k=%s\nv=%s\n' % (name, value)) |
5393
c2ad1890fc53
hgk: add debug-config command to pass configuration options
Patrick Mezard <pmezard@gmail.com>
parents:
4730
diff
changeset
|
306 |
c2ad1890fc53
hgk: add debug-config command to pass configuration options
Patrick Mezard <pmezard@gmail.com>
parents:
4730
diff
changeset
|
307 writeopt('vdiff', ui.config('hgk', 'vdiff', '')) |
5760
0145f9afb0e7
Removed tabs and trailing whitespace in python files
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5395
diff
changeset
|
308 |
5393
c2ad1890fc53
hgk: add debug-config command to pass configuration options
Patrick Mezard <pmezard@gmail.com>
parents:
4730
diff
changeset
|
309 |
3093
edefbb3a3b08
hgk: add --limit, and revranges
Brendan Cully <brendan@kublai.com>
parents:
3092
diff
changeset
|
310 def view(ui, repo, *etc, **opts): |
1278 | 311 "start interactive history viewer" |
312 os.chdir(repo.root) | |
3180
eb0906ebba81
hgk: fix mixup of --limit and REVRANGE in hgk call
TK Soh <teekaysoh@yahoo.com>
parents:
3093
diff
changeset
|
313 optstr = ' '.join(['--%s %s' % (k, v) for k, v in opts.iteritems() if v]) |
eb0906ebba81
hgk: fix mixup of --limit and REVRANGE in hgk call
TK Soh <teekaysoh@yahoo.com>
parents:
3093
diff
changeset
|
314 cmd = ui.config("hgk", "path", "hgk") + " %s %s" % (optstr, " ".join(etc)) |
9467
4c041f1ee1b4
do not attempt to translate ui.debug output
Martin Geisler <mg@lazybytes.net>
parents:
9261
diff
changeset
|
315 ui.debug("running %s\n" % cmd) |
4688
39001f4b7d99
hgk: Use $HG instead of hg (see 849f011dbf79)
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4039
diff
changeset
|
316 util.system(cmd) |
1278 | 317 |
1239
29f17e083e84
Turn hgit into an extension, and add commands supporting the latest gitk
mason@suse.com
parents:
740
diff
changeset
|
318 cmdtable = { |
4730
eadfaa9ec487
Updated command tables in commands.py and hgext extensions.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4688
diff
changeset
|
319 "^view": |
eadfaa9ec487
Updated command tables in commands.py and hgext extensions.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4688
diff
changeset
|
320 (view, |
11321
40c06bbf58be
help: show value requirement and multiple occurrence of options
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
11193
diff
changeset
|
321 [('l', 'limit', '', |
40c06bbf58be
help: show value requirement and multiple occurrence of options
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
11193
diff
changeset
|
322 _('limit number of changes displayed'), _('NUM'))], |
7000
af694c6a888c
i18n, hgk: mark command line options for translation
Martin Geisler <mg@daimi.au.dk>
parents:
6958
diff
changeset
|
323 _('hg view [-l LIMIT] [REVRANGE]')), |
4730
eadfaa9ec487
Updated command tables in commands.py and hgext extensions.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4688
diff
changeset
|
324 "debug-diff-tree": |
eadfaa9ec487
Updated command tables in commands.py and hgext extensions.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4688
diff
changeset
|
325 (difftree, |
7000
af694c6a888c
i18n, hgk: mark command line options for translation
Martin Geisler <mg@daimi.au.dk>
parents:
6958
diff
changeset
|
326 [('p', 'patch', None, _('generate patch')), |
af694c6a888c
i18n, hgk: mark command line options for translation
Martin Geisler <mg@daimi.au.dk>
parents:
6958
diff
changeset
|
327 ('r', 'recursive', None, _('recursive')), |
af694c6a888c
i18n, hgk: mark command line options for translation
Martin Geisler <mg@daimi.au.dk>
parents:
6958
diff
changeset
|
328 ('P', 'pretty', None, _('pretty')), |
af694c6a888c
i18n, hgk: mark command line options for translation
Martin Geisler <mg@daimi.au.dk>
parents:
6958
diff
changeset
|
329 ('s', 'stdin', None, _('stdin')), |
af694c6a888c
i18n, hgk: mark command line options for translation
Martin Geisler <mg@daimi.au.dk>
parents:
6958
diff
changeset
|
330 ('C', 'copy', None, _('detect copies')), |
af694c6a888c
i18n, hgk: mark command line options for translation
Martin Geisler <mg@daimi.au.dk>
parents:
6958
diff
changeset
|
331 ('S', 'search', "", _('search'))], |
af694c6a888c
i18n, hgk: mark command line options for translation
Martin Geisler <mg@daimi.au.dk>
parents:
6958
diff
changeset
|
332 _('hg git-diff-tree [OPTION]... NODE1 NODE2 [FILE]...')), |
4730
eadfaa9ec487
Updated command tables in commands.py and hgext extensions.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4688
diff
changeset
|
333 "debug-cat-file": |
eadfaa9ec487
Updated command tables in commands.py and hgext extensions.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4688
diff
changeset
|
334 (catfile, |
7000
af694c6a888c
i18n, hgk: mark command line options for translation
Martin Geisler <mg@daimi.au.dk>
parents:
6958
diff
changeset
|
335 [('s', 'stdin', None, _('stdin'))], |
af694c6a888c
i18n, hgk: mark command line options for translation
Martin Geisler <mg@daimi.au.dk>
parents:
6958
diff
changeset
|
336 _('hg debug-cat-file [OPTION]... TYPE FILE')), |
5393
c2ad1890fc53
hgk: add debug-config command to pass configuration options
Patrick Mezard <pmezard@gmail.com>
parents:
4730
diff
changeset
|
337 "debug-config": |
7000
af694c6a888c
i18n, hgk: mark command line options for translation
Martin Geisler <mg@daimi.au.dk>
parents:
6958
diff
changeset
|
338 (config, [], _('hg debug-config')), |
4730
eadfaa9ec487
Updated command tables in commands.py and hgext extensions.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4688
diff
changeset
|
339 "debug-merge-base": |
8946
576623f95972
hgk: standardize cmdline help strings
Martin Geisler <mg@lazybytes.net>
parents:
8894
diff
changeset
|
340 (base, [], _('hg debug-merge-base REV REV')), |
4730
eadfaa9ec487
Updated command tables in commands.py and hgext extensions.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4688
diff
changeset
|
341 "debug-rev-parse": |
eadfaa9ec487
Updated command tables in commands.py and hgext extensions.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4688
diff
changeset
|
342 (revparse, |
7000
af694c6a888c
i18n, hgk: mark command line options for translation
Martin Geisler <mg@daimi.au.dk>
parents:
6958
diff
changeset
|
343 [('', 'default', '', _('ignored'))], |
af694c6a888c
i18n, hgk: mark command line options for translation
Martin Geisler <mg@daimi.au.dk>
parents:
6958
diff
changeset
|
344 _('hg debug-rev-parse REV')), |
4730
eadfaa9ec487
Updated command tables in commands.py and hgext extensions.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4688
diff
changeset
|
345 "debug-rev-list": |
eadfaa9ec487
Updated command tables in commands.py and hgext extensions.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4688
diff
changeset
|
346 (revlist, |
7000
af694c6a888c
i18n, hgk: mark command line options for translation
Martin Geisler <mg@daimi.au.dk>
parents:
6958
diff
changeset
|
347 [('H', 'header', None, _('header')), |
af694c6a888c
i18n, hgk: mark command line options for translation
Martin Geisler <mg@daimi.au.dk>
parents:
6958
diff
changeset
|
348 ('t', 'topo-order', None, _('topo-order')), |
af694c6a888c
i18n, hgk: mark command line options for translation
Martin Geisler <mg@daimi.au.dk>
parents:
6958
diff
changeset
|
349 ('p', 'parents', None, _('parents')), |
af694c6a888c
i18n, hgk: mark command line options for translation
Martin Geisler <mg@daimi.au.dk>
parents:
6958
diff
changeset
|
350 ('n', 'max-count', 0, _('max-count'))], |
8946
576623f95972
hgk: standardize cmdline help strings
Martin Geisler <mg@lazybytes.net>
parents:
8894
diff
changeset
|
351 _('hg debug-rev-list [OPTION]... REV...')), |
1239
29f17e083e84
Turn hgit into an extension, and add commands supporting the latest gitk
mason@suse.com
parents:
740
diff
changeset
|
352 } |