Mercurial > hg
annotate tests/test-patch-offset.t @ 45587:768412472663
merge: store cases when a file is absent post merge in commitinfo
Some merges can result in file being absent form working directory. This can be
one of file was kept deleted or file was removed by merge code.
User might revert the file back before committing. In such cases we will like to
have better handling and create new filenodes.
We store this info in mergestate as commitinfo so that we can use it while
committing to create new filenode if required.
Differential Revision: https://phab.mercurial-scm.org/D9003
author | Pulkit Goyal <7895pulkit@gmail.com> |
---|---|
date | Mon, 24 Aug 2020 15:35:34 +0530 |
parents | c70bdd222dcd |
children |
rev | line source |
---|---|
10135
9a4034b630c4
patch: better handling of sequence of offset patch hunks (issue1941)
Greg Onufer <gonufer@jazzhaiku.com>
parents:
diff
changeset
|
1 |
12477
e68cd3a90599
tests: unify test-patch-offset
Matt Mackall <mpm@selenic.com>
parents:
10265
diff
changeset
|
2 $ cat > writepatterns.py <<EOF |
e68cd3a90599
tests: unify test-patch-offset
Matt Mackall <mpm@selenic.com>
parents:
10265
diff
changeset
|
3 > import sys |
e68cd3a90599
tests: unify test-patch-offset
Matt Mackall <mpm@selenic.com>
parents:
10265
diff
changeset
|
4 > |
e68cd3a90599
tests: unify test-patch-offset
Matt Mackall <mpm@selenic.com>
parents:
10265
diff
changeset
|
5 > path = sys.argv[1] |
e68cd3a90599
tests: unify test-patch-offset
Matt Mackall <mpm@selenic.com>
parents:
10265
diff
changeset
|
6 > patterns = sys.argv[2:] |
e68cd3a90599
tests: unify test-patch-offset
Matt Mackall <mpm@selenic.com>
parents:
10265
diff
changeset
|
7 > |
36020
bfc9ab6c1bec
py3: replace file() with open() in test-patch-offset.t
Pulkit Goyal <7895pulkit@gmail.com>
parents:
32940
diff
changeset
|
8 > fp = open(path, 'wb') |
12477
e68cd3a90599
tests: unify test-patch-offset
Matt Mackall <mpm@selenic.com>
parents:
10265
diff
changeset
|
9 > for pattern in patterns: |
e68cd3a90599
tests: unify test-patch-offset
Matt Mackall <mpm@selenic.com>
parents:
10265
diff
changeset
|
10 > count = int(pattern[0:-1]) |
38365
bf953d218a91
py3: encode sys.argv to bytes using .encode()
Pulkit Goyal <7895pulkit@gmail.com>
parents:
36020
diff
changeset
|
11 > char = pattern[-1].encode('utf8') + b'\n' |
41738
c70bdd222dcd
tests: bulk changes to avoid whitespace errors of check-code.py
FUJIWARA Katsunori <foozy@lares.dti.ne.jp>
parents:
39707
diff
changeset
|
12 > fp.write(char * count) |
12477
e68cd3a90599
tests: unify test-patch-offset
Matt Mackall <mpm@selenic.com>
parents:
10265
diff
changeset
|
13 > fp.close() |
e68cd3a90599
tests: unify test-patch-offset
Matt Mackall <mpm@selenic.com>
parents:
10265
diff
changeset
|
14 > EOF |
10135
9a4034b630c4
patch: better handling of sequence of offset patch hunks (issue1941)
Greg Onufer <gonufer@jazzhaiku.com>
parents:
diff
changeset
|
15 |
12477
e68cd3a90599
tests: unify test-patch-offset
Matt Mackall <mpm@selenic.com>
parents:
10265
diff
changeset
|
16 prepare repo |
10135
9a4034b630c4
patch: better handling of sequence of offset patch hunks (issue1941)
Greg Onufer <gonufer@jazzhaiku.com>
parents:
diff
changeset
|
17 |
12477
e68cd3a90599
tests: unify test-patch-offset
Matt Mackall <mpm@selenic.com>
parents:
10265
diff
changeset
|
18 $ hg init a |
e68cd3a90599
tests: unify test-patch-offset
Matt Mackall <mpm@selenic.com>
parents:
10265
diff
changeset
|
19 $ cd a |
e68cd3a90599
tests: unify test-patch-offset
Matt Mackall <mpm@selenic.com>
parents:
10265
diff
changeset
|
20 |
e68cd3a90599
tests: unify test-patch-offset
Matt Mackall <mpm@selenic.com>
parents:
10265
diff
changeset
|
21 These initial lines of Xs were not in the original file used to generate |
e68cd3a90599
tests: unify test-patch-offset
Matt Mackall <mpm@selenic.com>
parents:
10265
diff
changeset
|
22 the patch. So all the patch hunks need to be applied to a constant offset |
e68cd3a90599
tests: unify test-patch-offset
Matt Mackall <mpm@selenic.com>
parents:
10265
diff
changeset
|
23 within this file. If the offset isn't tracked then the hunks can be |
e68cd3a90599
tests: unify test-patch-offset
Matt Mackall <mpm@selenic.com>
parents:
10265
diff
changeset
|
24 applied to the wrong lines of this file. |
10135
9a4034b630c4
patch: better handling of sequence of offset patch hunks (issue1941)
Greg Onufer <gonufer@jazzhaiku.com>
parents:
diff
changeset
|
25 |
39707
5abc47d4ca6b
tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents:
38365
diff
changeset
|
26 $ "$PYTHON" ../writepatterns.py a 34X 10A 1B 10A 1C 10A 1B 10A 1D 10A 1B 10A 1E 10A 1B 10A |
12477
e68cd3a90599
tests: unify test-patch-offset
Matt Mackall <mpm@selenic.com>
parents:
10265
diff
changeset
|
27 $ hg commit -Am adda |
e68cd3a90599
tests: unify test-patch-offset
Matt Mackall <mpm@selenic.com>
parents:
10265
diff
changeset
|
28 adding a |
10135
9a4034b630c4
patch: better handling of sequence of offset patch hunks (issue1941)
Greg Onufer <gonufer@jazzhaiku.com>
parents:
diff
changeset
|
29 |
12477
e68cd3a90599
tests: unify test-patch-offset
Matt Mackall <mpm@selenic.com>
parents:
10265
diff
changeset
|
30 This is a cleaner patch generated via diff |
e68cd3a90599
tests: unify test-patch-offset
Matt Mackall <mpm@selenic.com>
parents:
10265
diff
changeset
|
31 In this case it reproduces the problem when |
e68cd3a90599
tests: unify test-patch-offset
Matt Mackall <mpm@selenic.com>
parents:
10265
diff
changeset
|
32 the output of hg export does not |
e68cd3a90599
tests: unify test-patch-offset
Matt Mackall <mpm@selenic.com>
parents:
10265
diff
changeset
|
33 import patch |
10135
9a4034b630c4
patch: better handling of sequence of offset patch hunks (issue1941)
Greg Onufer <gonufer@jazzhaiku.com>
parents:
diff
changeset
|
34 |
12477
e68cd3a90599
tests: unify test-patch-offset
Matt Mackall <mpm@selenic.com>
parents:
10265
diff
changeset
|
35 $ hg import -v -m 'b' -d '2 0' - <<EOF |
e68cd3a90599
tests: unify test-patch-offset
Matt Mackall <mpm@selenic.com>
parents:
10265
diff
changeset
|
36 > --- a/a 2009-12-08 19:26:17.000000000 -0800 |
e68cd3a90599
tests: unify test-patch-offset
Matt Mackall <mpm@selenic.com>
parents:
10265
diff
changeset
|
37 > +++ b/a 2009-12-08 19:26:17.000000000 -0800 |
e68cd3a90599
tests: unify test-patch-offset
Matt Mackall <mpm@selenic.com>
parents:
10265
diff
changeset
|
38 > @@ -9,7 +9,7 @@ |
e68cd3a90599
tests: unify test-patch-offset
Matt Mackall <mpm@selenic.com>
parents:
10265
diff
changeset
|
39 > A |
e68cd3a90599
tests: unify test-patch-offset
Matt Mackall <mpm@selenic.com>
parents:
10265
diff
changeset
|
40 > A |
e68cd3a90599
tests: unify test-patch-offset
Matt Mackall <mpm@selenic.com>
parents:
10265
diff
changeset
|
41 > B |
e68cd3a90599
tests: unify test-patch-offset
Matt Mackall <mpm@selenic.com>
parents:
10265
diff
changeset
|
42 > -A |
e68cd3a90599
tests: unify test-patch-offset
Matt Mackall <mpm@selenic.com>
parents:
10265
diff
changeset
|
43 > +a |
e68cd3a90599
tests: unify test-patch-offset
Matt Mackall <mpm@selenic.com>
parents:
10265
diff
changeset
|
44 > A |
e68cd3a90599
tests: unify test-patch-offset
Matt Mackall <mpm@selenic.com>
parents:
10265
diff
changeset
|
45 > A |
e68cd3a90599
tests: unify test-patch-offset
Matt Mackall <mpm@selenic.com>
parents:
10265
diff
changeset
|
46 > A |
e68cd3a90599
tests: unify test-patch-offset
Matt Mackall <mpm@selenic.com>
parents:
10265
diff
changeset
|
47 > @@ -53,7 +53,7 @@ |
e68cd3a90599
tests: unify test-patch-offset
Matt Mackall <mpm@selenic.com>
parents:
10265
diff
changeset
|
48 > A |
e68cd3a90599
tests: unify test-patch-offset
Matt Mackall <mpm@selenic.com>
parents:
10265
diff
changeset
|
49 > A |
e68cd3a90599
tests: unify test-patch-offset
Matt Mackall <mpm@selenic.com>
parents:
10265
diff
changeset
|
50 > B |
e68cd3a90599
tests: unify test-patch-offset
Matt Mackall <mpm@selenic.com>
parents:
10265
diff
changeset
|
51 > -A |
e68cd3a90599
tests: unify test-patch-offset
Matt Mackall <mpm@selenic.com>
parents:
10265
diff
changeset
|
52 > +a |
e68cd3a90599
tests: unify test-patch-offset
Matt Mackall <mpm@selenic.com>
parents:
10265
diff
changeset
|
53 > A |
e68cd3a90599
tests: unify test-patch-offset
Matt Mackall <mpm@selenic.com>
parents:
10265
diff
changeset
|
54 > A |
e68cd3a90599
tests: unify test-patch-offset
Matt Mackall <mpm@selenic.com>
parents:
10265
diff
changeset
|
55 > A |
e68cd3a90599
tests: unify test-patch-offset
Matt Mackall <mpm@selenic.com>
parents:
10265
diff
changeset
|
56 > @@ -75,7 +75,7 @@ |
e68cd3a90599
tests: unify test-patch-offset
Matt Mackall <mpm@selenic.com>
parents:
10265
diff
changeset
|
57 > A |
e68cd3a90599
tests: unify test-patch-offset
Matt Mackall <mpm@selenic.com>
parents:
10265
diff
changeset
|
58 > A |
e68cd3a90599
tests: unify test-patch-offset
Matt Mackall <mpm@selenic.com>
parents:
10265
diff
changeset
|
59 > B |
e68cd3a90599
tests: unify test-patch-offset
Matt Mackall <mpm@selenic.com>
parents:
10265
diff
changeset
|
60 > -A |
e68cd3a90599
tests: unify test-patch-offset
Matt Mackall <mpm@selenic.com>
parents:
10265
diff
changeset
|
61 > +a |
e68cd3a90599
tests: unify test-patch-offset
Matt Mackall <mpm@selenic.com>
parents:
10265
diff
changeset
|
62 > A |
e68cd3a90599
tests: unify test-patch-offset
Matt Mackall <mpm@selenic.com>
parents:
10265
diff
changeset
|
63 > A |
e68cd3a90599
tests: unify test-patch-offset
Matt Mackall <mpm@selenic.com>
parents:
10265
diff
changeset
|
64 > A |
e68cd3a90599
tests: unify test-patch-offset
Matt Mackall <mpm@selenic.com>
parents:
10265
diff
changeset
|
65 > EOF |
e68cd3a90599
tests: unify test-patch-offset
Matt Mackall <mpm@selenic.com>
parents:
10265
diff
changeset
|
66 applying patch from stdin |
e68cd3a90599
tests: unify test-patch-offset
Matt Mackall <mpm@selenic.com>
parents:
10265
diff
changeset
|
67 patching file a |
e68cd3a90599
tests: unify test-patch-offset
Matt Mackall <mpm@selenic.com>
parents:
10265
diff
changeset
|
68 Hunk #1 succeeded at 43 (offset 34 lines). |
e68cd3a90599
tests: unify test-patch-offset
Matt Mackall <mpm@selenic.com>
parents:
10265
diff
changeset
|
69 Hunk #2 succeeded at 87 (offset 34 lines). |
e68cd3a90599
tests: unify test-patch-offset
Matt Mackall <mpm@selenic.com>
parents:
10265
diff
changeset
|
70 Hunk #3 succeeded at 109 (offset 34 lines). |
23749
a387b0390082
localrepo: show headline notes in commitctx before showing filenames
Mads Kiilerich <madski@unity3d.com>
parents:
16913
diff
changeset
|
71 committing files: |
12477
e68cd3a90599
tests: unify test-patch-offset
Matt Mackall <mpm@selenic.com>
parents:
10265
diff
changeset
|
72 a |
23749
a387b0390082
localrepo: show headline notes in commitctx before showing filenames
Mads Kiilerich <madski@unity3d.com>
parents:
16913
diff
changeset
|
73 committing manifest |
a387b0390082
localrepo: show headline notes in commitctx before showing filenames
Mads Kiilerich <madski@unity3d.com>
parents:
16913
diff
changeset
|
74 committing changelog |
15194
0705f2ac79d6
import: simplify status reporting logic (and make it more I18N-friendly)
Greg Ward <greg@gerg.ca>
parents:
12477
diff
changeset
|
75 created 189885cecb41 |
10135
9a4034b630c4
patch: better handling of sequence of offset patch hunks (issue1941)
Greg Onufer <gonufer@jazzhaiku.com>
parents:
diff
changeset
|
76 |
12477
e68cd3a90599
tests: unify test-patch-offset
Matt Mackall <mpm@selenic.com>
parents:
10265
diff
changeset
|
77 compare imported changes against reference file |
10135
9a4034b630c4
patch: better handling of sequence of offset patch hunks (issue1941)
Greg Onufer <gonufer@jazzhaiku.com>
parents:
diff
changeset
|
78 |
39707
5abc47d4ca6b
tests: quote PYTHON usage
Matt Harbison <matt_harbison@yahoo.com>
parents:
38365
diff
changeset
|
79 $ "$PYTHON" ../writepatterns.py aref 34X 10A 1B 1a 9A 1C 10A 1B 10A 1D 10A 1B 1a 9A 1E 10A 1B 1a 9A |
12477
e68cd3a90599
tests: unify test-patch-offset
Matt Mackall <mpm@selenic.com>
parents:
10265
diff
changeset
|
80 $ diff aref a |
16913
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
15194
diff
changeset
|
81 |
f2719b387380
tests: add missing trailing 'cd ..'
Mads Kiilerich <mads@kiilerich.com>
parents:
15194
diff
changeset
|
82 $ cd .. |