##// END OF EJS Templates
show: use consistent (and possibly shorter) node lengths...
show: use consistent (and possibly shorter) node lengths `hg show` makes heavy use of shortest() to limit the length of the node hash. For the "stack" and "work" views, you are often looking at multiple lines of similar output for "lines" of work. It is visually appeasing for things to vertically align. A naive use of {shortest(node, N)} could result in variable length nodes and for the first character of the description to vary by a column or two. We implement a function to determine the longest shortest prefix for a set of revisions. The new function is used to determine the printed node length for all `hg show` views. .. feature:: show: use consistent node length in views Our previous shortest node length of 5 was arbitrarily chosen. shortest() already does the work of ensuring that a partial node isn't ambiguous with an integer revision, which is our primary risk of a collision for very short nodes. It should be safe to go with the shortest node possible. Existing code is also optimized to handle nodes as short as 4. So, we decrease the minimum hash length from 5 to 4. We also add a test demonstrating that prefix collisions increase the node length. .. feature:: show: decrease minimum displayed hash length from 5 to 4 Differential Revision: https://phab.mercurial-scm.org/D558

File last commit:

r30155:b7a966ce default
r34192:e6b5e732 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
Sune Foldager
debugindex etc.: add --changelog and --manifest options...
r14323 $ hg debugindex --changelog
Bryan O'Sullivan
tests: reduce spurious failures when run with generaldelta...
r17132 rev offset length ..... linkrev nodeid p1 p2 (re)
0 0 60 ..... 0 5e0375449e74 000000000000 000000000000 (re)
1 60 62 ..... 1 96155394af80 5e0375449e74 000000000000 (re)
2 122 62 ..... 2 92cc4c306b19 5e0375449e74 000000000000 (re)
3 184 69 ..... 3 e16a66a37edd 92cc4c306b19 96155394af80 (re)
Gregory Szorc
changelog: disable delta chains...
r30155 4 253 69 ..... 4 2ee31f665a86 96155394af80 92cc4c306b19 (re)
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
Sune Foldager
tests: fix deprecated use of hg debugdata/debugindex...
r14182 $ hg debugindex a
Bryan O'Sullivan
tests: reduce spurious failures when run with generaldelta...
r17132 rev offset length ..... linkrev nodeid p1 p2 (re)
0 0 5 ..... 0 2ed2a3912a0b 000000000000 000000000000 (re)
1 5 6 ..... 1 79d7492df40a 2ed2a3912a0b 000000000000 (re)
Pradeepkumar Gayam
tests: unify test-excessive-merge
r11974
$ hg verify
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
2 files, 5 changesets, 4 total revisions