##// END OF EJS Templates
scmutil: make shortest() respect disambiguation revset...
scmutil: make shortest() respect disambiguation revset The previous patch would let you use a shorter prefix if the prefix is unique within a configured revset. However, that's not very useful if there's no simple way of knowing what that shorter prefix is. This patch adapts the shortest() template function to use the shorter prefixes for nodes in the configured revset. This is currently extremely slow, because it calculates the revset for each call to shortest(). To make this faster, the next patch will start caching the revset instance. Ideally we'd cache a prefix tree instance instead. Differential Revision: https://phab.mercurial-scm.org/D4038

File last commit:

r38384:bf953d21 default
r38879:6f7c9527 default
Show More
test-import-context.t
126 lines | 2.3 KiB | text/troff | Tads3Lexer
/ tests / test-import-context.t
Patrick Mezard
Test applying context diffs
r12825 Test applying context diffs
$ cat > writepatterns.py <<EOF
> import sys
>
> path = sys.argv[1]
> lasteol = sys.argv[2] == '1'
> patterns = sys.argv[3:]
>
Pulkit Goyal
py3: replace file() with open()...
r36412 > fp = open(path, 'wb')
Patrick Mezard
Test applying context diffs
r12825 > for i, pattern in enumerate(patterns):
> count = int(pattern[0:-1])
Pulkit Goyal
py3: encode sys.argv to bytes using .encode()...
r38384 > char = pattern[-1].encode('utf8') + b'\n'
Patrick Mezard
Test applying context diffs
r12825 > if not lasteol and i == len(patterns) - 1:
> fp.write((char*count)[:-1])
> else:
> fp.write(char*count)
> fp.close()
> EOF
$ cat > cat.py <<EOF
> import sys
Pulkit Goyal
py3: replace file() with open()...
r36412 > sys.stdout.write(repr(open(sys.argv[1], 'rb').read()) + '\n')
Patrick Mezard
Test applying context diffs
r12825 > EOF
Initialize the test repository
$ hg init repo
$ cd repo
Augie Fackler
cleanup: use $PYTHON to run python in many more tests...
r32940 $ $PYTHON ../writepatterns.py a 0 5A 1B 5C 1D
$ $PYTHON ../writepatterns.py b 1 1A 1B
$ $PYTHON ../writepatterns.py c 1 5A
$ $PYTHON ../writepatterns.py d 1 5A 1B
Patrick Mezard
Test applying context diffs
r12825 $ hg add
adding a
adding b
adding c
adding d
$ hg ci -m addfiles
Add file, missing a last end of line
$ hg import --no-commit - <<EOF
> *** /dev/null 2010-10-16 18:05:49.000000000 +0200
> --- b/newnoeol 2010-10-16 18:23:26.000000000 +0200
> ***************
> *** 0 ****
> --- 1,2 ----
> + a
> + b
> \ No newline at end of file
> *** a/a Sat Oct 16 16:35:51 2010
> --- b/a Sat Oct 16 16:35:51 2010
> ***************
> *** 3,12 ****
> A
> A
> A
> ! B
> C
> C
> C
> C
> C
> ! D
> \ No newline at end of file
> --- 3,13 ----
> A
> A
> A
> ! E
> C
> C
> C
> C
> C
> ! F
> ! F
>
> *** a/b 2010-10-16 18:40:38.000000000 +0200
> --- /dev/null 2010-10-16 18:05:49.000000000 +0200
> ***************
> *** 1,2 ****
> - A
> - B
> --- 0 ----
> *** a/c Sat Oct 16 21:34:26 2010
> --- b/c Sat Oct 16 21:34:27 2010
> ***************
> *** 3,5 ****
> --- 3,7 ----
> A
> A
> A
> + B
> + B
> *** a/d Sat Oct 16 21:47:20 2010
> --- b/d Sat Oct 16 21:47:22 2010
> ***************
> *** 2,6 ****
> A
> A
> A
> - A
> - B
> --- 2,4 ----
> EOF
applying patch from stdin
$ hg st
M a
M c
M d
A newnoeol
R b
What's in a
Augie Fackler
cleanup: use $PYTHON to run python in many more tests...
r32940 $ $PYTHON ../cat.py a
Patrick Mezard
Test applying context diffs
r12825 'A\nA\nA\nA\nA\nE\nC\nC\nC\nC\nC\nF\nF\n'
Augie Fackler
cleanup: use $PYTHON to run python in many more tests...
r32940 $ $PYTHON ../cat.py newnoeol
Patrick Mezard
Test applying context diffs
r12825 'a\nb'
Augie Fackler
cleanup: use $PYTHON to run python in many more tests...
r32940 $ $PYTHON ../cat.py c
Patrick Mezard
Test applying context diffs
r12825 'A\nA\nA\nA\nA\nB\nB\n'
Augie Fackler
cleanup: use $PYTHON to run python in many more tests...
r32940 $ $PYTHON ../cat.py d
Patrick Mezard
Test applying context diffs
r12825 'A\nA\nA\nA\n'
Mads Kiilerich
tests: add missing trailing 'cd ..'...
r16913 $ cd ..