Mercurial > hg-stable
changeset 5814:dd5a501cb97f
restore branch after rollback (issue 902)
author | Alexandre Vassalotti <mercurial-bugs@selenic.com> |
---|---|
date | Mon, 07 Jan 2008 15:26:12 -0600 |
parents | 3ef279074c77 |
children | 0637d97a8cb4 |
files | mercurial/localrepo.py tests/test-hup.out tests/test-rollback tests/test-rollback.out |
diffstat | 4 files changed, 15 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/localrepo.py Sun Jan 06 15:40:32 2008 +0100 +++ b/mercurial/localrepo.py Mon Jan 07 15:26:12 2008 -0600 @@ -525,9 +525,11 @@ except IOError: ds = "" self.opener("journal.dirstate", "w").write(ds) + self.opener("journal.branch", "w").write(self.dirstate.branch()) renames = [(self.sjoin("journal"), self.sjoin("undo")), - (self.join("journal.dirstate"), self.join("undo.dirstate"))] + (self.join("journal.dirstate"), self.join("undo.dirstate")), + (self.join("journal.branch"), self.join("undo.branch"))] tr = transaction.transaction(self.ui.warn, self.sopener, self.sjoin("journal"), aftertrans(renames)) @@ -557,6 +559,8 @@ self.ui.status(_("rolling back last transaction\n")) transaction.rollback(self.sopener, self.sjoin("undo")) util.rename(self.join("undo.dirstate"), self.join("dirstate")) + branch = self.opener("undo.branch").read() + self.dirstate.setbranch(branch) self.invalidate() self.dirstate.invalidate() else:
--- a/tests/test-hup.out Sun Jan 06 15:40:32 2008 +0100 +++ b/tests/test-hup.out Mon Jan 07 15:26:12 2008 -0600 @@ -4,4 +4,4 @@ transaction abort! rollback completed killed! -.hg/00changelog.i .hg/journal.dirstate .hg/requires .hg/store .hg/store/00changelog.i .hg/store/00changelog.i.a +.hg/00changelog.i .hg/journal.branch .hg/journal.dirstate .hg/requires .hg/store .hg/store/00changelog.i .hg/store/00changelog.i.a