##// END OF EJS Templates
rebase: move storestatus onto rebaseruntime...
Durham Goode -
r31223:685b8d07 default
parent child Browse files
Show More
@@ -159,6 +159,31 class rebaseruntime(object):
159 159 self.keepopen = opts.get('keepopen', False)
160 160 self.obsoletenotrebased = {}
161 161
162 def storestatus(self):
163 """Store the current status to allow recovery"""
164 repo = self.repo
165 f = repo.vfs("rebasestate", "w")
166 f.write(repo[self.originalwd].hex() + '\n')
167 f.write(repo[self.target].hex() + '\n')
168 f.write(repo[self.external].hex() + '\n')
169 f.write('%d\n' % int(self.collapsef))
170 f.write('%d\n' % int(self.keepf))
171 f.write('%d\n' % int(self.keepbranchesf))
172 f.write('%s\n' % (self.activebookmark or ''))
173 for d, v in self.state.iteritems():
174 oldrev = repo[d].hex()
175 if v >= 0:
176 newrev = repo[v].hex()
177 elif v == revtodo:
178 # To maintain format compatibility, we have to use nullid.
179 # Please do remove this special case when upgrading the format.
180 newrev = hex(nullid)
181 else:
182 newrev = v
183 f.write("%s:%s\n" % (oldrev, newrev))
184 f.close()
185 repo.ui.debug('rebase status stored\n')
186
162 187 def restorestatus(self):
163 188 """Restore a previously stored status"""
164 189 repo = self.repo
@@ -358,10 +383,7 class rebaseruntime(object):
358 383 self.state,
359 384 self.targetancestors,
360 385 self.obsoletenotrebased)
361 storestatus(repo, self.originalwd, self.target,
362 self.state, self.collapsef, self.keepf,
363 self.keepbranchesf, self.external,
364 self.activebookmark)
386 self.storestatus()
365 387 storecollapsemsg(repo, self.collapsemsg)
366 388 if len(repo[None].parents()) == 2:
367 389 repo.ui.debug('resuming interrupted rebase\n')
@@ -1076,31 +1098,6 def restorecollapsemsg(repo):
1076 1098 raise error.Abort(_('no rebase in progress'))
1077 1099 return collapsemsg
1078 1100
1079 def storestatus(repo, originalwd, target, state, collapse, keep, keepbranches,
1080 external, activebookmark):
1081 'Store the current status to allow recovery'
1082 f = repo.vfs("rebasestate", "w")
1083 f.write(repo[originalwd].hex() + '\n')
1084 f.write(repo[target].hex() + '\n')
1085 f.write(repo[external].hex() + '\n')
1086 f.write('%d\n' % int(collapse))
1087 f.write('%d\n' % int(keep))
1088 f.write('%d\n' % int(keepbranches))
1089 f.write('%s\n' % (activebookmark or ''))
1090 for d, v in state.iteritems():
1091 oldrev = repo[d].hex()
1092 if v >= 0:
1093 newrev = repo[v].hex()
1094 elif v == revtodo:
1095 # To maintain format compatibility, we have to use nullid.
1096 # Please do remove this special case when upgrading the format.
1097 newrev = hex(nullid)
1098 else:
1099 newrev = v
1100 f.write("%s:%s\n" % (oldrev, newrev))
1101 f.close()
1102 repo.ui.debug('rebase status stored\n')
1103
1104 1101 def clearstatus(repo):
1105 1102 'Remove the status files'
1106 1103 _clearrebasesetvisibiliy(repo)
General Comments 0
You need to be logged in to leave comments. Login now