Mercurial > public > mercurial-scm > hg-stable
annotate tests/test-import-context.t @ 39883:3e896b51aa5d
storageutil: move metadata parsing and packing from revlog (API)
Parsing and writing of revision text metadata is likely identical
across storage backends. Let's move the code out of revlog so we
don't need to import the revlog module in order to use it.
Differential Revision: https://phab.mercurial-scm.org/D4754
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Mon, 24 Sep 2018 14:31:31 -0700 |
parents | 5abc47d4ca6b |
children | 633da7139e4a |
rev | line source |
---|---|
12825 | 1 Test applying context diffs |
2 | |
3 $ cat > writepatterns.py <<EOF | |
4 > import sys | |
5 > | |
6 > path = sys.argv[1] | |
7 > lasteol = sys.argv[2] == '1' | |
8 > patterns = sys.argv[3:] | |
9 > | |
36424
4bc983568016
py3: replace file() with open()
Pulkit Goyal <7895pulkit@gmail.com>
parents:
32958
diff
changeset
|
10 > fp = open(path, 'wb') |
12825 | 11 > for i, pattern in enumerate(patterns): |
12 > count = int(pattern[0:-1]) | |
38371
bf953d218a91
py3: encode sys.argv to bytes using .encode()
Pulkit Goyal <7895pulkit@gmail.com>
parents:
36424
diff
changeset
|
13 > char = pattern[-1].encode('utf8') + b'\n' |
12825 | 14 > if not lasteol and i == len(patterns) - 1: |
15 > fp.write((char*count)[:-1]) | |
16 > else: | |
17 > fp.write(char*count) | |
18 > fp.close() | |
19 > EOF | |
20 $ cat > cat.py <<EOF | |
21 > import sys | |
36424
4bc983568016
py3: replace file() with open()
Pulkit Goyal <7895pulkit@gmail.com>
parents:
32958
diff
changeset
|
22 > sys.stdout.write(repr(open(sys.argv[1], 'rb').read()) + '\n') |
12825 | 23 > EOF |
24 | |
25 Initialize the test repository | |
26 | |
27 $ hg init repo | |
28 $ cd repo | |
39723
5abc47d4ca6b
tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents:
38371
diff
changeset
|
29 $ "$PYTHON" ../writepatterns.py a 0 5A 1B 5C 1D |
5abc47d4ca6b
tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents:
38371
diff
changeset
|
30 $ "$PYTHON" ../writepatterns.py b 1 1A 1B |
5abc47d4ca6b
tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents:
38371
diff
changeset
|
31 $ "$PYTHON" ../writepatterns.py c 1 5A |
5abc47d4ca6b
tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents:
38371
diff
changeset
|
32 $ "$PYTHON" ../writepatterns.py d 1 5A 1B |
12825 | 33 $ hg add |
34 adding a | |
35 adding b | |
36 adding c | |
37 adding d | |
38 $ hg ci -m addfiles | |
39 | |
40 Add file, missing a last end of line | |
41 | |
42 $ hg import --no-commit - <<EOF | |
43 > *** /dev/null 2010-10-16 18:05:49.000000000 +0200 | |
44 > --- b/newnoeol 2010-10-16 18:23:26.000000000 +0200 | |
45 > *************** | |
46 > *** 0 **** | |
47 > --- 1,2 ---- | |
48 > + a | |
49 > + b | |
50 > \ No newline at end of file | |
51 > *** a/a Sat Oct 16 16:35:51 2010 | |
52 > --- b/a Sat Oct 16 16:35:51 2010 | |
53 > *************** | |
54 > *** 3,12 **** | |
55 > A | |
56 > A | |
57 > A | |
58 > ! B | |
59 > C | |
60 > C | |
61 > C | |
62 > C | |
63 > C | |
64 > ! D | |
65 > \ No newline at end of file | |
66 > --- 3,13 ---- | |
67 > A | |
68 > A | |
69 > A | |
70 > ! E | |
71 > C | |
72 > C | |
73 > C | |
74 > C | |
75 > C | |
76 > ! F | |
77 > ! F | |
78 > | |
79 > *** a/b 2010-10-16 18:40:38.000000000 +0200 | |
80 > --- /dev/null 2010-10-16 18:05:49.000000000 +0200 | |
81 > *************** | |
82 > *** 1,2 **** | |
83 > - A | |
84 > - B | |
85 > --- 0 ---- | |
86 > *** a/c Sat Oct 16 21:34:26 2010 | |
87 > --- b/c Sat Oct 16 21:34:27 2010 | |
88 > *************** | |
89 > *** 3,5 **** | |
90 > --- 3,7 ---- | |
91 > A | |
92 > A | |
93 > A | |
94 > + B | |
95 > + B | |
96 > *** a/d Sat Oct 16 21:47:20 2010 | |
97 > --- b/d Sat Oct 16 21:47:22 2010 | |
98 > *************** | |
99 > *** 2,6 **** | |
100 > A | |
101 > A | |
102 > A | |
103 > - A | |
104 > - B | |
105 > --- 2,4 ---- | |
106 > EOF | |
107 applying patch from stdin | |
108 $ hg st | |
109 M a | |
110 M c | |
111 M d | |
112 A newnoeol | |
113 R b | |
114 | |
115 What's in a | |
116 | |
39723
5abc47d4ca6b
tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents:
38371
diff
changeset
|
117 $ "$PYTHON" ../cat.py a |
12825 | 118 'A\nA\nA\nA\nA\nE\nC\nC\nC\nC\nC\nF\nF\n' |
39723
5abc47d4ca6b
tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents:
38371
diff
changeset
|
119 $ "$PYTHON" ../cat.py newnoeol |
12825 | 120 'a\nb' |
39723
5abc47d4ca6b
tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents:
38371
diff
changeset
|
121 $ "$PYTHON" ../cat.py c |
12825 | 122 'A\nA\nA\nA\nA\nB\nB\n' |
39723
5abc47d4ca6b
tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents:
38371
diff
changeset
|
123 $ "$PYTHON" ../cat.py d |
12825 | 124 'A\nA\nA\nA\n' |
125 | |
16913
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
12825
diff
changeset
|
126 $ cd .. |