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

r33687:24849d53 default
r34192:e6b5e732 default
Show More
test-merge6.t
70 lines | 1.8 KiB | text/troff | Tads3Lexer
Pradeepkumar Gayam
tests: unify test-merge6
r11979 $ cat <<EOF > merge
> import sys, os
Augie Fackler
tests: clean up many print statements to be print functions instead...
r33687 > print("merging for", os.path.basename(sys.argv[1]))
Pradeepkumar Gayam
tests: unify test-merge6
r11979 > EOF
Augie Fackler
tests: clean up even more direct `python` calls with $PYTHON...
r33286 $ HGMERGE="$PYTHON ../merge"; export HGMERGE
Pradeepkumar Gayam
tests: unify test-merge6
r11979
Martin Geisler
tests: remove redundant mkdir...
r13956 $ hg init A1
Pradeepkumar Gayam
tests: unify test-merge6
r11979 $ cd A1
$ echo This is file foo1 > foo
$ echo This is file bar1 > bar
$ hg add foo bar
Martin Geisler
tests: remove unneeded -d flags...
r12156 $ hg commit -m "commit text"
Pradeepkumar Gayam
tests: unify test-merge6
r11979
$ cd ..
$ hg clone A1 B1
updating to branch default
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd A1
$ rm bar
$ hg remove bar
Martin Geisler
tests: remove unneeded -d flags...
r12156 $ hg commit -m "commit test"
Pradeepkumar Gayam
tests: unify test-merge6
r11979
$ cd ../B1
$ echo This is file foo22 > foo
Martin Geisler
tests: remove unneeded -d flags...
r12156 $ hg commit -m "commit test"
Pradeepkumar Gayam
tests: unify test-merge6
r11979
$ cd ..
$ hg clone A1 A2
updating to branch default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ hg clone B1 B2
updating to branch default
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd A1
$ hg pull ../B1
pulling from ../B1
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 1 changes to 1 files (+1 heads)
(run 'hg heads' to see heads, 'hg merge' to merge)
$ hg merge
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 commit -m "commit test"
Pradeepkumar Gayam
tests: unify test-merge6
r11979 bar should remain deleted.
$ hg manifest --debug
f9b0e817f6a48de3564c6b2957687c5e7297c5a0 644 foo
$ cd ../B2
$ hg pull ../A2
pulling from ../A2
searching for changes
adding changesets
adding manifests
adding file changes
added 1 changesets with 0 changes to 0 files (+1 heads)
(run 'hg heads' to see heads, 'hg merge' to merge)
$ hg merge
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
(branch merge, don't forget to commit)
Martin Geisler
tests: remove unneeded -d flags...
r12156 $ hg commit -m "commit test"
Pradeepkumar Gayam
tests: unify test-merge6
r11979 bar should remain deleted.
$ hg manifest --debug
f9b0e817f6a48de3564c6b2957687c5e7297c5a0 644 foo
Mads Kiilerich
tests: add missing trailing 'cd ..'...
r16913
$ cd ..