##// END OF EJS Templates
subrepo: avoids empty commit when .hgsubstate is dirty (issue2403)...
subrepo: avoids empty commit when .hgsubstate is dirty (issue2403) This patch avoids empty commit when .hgsubstate is dirty. Empty commit was caused by .hgsubstate being updated back to the state of the working copy parent when committing, if a user had changed it manually and not made any changes in subrepositories. The subrepository state from the working copies parent is compared with the state calculated as a result of trying to commit the subrepositories. If the two states are the same, then return None otherwise the commit is just done. The line: "committing subrepository x" will be written if there is nothing committed, but .hgsubstate is dirty for x subrepository.

File last commit:

r12156:4c94b6d0 default
r13155:f02d7a56 default
Show More
test-excessive-merge.t
101 lines | 3.0 KiB | text/troff | Tads3Lexer
/ tests / test-excessive-merge.t
Pradeepkumar Gayam
tests: unify test-excessive-merge
r11974 $ hg init
$ echo foo > a
$ echo foo > b
$ hg add a b
Martin Geisler
tests: remove unneeded -d flags...
r12156 $ hg ci -m "test"
Pradeepkumar Gayam
tests: unify test-excessive-merge
r11974
$ echo blah > a
Martin Geisler
tests: remove unneeded -d flags...
r12156 $ hg ci -m "branch a"
Pradeepkumar Gayam
tests: unify test-excessive-merge
r11974
$ hg co 0
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ echo blah > b
Martin Geisler
tests: remove unneeded -d flags...
r12156 $ hg ci -m "branch b"
Pradeepkumar Gayam
tests: unify test-excessive-merge
r11974 created new head
$ HGMERGE=true hg merge 1
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
Martin Geisler
tests: remove unneeded -d flags...
r12156 $ hg ci -m "merge b/a -> blah"
Pradeepkumar Gayam
tests: unify test-excessive-merge
r11974
$ hg co 1
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ HGMERGE=true hg merge 2
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
Martin Geisler
tests: remove unneeded -d flags...
r12156 $ hg ci -m "merge a/b -> blah"
Pradeepkumar Gayam
tests: unify test-excessive-merge
r11974 created new head
$ hg log
Martin Geisler
tests: remove unneeded -d flags...
r12156 changeset: 4:2ee31f665a86
Pradeepkumar Gayam
tests: unify test-excessive-merge
r11974 tag: tip
Martin Geisler
tests: remove unneeded -d flags...
r12156 parent: 1:96155394af80
parent: 2:92cc4c306b19
Pradeepkumar Gayam
tests: unify test-excessive-merge
r11974 user: test
Martin Geisler
tests: remove unneeded -d flags...
r12156 date: Thu Jan 01 00:00:00 1970 +0000
Pradeepkumar Gayam
tests: unify test-excessive-merge
r11974 summary: merge a/b -> blah
Martin Geisler
tests: remove unneeded -d flags...
r12156 changeset: 3:e16a66a37edd
parent: 2:92cc4c306b19
parent: 1:96155394af80
Pradeepkumar Gayam
tests: unify test-excessive-merge
r11974 user: test
Martin Geisler
tests: remove unneeded -d flags...
r12156 date: Thu Jan 01 00:00:00 1970 +0000
Pradeepkumar Gayam
tests: unify test-excessive-merge
r11974 summary: merge b/a -> blah
Martin Geisler
tests: remove unneeded -d flags...
r12156 changeset: 2:92cc4c306b19
parent: 0:5e0375449e74
Pradeepkumar Gayam
tests: unify test-excessive-merge
r11974 user: test
Martin Geisler
tests: remove unneeded -d flags...
r12156 date: Thu Jan 01 00:00:00 1970 +0000
Pradeepkumar Gayam
tests: unify test-excessive-merge
r11974 summary: branch b
Martin Geisler
tests: remove unneeded -d flags...
r12156 changeset: 1:96155394af80
Pradeepkumar Gayam
tests: unify test-excessive-merge
r11974 user: test
Martin Geisler
tests: remove unneeded -d flags...
r12156 date: Thu Jan 01 00:00:00 1970 +0000
Pradeepkumar Gayam
tests: unify test-excessive-merge
r11974 summary: branch a
Martin Geisler
tests: remove unneeded -d flags...
r12156 changeset: 0:5e0375449e74
Pradeepkumar Gayam
tests: unify test-excessive-merge
r11974 user: test
Martin Geisler
tests: remove unneeded -d flags...
r12156 date: Thu Jan 01 00:00:00 1970 +0000
Pradeepkumar Gayam
tests: unify test-excessive-merge
r11974 summary: test
$ hg debugindex .hg/store/00changelog.i
rev offset length base linkrev nodeid p1 p2
Martin Geisler
tests: remove unneeded -d flags...
r12156 0 0 60 0 0 5e0375449e74 000000000000 000000000000
1 60 62 1 1 96155394af80 5e0375449e74 000000000000
2 122 62 2 2 92cc4c306b19 5e0375449e74 000000000000
3 184 69 3 3 e16a66a37edd 92cc4c306b19 96155394af80
4 253 29 3 4 2ee31f665a86 96155394af80 92cc4c306b19
Pradeepkumar Gayam
tests: unify test-excessive-merge
r11974
revision 1
$ hg manifest --debug 1
79d7492df40aa0fa093ec4209be78043c181f094 644 a
2ed2a3912a0b24502043eae84ee4b279c18b90dd 644 b
revision 2
$ hg manifest --debug 2
2ed2a3912a0b24502043eae84ee4b279c18b90dd 644 a
79d7492df40aa0fa093ec4209be78043c181f094 644 b
revision 3
$ hg manifest --debug 3
79d7492df40aa0fa093ec4209be78043c181f094 644 a
79d7492df40aa0fa093ec4209be78043c181f094 644 b
revision 4
$ hg manifest --debug 4
79d7492df40aa0fa093ec4209be78043c181f094 644 a
79d7492df40aa0fa093ec4209be78043c181f094 644 b
$ hg debugindex .hg/store/data/a.i
rev offset length base linkrev nodeid p1 p2
0 0 5 0 0 2ed2a3912a0b 000000000000 000000000000
1 5 6 1 1 79d7492df40a 2ed2a3912a0b 000000000000
$ hg verify
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
2 files, 5 changesets, 4 total revisions