equal
deleted
inserted
replaced
8 |
8 |
9 from mercurial import util |
9 from mercurial import util |
10 from mercurial import context |
10 from mercurial import context |
11 from mercurial import revset |
11 from mercurial import revset |
12 from mercurial import scmutil |
12 from mercurial import scmutil |
|
13 from mercurial import extensions |
13 from mercurial.node import hex, bin |
14 from mercurial.node import hex, bin |
14 |
15 |
15 # Patch changectx |
16 # Patch changectx |
16 ############################# |
17 ############################# |
17 |
18 |
43 args = revset.getargs(x, 0, 0, 'publicheads takes no arguments') |
44 args = revset.getargs(x, 0, 0, 'publicheads takes no arguments') |
44 return [r for r in subset if repo[r].obsolete()] # XXX slow |
45 return [r for r in subset if repo[r].obsolete()] # XXX slow |
45 |
46 |
46 def extsetup(ui): |
47 def extsetup(ui): |
47 revset.symbols["obsolete"] = revsetobsolete |
48 revset.symbols["obsolete"] = revsetobsolete |
|
49 try: |
|
50 rebase = extensions.find('rebase') |
|
51 if rebase: |
|
52 extensions.wrapfunction(rebase, 'concludenode', concludenode) |
|
53 except KeyError: |
|
54 pass # rebase not found |
48 |
55 |
49 # New commands |
56 # New commands |
50 ############################# |
57 ############################# |
51 |
58 |
52 |
59 |
137 self._writeobsrels() |
144 self._writeobsrels() |
138 |
145 |
139 repo.__class__ = obsoletingrepo |
146 repo.__class__ = obsoletingrepo |
140 |
147 |
141 |
148 |
|
149 ### Other Extension compat |
|
150 ############################ |
|
151 |
|
152 def concludenode(orig, repo, rev, *args, **kwargs): |
|
153 newrev = orig(repo, rev, *args, **kwargs) |
|
154 oldnode = repo[rev].node() |
|
155 newnode = repo[newrev].node() |
|
156 repo.addobsolete(newnode, oldnode) |
|
157 return newrev |
|
158 |