Mercurial > hg
comparison hgext/rebase.py @ 36933:61600b024a70
rebase: move constant expressions out of inner loop in _performrebase()
Differential Revision: https://phab.mercurial-scm.org/D2811
author | Martin von Zweigbergk <martinvonz@google.com> |
---|---|
date | Sun, 04 Mar 2018 09:07:06 -0800 |
parents | 437f80436186 |
children | 66651ec259ea |
comparison
equal
deleted
inserted
replaced
36932:437f80436186 | 36933:61600b024a70 |
---|---|
421 # if we fail before the transaction closes. | 421 # if we fail before the transaction closes. |
422 self.storestatus() | 422 self.storestatus() |
423 | 423 |
424 cands = [k for k, v in self.state.iteritems() if v == revtodo] | 424 cands = [k for k, v in self.state.iteritems() if v == revtodo] |
425 total = len(cands) | 425 total = len(cands) |
426 pos = 0 | 426 posholder = [0] |
427 def progress(ctx): | |
428 posholder[0] += 1 | |
429 self.repo.ui.progress(_("rebasing"), posholder[0], | |
430 ("%d:%s" % (ctx.rev(), ctx)), | |
431 _('changesets'), total) | |
432 allowdivergence = self.ui.configbool( | |
433 'experimental', 'evolution.allowdivergence') | |
427 for subset in sortsource(self.destmap): | 434 for subset in sortsource(self.destmap): |
428 sortedrevs = self.repo.revs('sort(%ld, -topo)', subset) | 435 sortedrevs = self.repo.revs('sort(%ld, -topo)', subset) |
429 allowdivergence = self.ui.configbool( | |
430 'experimental', 'evolution.allowdivergence') | |
431 if not allowdivergence: | 436 if not allowdivergence: |
432 sortedrevs -= self.repo.revs( | 437 sortedrevs -= self.repo.revs( |
433 'descendants(%ld) and not %ld', | 438 'descendants(%ld) and not %ld', |
434 self.obsoletewithoutsuccessorindestination, | 439 self.obsoletewithoutsuccessorindestination, |
435 self.obsoletewithoutsuccessorindestination, | 440 self.obsoletewithoutsuccessorindestination, |
436 ) | 441 ) |
437 posholder = [pos] | |
438 def progress(ctx): | |
439 posholder[0] += 1 | |
440 self.repo.ui.progress(_("rebasing"), posholder[0], | |
441 ("%d:%s" % (ctx.rev(), ctx)), | |
442 _('changesets'), total) | |
443 for rev in sortedrevs: | 442 for rev in sortedrevs: |
444 self._rebasenode(tr, rev, allowdivergence, progress) | 443 self._rebasenode(tr, rev, allowdivergence, progress) |
445 pos = posholder[0] | |
446 ui.progress(_('rebasing'), None) | 444 ui.progress(_('rebasing'), None) |
447 ui.note(_('rebase merging completed\n')) | 445 ui.note(_('rebase merging completed\n')) |
448 | 446 |
449 def _rebasenode(self, tr, rev, allowdivergence, progressfn): | 447 def _rebasenode(self, tr, rev, allowdivergence, progressfn): |
450 repo, ui, opts = self.repo, self.ui, self.opts | 448 repo, ui, opts = self.repo, self.ui, self.opts |