Mercurial > public > mercurial-scm > evolve
diff hgext/evolve.py @ 492:7ecd41520dae
rename `stabilize` to `evolve`
stabilize keep being valide but as Matt still like "Changeset Evolution" as a
name evolve make more sense.
Stabilize is a bit too tight to unstable too.
author | Pierre-Yves David <pierre-yves.david@logilab.fr> |
---|---|
date | Fri, 24 Aug 2012 11:17:18 +0200 |
parents | 6989d8fe4ed2 |
children | 43e1b2cab789 |
line wrap: on
line diff
--- a/hgext/evolve.py Fri Aug 24 10:44:23 2012 +0200 +++ b/hgext/evolve.py Fri Aug 24 11:17:18 2012 +0200 @@ -904,20 +904,20 @@ @eh.reposetup def _repostabilizesetup(ui, repo): - """Add a hint for "hg stabilize" when troubles make push fails + """Add a hint for "hg evolve" when troubles make push fails """ if not repo.local(): return opush = repo.push - class stabilizerrepo(repo.__class__): + class evolvingrepo(repo.__class__): def push(self, remote, *args, **opts): """wrapper around pull that pull obsolete relation""" try: result = opush(remote, *args, **opts) except util.Abort, ex: - hint = _("use 'hg stabilize' to get a stable history " + hint = _("use 'hg evolve' to get a stable history " "or --force to ignore warnings") if (len(ex.args) >= 1 and ex.args[0].startswith('push includes ') @@ -925,7 +925,7 @@ ex.hint = hint raise return result - repo.__class__ = stabilizerrepo + repo.__class__ = evolvingrepo @eh.wrapcommand("summary") def obssummary(orig, ui, repo, *args, **kwargs): @@ -1297,21 +1297,31 @@ cmdtable = {} command = cmdutil.command(cmdtable) -@command('^stabilize|evolve|solve', +@command('^evolve|stabilize|evolve|solve', [('n', 'dry-run', False, 'do not perform actions, print what to be done'), - ('A', 'any', False, 'stabilize any unstable changeset'), - ('c', 'continue', False, 'continue an interrupted stabilized'), ], + ('A', 'any', False, 'evolve any troubled changeset'), + ('c', 'continue', False, 'continue an interrupted evolution'), ], _('[OPTIONS]...')) -def stabilize(ui, repo, **opts): - """rebase an unstable changeset to make it stable again +def evolve(ui, repo, **opts): + """Solve trouble in your repository + + - rebase unstable changeset to make it stable again, + - create proper diff from latecomer changeset, + - merge conflicting changeset. - By default, take the first unstable changeset which could be - rebased as child of the working directory parent revision or one - of its descendants and rebase it. + By default, take the first troubles changeset that looks relevant. + + (The logic is still a bit fuzzy) - With --any, stabilize any unstable changeset. + - For unstable, that mean the first which could be rebased as child of the + working directory parent revision or one of its descendants and rebase + it. - The working directory is updated to the rebased revision. + - For conflicting this mean "." if applicable. + + With --any, evolve pick any troubled changeset to solve + + The working directory is updated to the newly created revision. """ contopt = opts['continue'] @@ -1327,7 +1337,7 @@ tr = _picknexttroubled(ui, repo, anyopt) if tr is None: if troubled: - ui.write_err(_('nothing to stabilize here\n')) + ui.write_err(_('nothing to evolve here\n')) ui.status(_('(%i troubled changesets, do you want --any ?)\n') % len(troubled)) return 2 @@ -1404,8 +1414,8 @@ relocate(repo, orig, target) except MergeFailure: repo.opener.write('graftstate', orig.hex() + '\n') - repo.ui.write_err(_('stabilize failed!\n')) - repo.ui.write_err(_('fix conflict and run "hg stabilize --continue"\n')) + repo.ui.write_err(_('evolve failed!\n')) + repo.ui.write_err(_('fix conflict and run "hg evolve --continue"\n')) raise finally: lock.release() @@ -1419,7 +1429,7 @@ prec = repo.set('last(allprecursors(%d) and public())', latecomer).next() # For now we deny target merge if len(prec.parents()) > 1: - raise util.Abort('late comer stabilization is confused by precursors' + raise util.Abort('late comer evolution is confused by precursors' ' %s being a merge' % prec) displayer = cmdutil.show_changeset(ui, repo, {'template': shorttemplate}) @@ -1456,8 +1466,8 @@ createmarkers(repo, [(latecomer, (tmpctx,))]) except MergeFailure: repo.opener.write('graftstate', latecomer.hex() + '\n') - repo.ui.write_err(_('stabilize failed!\n')) - repo.ui.write_err(_('fix conflict and run "hg stabilize --continue"\n')) + repo.ui.write_err(_('evolution failed!\n')) + repo.ui.write_err(_('fix conflict and run "hg evolve --continue"\n')) raise # Create the new commit context repo.ui.status(_('computing new diff\n')) @@ -1565,7 +1575,8 @@ "or 'hg update -C .' to abandon\n")) #repo.dirstate.write() if stats[3] > 0: - raise util.Abort('GASP! Merge Conflict! You are on you own chap!') + raise util.Abort('GASP! Merge Conflict! You are on you own chap!', + hint='/!\\ hg evolve --continue will NOT work /!\\') tr = repo.transaction('stabilize-conflicting') try: repo.dirstate.setparents(conflicting.node(), node.nullid)