mirror of
https://github.com/facebook/sapling.git
synced 2024-10-11 17:27:53 +03:00
6240007914
Before this patch undo.bookmarks was created on bookmarks write and not with other transaction-related files. There were two issues: first is that if you have changed bookmarks few times after a transaction happened, rollback will give you a state which can point to non-existing revision. Second is that if you have not changed bookmarks after a transaction, rollback will touch your state anyway. This change also adds `localrepo._writejournal` method, which can be used by other extensions to save their transaction-related backup in right time.
21 lines
526 B
Perl
21 lines
526 B
Perl
Test hangup signal in the middle of transaction
|
|
|
|
$ "$TESTDIR/hghave" fifo || exit 80
|
|
$ hg init
|
|
$ mkfifo p
|
|
$ hg serve --stdio < p &
|
|
$ P=$!
|
|
$ (echo lock; echo addchangegroup; sleep 5) > p &
|
|
$ Q=$!
|
|
$ sleep 3
|
|
0
|
|
0
|
|
adding changesets
|
|
$ kill -HUP $P
|
|
$ wait
|
|
transaction abort!
|
|
rollback completed
|
|
killed!
|
|
$ echo .hg/* .hg/store/*
|
|
.hg/00changelog.i .hg/journal.bookmarks .hg/journal.branch .hg/journal.desc .hg/journal.dirstate .hg/requires .hg/store .hg/store/00changelog.i .hg/store/00changelog.i.a
|