diff --git a/hgext/rebase.py b/hgext/rebase.py --- a/hgext/rebase.py +++ b/hgext/rebase.py @@ -658,6 +658,7 @@ def clearstatus(repo): def restorestatus(repo): 'Restore a previously stored status' try: + keepbranches = None target = None collapse = False external = nullrev @@ -687,6 +688,10 @@ def restorestatus(repo): state[repo[oldrev].rev()] = int(newrev) else: state[repo[oldrev].rev()] = repo[newrev].rev() + + if keepbranches is None: + raise util.Abort(_('.hg/rebasestate is incomplete')) + skipped = set() # recompute the set of skipped revs if not collapse: diff --git a/tests/test-rebase-abort.t b/tests/test-rebase-abort.t --- a/tests/test-rebase-abort.t +++ b/tests/test-rebase-abort.t @@ -13,6 +13,16 @@ $ hg init a $ cd a + $ touch .hg/rebasestate + $ hg sum + parent: -1:000000000000 tip (empty repository) + branch: default + commit: (clean) + update: (current) + abort: .hg/rebasestate is incomplete + [255] + $ rm .hg/rebasestate + $ echo c1 > common $ hg add common $ hg ci -m C1