##// 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:

r22502:e6e7ef68 merge default
r25879:99e88320 stable
Show More
test-changelog-exec.t
57 lines | 1.1 KiB | text/troff | Tads3Lexer
/ tests / test-changelog-exec.t
Matt Mackall
tests: replace exit 80 with #require
r22046 #require execbit
Martin Geisler
tests: unify test-changelog-exec
r11875 b51a8138292a introduced a regression where we would mention in the
changelog executable files added by the second parent of a merge. Test
that that doesn't happen anymore
$ hg init repo
$ cd repo
$ echo foo > foo
$ hg ci -qAm 'add foo'
$ echo bar > bar
$ chmod +x bar
$ hg ci -qAm 'add bar'
manifest of p2:
$ hg manifest
bar
foo
$ hg up -qC 0
$ echo >> foo
$ hg ci -m 'change foo'
created new head
manifest of p1:
$ hg manifest
foo
$ hg merge
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
Matt Mackall
commit: catch changed exec bit on files from p1 (issue4382)
r22492 $ chmod +x foo
Martin Geisler
tests: unify test-changelog-exec
r11875 $ hg ci -m 'merge'
Matt Mackall
commit: catch changed exec bit on files from p1 (issue4382)
r22492 this should not mention bar but should mention foo:
Martin Geisler
tests: unify test-changelog-exec
r11875
$ hg tip -v
Matt Mackall
commit: catch changed exec bit on files from p1 (issue4382)
r22492 changeset: 3:c53d17ff3380
Martin Geisler
tests: unify test-changelog-exec
r11875 tag: tip
parent: 2:ed1b79f46b9a
parent: 1:d394a8db219b
user: test
date: Thu Jan 01 00:00:00 1970 +0000
Matt Mackall
commit: catch changed exec bit on files from p1 (issue4382)
r22492 files: foo
Martin Geisler
tests: unify test-changelog-exec
r11875 description:
merge
Sune Foldager
tests: fix deprecated use of hg debugdata/debugindex...
r14182 $ hg debugindex bar
Bryan O'Sullivan
tests: reduce spurious failures when run with generaldelta...
r17132 rev offset length ..... linkrev nodeid p1 p2 (re)
0 0 5 ..... 1 b004912a8510 000000000000 000000000000 (re)
Mads Kiilerich
tests: add missing trailing 'cd ..'...
r16913
$ cd ..