equal
deleted
inserted
replaced
30 ### extension check |
30 ### extension check |
31 ############################# |
31 ############################# |
32 |
32 |
33 def extsetup(ui): |
33 def extsetup(ui): |
34 try: |
34 try: |
35 rebase = extensions.find('obsolete') |
35 obsolete = extensions.find('obsolete') |
36 except KeyError: |
36 except KeyError: |
37 raise error.Abort(_('evolution extension require obsolete extension.')) |
37 raise error.Abort(_('evolution extension require obsolete extension.')) |
|
38 try: |
|
39 rebase = extensions.find('rebase') |
|
40 except KeyError: |
|
41 raise error.Abort(_('evolution extension require rebase extension.')) |
38 |
42 |
39 ### changeset rewriting logic |
43 ### changeset rewriting logic |
40 ############################# |
44 ############################# |
41 |
45 |
42 def rewrite(repo, old, updates, head, newbases, commitopts): |
46 def rewrite(repo, old, updates, head, newbases, commitopts): |
107 ### new command |
111 ### new command |
108 ############################# |
112 ############################# |
109 cmdtable = {} |
113 cmdtable = {} |
110 command = cmdutil.command(cmdtable) |
114 command = cmdutil.command(cmdtable) |
111 |
115 |
|
116 @command('^evolve', |
|
117 [], |
|
118 '') |
|
119 def evolve(ui, repo): |
|
120 """suggest the next evolution step""" |
|
121 obsolete = extensions.find('obsolete') |
|
122 next = min(obsolete.unstables(repo)) |
|
123 obs = repo[next].parents()[0] |
|
124 if not obs.obsolete(): |
|
125 obs = next.parents()[1] |
|
126 assert obs.obsolete() |
|
127 newer = obsolete.newerversion(repo, obs.node()) |
|
128 target = newer[-1] |
|
129 repo.ui.status('hg rebase --dest %s --source %s --detach \n' % (repo[target].rev(), next)) |
|
130 |
|
131 |
|
132 |
112 @command('^kill', |
133 @command('^kill', |
113 [], |
134 [], |
114 '<revs>') |
135 '<revs>') |
115 def kill(ui, repo, *revs): |
136 def kill(ui, repo, *revs): |
116 """mark a changeset as obsolete |
137 """mark a changeset as obsolete |