##// END OF EJS Templates
transplant: restore dirstate correctly at unexpected failure...
transplant: restore dirstate correctly at unexpected failure Before this patch, transplant can't restore dirstate as expected at failure other than one while patching. This causes: - unexpected file status - dirstate refers already rollback-ed parent (only at failure of transplanting the 2nd or later revision) To restore dirstate correctly also at unexpected failure, this patch encloses scope of store lock and transaction by 'dirstateguard'. This is temporary fixing for stable branch. See DirstateTransactionPlan wiki page for detail about the future plan to treat dirstate consistently around scope boundary of transaction. https://mercurial.selenic.com/wiki/DirstateTransactionPlan This patch also adds 'if lock' examination for safety 'lock.release()', because creating 'dirstateguard' object may fail unexpectedly (e.g. IOError for saving dirstate). BTW, in the test script, putting section header '[extensions]' into '.hg/hgrc' is needed to fix incomplete disabling 'abort' extension at 4d1382fd96ff.

File last commit:

r21503:10f15e34 default
r25879:99e88320 stable
Show More
test-bookmarks-merge.t
152 lines | 4.1 KiB | text/troff | Tads3Lexer
/ tests / test-bookmarks-merge.t
David Soria Parra
bookmarks: delete divergent bookmarks on merge
r16706 # init
$ hg init
$ echo a > a
$ hg add a
$ hg commit -m'a'
$ echo b > b
$ hg add b
$ hg commit -m'b'
$ hg up -C 0
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ echo c > c
$ hg add c
$ hg commit -m'c'
created new head
# test merging of diverged bookmarks
$ hg bookmark -r 1 "c@diverge"
$ hg bookmark -r 1 b
$ hg bookmark c
$ hg bookmarks
b 1:d2ae7f538514
* c 2:d36c0562f908
c@diverge 1:d2ae7f538514
$ hg merge "c@diverge"
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
$ hg commit -m'merge'
$ hg bookmarks
b 1:d2ae7f538514
* c 3:b8f96cf4688b
David Soria Parra
merge: respect bookmarks during merge...
r16708
$ hg up -C 3
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
Siddharth Agarwal
update: when deactivating a bookmark, print a message...
r21404 (leaving bookmark c)
David Soria Parra
merge: respect bookmarks during merge...
r16708 $ echo d > d
$ hg add d
$ hg commit -m'd'
$ hg up -C 3
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
$ echo e > e
$ hg add e
$ hg commit -m'e'
created new head
$ hg up -C 5
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg bookmark e
$ hg bookmarks
b 1:d2ae7f538514
c 3:b8f96cf4688b
* e 5:26bee9c5bcf3
# the picked side is bookmarked
$ hg up -C 4
1 files updated, 0 files merged, 1 files removed, 0 files unresolved
Siddharth Agarwal
update: when deactivating a bookmark, print a message...
r21404 (leaving bookmark e)
David Soria Parra
merge: respect bookmarks during merge...
r16708 $ hg merge
abort: heads are bookmarked - please merge with an explicit rev
(run 'hg heads' to see all heads)
[255]
# our revision is bookmarked
$ hg up -C e
1 files updated, 0 files merged, 1 files removed, 0 files unresolved
Stephen Lee
update: show message when a bookmark is activated by update...
r21503 (activating bookmark e)
David Soria Parra
merge: respect bookmarks during merge...
r16708 $ hg merge
abort: no matching bookmark to merge - please merge with an explicit rev or bookmark
(run 'hg heads' to see all heads)
[255]
# merge bookmark heads
$ hg up -C 4
1 files updated, 0 files merged, 1 files removed, 0 files unresolved
Siddharth Agarwal
update: when deactivating a bookmark, print a message...
r21404 (leaving bookmark e)
David Soria Parra
merge: respect bookmarks during merge...
r16708 $ echo f > f
$ hg commit -Am "f"
adding f
Mads Kiilerich
bookmarks: fix head selection for merge with two bookmarked heads...
r18122 $ hg bookmarks -r 4 "e@diverged"
$ hg up -q -C "e@diverged"
$ hg merge
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
$ hg parents
changeset: 4:a0546fcfe0fb
bookmark: e@diverged
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: d
changeset: 5:26bee9c5bcf3
bookmark: e
parent: 3:b8f96cf4688b
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: e
David Soria Parra
merge: respect bookmarks during merge...
r16708 $ hg up -C e
Mads Kiilerich
bookmarks: fix head selection for merge with two bookmarked heads...
r18122 1 files updated, 0 files merged, 1 files removed, 0 files unresolved
Stephen Lee
update: show message when a bookmark is activated by update...
r21503 (activating bookmark e)
David Soria Parra
merge: respect bookmarks during merge...
r16708 $ hg bookmarks
b 1:d2ae7f538514
c 3:b8f96cf4688b
* e 5:26bee9c5bcf3
e@diverged 4:a0546fcfe0fb
$ hg merge
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
$ hg commit -m'merge'
$ hg bookmarks
b 1:d2ae7f538514
c 3:b8f96cf4688b
* e 7:ca784329f0ba
John Li
tests: merging bookmarked heads...
r17394
# test warning when all heads are inactive bookmarks
$ hg up -C 6
1 files updated, 0 files merged, 1 files removed, 0 files unresolved
Siddharth Agarwal
update: when deactivating a bookmark, print a message...
r21404 (leaving bookmark e)
John Li
tests: merging bookmarked heads...
r17394 $ echo g > g
$ hg commit -Am 'g'
adding g
$ hg bookmark -i g
$ hg bookmarks
b 1:d2ae7f538514
c 3:b8f96cf4688b
e 7:ca784329f0ba
g 8:04dd21731d95
$ hg heads
changeset: 8:04dd21731d95
bookmark: g
tag: tip
parent: 6:be381d1126a0
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: g
changeset: 7:ca784329f0ba
bookmark: e
parent: 5:26bee9c5bcf3
parent: 4:a0546fcfe0fb
user: test
date: Thu Jan 01 00:00:00 1970 +0000
summary: merge
$ hg merge
abort: heads are bookmarked - please merge with an explicit rev
(run 'hg heads' to see all heads)
[255]