Show More
@@ -354,6 +354,9 b' class localrepository:' | |||
|
354 | 354 | return filelog(self.opener, f) |
|
355 | 355 | |
|
356 | 356 | def transaction(self): |
|
357 | # save dirstate for undo | |
|
358 | ds = self.opener("dirstate").read() | |
|
359 | self.opener("undo.dirstate", "w").write(ds) | |
|
357 | 360 | return transaction(self.opener, self.join("journal"), |
|
358 | 361 | self.join("undo")) |
|
359 | 362 | |
@@ -368,19 +371,11 b' class localrepository:' | |||
|
368 | 371 | def undo(self): |
|
369 | 372 | lock = self.lock() |
|
370 | 373 | if os.path.exists(self.join("undo")): |
|
371 | f = self.changelog.read(self.changelog.tip())[3] | |
|
372 | 374 | self.ui.status("attempting to rollback last transaction\n") |
|
373 | 375 | rollback(self.opener, self.join("undo")) |
|
374 |
self. |
|
|
375 | self.changelog = changelog(self.opener) | |
|
376 | ||
|
377 | self.ui.status("discarding dirstate\n") | |
|
378 | node = self.changelog.tip() | |
|
379 | f.sort() | |
|
380 | ||
|
381 | self.dirstate.setparents(node) | |
|
382 | self.dirstate.update(f, 'i') | |
|
383 | ||
|
376 | self.dirstate = None | |
|
377 | os.rename(self.join("undo.dirstate"), self.join("dirstate")) | |
|
378 | self.dirstate = dirstate(self.opener, self.ui, self.root) | |
|
384 | 379 | else: |
|
385 | 380 | self.ui.warn("no undo information available\n") |
|
386 | 381 |
General Comments 0
You need to be logged in to leave comments.
Login now