Mercurial > hg
comparison hgext/rebase.py @ 8454:6d4bf1c1a003
rebase: use set instead of dict
author | Benoit Boissinot <benoit.boissinot@ens-lyon.org> |
---|---|
date | Sun, 17 May 2009 02:55:22 +0200 |
parents | 3477ad0b1f2c |
children | 94ca38e63576 |
comparison
equal
deleted
inserted
replaced
8453:d1ca637b0773 | 8454:6d4bf1c1a003 |
---|---|
49 If a rebase is interrupted to manually resolve a merge, it can be | 49 If a rebase is interrupted to manually resolve a merge, it can be |
50 continued with --continue/-c or aborted with --abort/-a. | 50 continued with --continue/-c or aborted with --abort/-a. |
51 """ | 51 """ |
52 originalwd = target = None | 52 originalwd = target = None |
53 external = nullrev | 53 external = nullrev |
54 state = skipped = {} | 54 state = {} |
55 skipped = set() | |
55 | 56 |
56 lock = wlock = None | 57 lock = wlock = None |
57 try: | 58 try: |
58 lock = repo.lock() | 59 lock = repo.lock() |
59 wlock = repo.wlock() | 60 wlock = repo.wlock() |
141 if skipped: | 142 if skipped: |
142 ui.note(_("%d revisions have been skipped\n") % len(skipped)) | 143 ui.note(_("%d revisions have been skipped\n") % len(skipped)) |
143 finally: | 144 finally: |
144 release(lock, wlock) | 145 release(lock, wlock) |
145 | 146 |
146 def concludenode(repo, rev, p1, p2, state, collapse, last=False, skipped={}, | 147 def concludenode(repo, rev, p1, p2, state, collapse, last=False, skipped=None, |
147 extrafn=None): | 148 extrafn=None): |
148 """Skip commit if collapsing has been required and rev is not the last | 149 """Skip commit if collapsing has been required and rev is not the last |
149 revision, commit otherwise | 150 revision, commit otherwise |
150 """ | 151 """ |
151 repo.ui.debug(_(" set parents\n")) | 152 repo.ui.debug(_(" set parents\n")) |
152 if collapse and not last: | 153 if collapse and not last: |
153 repo.dirstate.setparents(repo[p1].node()) | 154 repo.dirstate.setparents(repo[p1].node()) |
154 return None | 155 return None |
155 | 156 |
156 repo.dirstate.setparents(repo[p1].node(), repo[p2].node()) | 157 repo.dirstate.setparents(repo[p1].node(), repo[p2].node()) |
158 | |
159 if skipped is None: | |
160 skipped = set() | |
157 | 161 |
158 # Commit, record the old nodeid | 162 # Commit, record the old nodeid |
159 m, a, r = repo.status()[:3] | 163 m, a, r = repo.status()[:3] |
160 newrev = nullrev | 164 newrev = nullrev |
161 try: | 165 try: |
232 state[rev] = repo[newrev].rev() | 236 state[rev] = repo[newrev].rev() |
233 else: | 237 else: |
234 if not collapse: | 238 if not collapse: |
235 repo.ui.note(_('no changes, revision %d skipped\n') % rev) | 239 repo.ui.note(_('no changes, revision %d skipped\n') % rev) |
236 repo.ui.debug(_('next revision set to %s\n') % p1) | 240 repo.ui.debug(_('next revision set to %s\n') % p1) |
237 skipped[rev] = True | 241 skipped.add(rev) |
238 state[rev] = p1 | 242 state[rev] = p1 |
239 | 243 |
240 def defineparents(repo, rev, target, state, targetancestors): | 244 def defineparents(repo, rev, target, state, targetancestors): |
241 'Return the new parent relationship of the revision that will be rebased' | 245 'Return the new parent relationship of the revision that will be rebased' |
242 parents = repo[rev].parents() | 246 parents = repo[rev].parents() |