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

r33954:794f7bb7 default
r34192:e6b5e732 default
Show More
test-convert-clonebranches.t
89 lines | 2.0 KiB | text/troff | Tads3Lexer
/ tests / test-convert-clonebranches.t
Matt Mackall
tests: unify test-convert-clonebranches
r12518
Yuya Nishihara
tests: write hgrc of more than two lines by using shell heredoc...
r23172 $ cat <<EOF >> $HGRCPATH
> [extensions]
> convert =
> [convert]
> hg.tagsbranch = 0
> EOF
Matt Mackall
tests: unify test-convert-clonebranches
r12518 $ hg init source
$ cd source
$ echo a > a
$ hg ci -qAm adda
Add a merge with one parent in the same branch
$ echo a >> a
$ hg ci -qAm changea
$ hg up -qC 0
$ hg branch branch0
marked working directory as branch branch0
Matt Mackall
branch: warn on branching
r15615 (branches are permanent and global, did you want a bookmark?)
Matt Mackall
tests: unify test-convert-clonebranches
r12518 $ echo b > b
$ hg ci -qAm addb
$ hg up -qC
$ hg merge default
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
$ hg ci -qm mergeab
$ hg tag -ql mergeab
$ cd ..
Miss perl... sometimes
$ cat > filter.py <<EOF
Augie Fackler
tests: update test-convert-clonebranches to pass our import checker
r33954 > from __future__ import absolute_import
> import re
> import sys
Matt Mackall
tests: unify test-convert-clonebranches
r12518 >
> r = re.compile(r'^(?:\d+|pulling from)')
> sys.stdout.writelines([l for l in sys.stdin if r.search(l)])
> EOF
convert
$ hg convert -v --config convert.hg.clonebranches=1 source dest |
Augie Fackler
cleanup: use $PYTHON to run python in many more tests...
r32940 > $PYTHON filter.py
Matt Mackall
tests: unify test-convert-clonebranches
r12518 3 adda
2 changea
1 addb
pulling from default into branch0
1 changesets found
0 mergeab
pulling from default into branch0
1 changesets found
Add a merge with both parents and child in different branches
$ cd source
$ hg branch branch1
marked working directory as branch branch1
$ echo a > file1
$ hg ci -qAm c1
$ hg up -qC mergeab
$ hg branch branch2
marked working directory as branch branch2
$ echo a > file2
$ hg ci -qAm c2
$ hg merge branch1
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)
$ hg branch branch3
marked working directory as branch branch3
$ hg ci -qAm c3
$ cd ..
incremental conversion
$ hg convert -v --config convert.hg.clonebranches=1 source dest |
Augie Fackler
cleanup: use $PYTHON to run python in many more tests...
r32940 > $PYTHON filter.py
Matt Mackall
tests: unify test-convert-clonebranches
r12518 2 c1
pulling from branch0 into branch1
4 changesets found
1 c2
pulling from branch0 into branch2
4 changesets found
0 c3
Mads Kiilerich
convert: process missing branches in sorted order
r18373 pulling from branch1 into branch3
Matt Mackall
tests: unify test-convert-clonebranches
r12518 5 changesets found
Mads Kiilerich
convert: process missing branches in sorted order
r18373 pulling from branch2 into branch3
Matt Mackall
tests: unify test-convert-clonebranches
r12518 1 changesets found