Mercurial > hg
annotate tests/test-import @ 7971:6ea0318daf75
Fix issue1495, corner case of adding empty files via patching
author | Vsevolod Solovyov <vsevolod.solovyov@gmail.com> |
---|---|
date | Tue, 24 Mar 2009 23:28:55 +0000 |
parents | bffdab64dfbb |
children | 6c82beaaa11a |
rev | line source |
---|---|
2513
f22e3e8fd457
import: added tests, fixed bugs found by tests and asak.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
1 #!/bin/sh |
f22e3e8fd457
import: added tests, fixed bugs found by tests and asak.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
2 |
f22e3e8fd457
import: added tests, fixed bugs found by tests and asak.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
3 hg init a |
2773
871ca5b9d348
Import say a file is not tracked after patching : test case
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2513
diff
changeset
|
4 mkdir a/d1 |
871ca5b9d348
Import say a file is not tracked after patching : test case
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2513
diff
changeset
|
5 mkdir a/d1/d2 |
2513
f22e3e8fd457
import: added tests, fixed bugs found by tests and asak.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
6 echo line 1 > a/a |
2773
871ca5b9d348
Import say a file is not tracked after patching : test case
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2513
diff
changeset
|
7 echo line 1 > a/d1/d2/a |
2513
f22e3e8fd457
import: added tests, fixed bugs found by tests and asak.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
8 hg --cwd a ci -d '0 0' -Ama |
f22e3e8fd457
import: added tests, fixed bugs found by tests and asak.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
9 |
f22e3e8fd457
import: added tests, fixed bugs found by tests and asak.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
10 echo line 2 >> a/a |
f22e3e8fd457
import: added tests, fixed bugs found by tests and asak.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
11 hg --cwd a ci -u someone -d '1 0' -m'second change' |
f22e3e8fd457
import: added tests, fixed bugs found by tests and asak.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
12 |
f22e3e8fd457
import: added tests, fixed bugs found by tests and asak.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
13 echo % import exported patch |
f22e3e8fd457
import: added tests, fixed bugs found by tests and asak.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
14 hg clone -r0 a b |
f22e3e8fd457
import: added tests, fixed bugs found by tests and asak.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
15 hg --cwd a export tip > tip.patch |
f22e3e8fd457
import: added tests, fixed bugs found by tests and asak.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
16 hg --cwd b import ../tip.patch |
f22e3e8fd457
import: added tests, fixed bugs found by tests and asak.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
17 echo % message should be same |
f22e3e8fd457
import: added tests, fixed bugs found by tests and asak.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
18 hg --cwd b tip | grep 'second change' |
f22e3e8fd457
import: added tests, fixed bugs found by tests and asak.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
19 echo % committer should be same |
f22e3e8fd457
import: added tests, fixed bugs found by tests and asak.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
20 hg --cwd b tip | grep someone |
3988
9dcf9d45cab8
Don't use -f for rm in tests where not needed. Drop /bin/ from /bin/rm.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2843
diff
changeset
|
21 rm -r b |
2513
f22e3e8fd457
import: added tests, fixed bugs found by tests and asak.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
22 |
7247
c4461ea8b4c8
patch: fix patched files records in externalpatcher()
Patrick Mezard <pmezard@gmail.com>
parents:
6758
diff
changeset
|
23 echo % import exported patch with external patcher |
c4461ea8b4c8
patch: fix patched files records in externalpatcher()
Patrick Mezard <pmezard@gmail.com>
parents:
6758
diff
changeset
|
24 cat > dummypatch.py <<EOF |
c4461ea8b4c8
patch: fix patched files records in externalpatcher()
Patrick Mezard <pmezard@gmail.com>
parents:
6758
diff
changeset
|
25 print 'patching file a' |
c4461ea8b4c8
patch: fix patched files records in externalpatcher()
Patrick Mezard <pmezard@gmail.com>
parents:
6758
diff
changeset
|
26 file('a', 'wb').write('line2\n') |
c4461ea8b4c8
patch: fix patched files records in externalpatcher()
Patrick Mezard <pmezard@gmail.com>
parents:
6758
diff
changeset
|
27 EOF |
c4461ea8b4c8
patch: fix patched files records in externalpatcher()
Patrick Mezard <pmezard@gmail.com>
parents:
6758
diff
changeset
|
28 chmod +x dummypatch.py |
c4461ea8b4c8
patch: fix patched files records in externalpatcher()
Patrick Mezard <pmezard@gmail.com>
parents:
6758
diff
changeset
|
29 hg clone -r0 a b |
c4461ea8b4c8
patch: fix patched files records in externalpatcher()
Patrick Mezard <pmezard@gmail.com>
parents:
6758
diff
changeset
|
30 hg --cwd a export tip > tip.patch |
c4461ea8b4c8
patch: fix patched files records in externalpatcher()
Patrick Mezard <pmezard@gmail.com>
parents:
6758
diff
changeset
|
31 hg --config ui.patch='python ../dummypatch.py' --cwd b import ../tip.patch |
c4461ea8b4c8
patch: fix patched files records in externalpatcher()
Patrick Mezard <pmezard@gmail.com>
parents:
6758
diff
changeset
|
32 cat b/a |
c4461ea8b4c8
patch: fix patched files records in externalpatcher()
Patrick Mezard <pmezard@gmail.com>
parents:
6758
diff
changeset
|
33 rm -r b |
c4461ea8b4c8
patch: fix patched files records in externalpatcher()
Patrick Mezard <pmezard@gmail.com>
parents:
6758
diff
changeset
|
34 |
2513
f22e3e8fd457
import: added tests, fixed bugs found by tests and asak.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
35 echo % import of plain diff should fail without message |
f22e3e8fd457
import: added tests, fixed bugs found by tests and asak.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
36 hg clone -r0 a b |
f22e3e8fd457
import: added tests, fixed bugs found by tests and asak.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
37 hg --cwd a diff -r0:1 > tip.patch |
f22e3e8fd457
import: added tests, fixed bugs found by tests and asak.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
38 hg --cwd b import ../tip.patch |
3988
9dcf9d45cab8
Don't use -f for rm in tests where not needed. Drop /bin/ from /bin/rm.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2843
diff
changeset
|
39 rm -r b |
2513
f22e3e8fd457
import: added tests, fixed bugs found by tests and asak.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
40 |
f22e3e8fd457
import: added tests, fixed bugs found by tests and asak.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
41 echo % import of plain diff should be ok with message |
f22e3e8fd457
import: added tests, fixed bugs found by tests and asak.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
42 hg clone -r0 a b |
f22e3e8fd457
import: added tests, fixed bugs found by tests and asak.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
43 hg --cwd a diff -r0:1 > tip.patch |
f22e3e8fd457
import: added tests, fixed bugs found by tests and asak.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
44 hg --cwd b import -mpatch ../tip.patch |
3988
9dcf9d45cab8
Don't use -f for rm in tests where not needed. Drop /bin/ from /bin/rm.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2843
diff
changeset
|
45 rm -r b |
2513
f22e3e8fd457
import: added tests, fixed bugs found by tests and asak.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
46 |
5953
e7f1be4bf40a
Permitting the import command to accept a --user option.
Jesse Glick <jesse.glick@sun.com>
parents:
5937
diff
changeset
|
47 echo % import of plain diff with specific date and user |
e7f1be4bf40a
Permitting the import command to accept a --user option.
Jesse Glick <jesse.glick@sun.com>
parents:
5937
diff
changeset
|
48 hg clone -r0 a b |
e7f1be4bf40a
Permitting the import command to accept a --user option.
Jesse Glick <jesse.glick@sun.com>
parents:
5937
diff
changeset
|
49 hg --cwd a diff -r0:1 > tip.patch |
e7f1be4bf40a
Permitting the import command to accept a --user option.
Jesse Glick <jesse.glick@sun.com>
parents:
5937
diff
changeset
|
50 hg --cwd b import -mpatch -d '1 0' -u 'user@nowhere.net' ../tip.patch |
e7f1be4bf40a
Permitting the import command to accept a --user option.
Jesse Glick <jesse.glick@sun.com>
parents:
5937
diff
changeset
|
51 hg -R b tip -pv |
e7f1be4bf40a
Permitting the import command to accept a --user option.
Jesse Glick <jesse.glick@sun.com>
parents:
5937
diff
changeset
|
52 rm -r b |
e7f1be4bf40a
Permitting the import command to accept a --user option.
Jesse Glick <jesse.glick@sun.com>
parents:
5937
diff
changeset
|
53 |
5937
d8878742a924
Test case for hg import --no-commit
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5853
diff
changeset
|
54 echo % import of plain diff should be ok with --no-commit |
d8878742a924
Test case for hg import --no-commit
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5853
diff
changeset
|
55 hg clone -r0 a b |
d8878742a924
Test case for hg import --no-commit
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5853
diff
changeset
|
56 hg --cwd a diff -r0:1 > tip.patch |
d8878742a924
Test case for hg import --no-commit
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5853
diff
changeset
|
57 hg --cwd b import --no-commit ../tip.patch |
d8878742a924
Test case for hg import --no-commit
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5853
diff
changeset
|
58 hg --cwd b diff --nodates |
d8878742a924
Test case for hg import --no-commit
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5853
diff
changeset
|
59 rm -r b |
d8878742a924
Test case for hg import --no-commit
Thomas Arendsen Hein <thomas@intevation.de>
parents:
5853
diff
changeset
|
60 |
4230
c93562fb12cc
Fix handling of paths when run outside the repo.
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3988
diff
changeset
|
61 echo % hg -R repo import |
c93562fb12cc
Fix handling of paths when run outside the repo.
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3988
diff
changeset
|
62 # put the clone in a subdir - having a directory named "a" |
c93562fb12cc
Fix handling of paths when run outside the repo.
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3988
diff
changeset
|
63 # used to hide a bug. |
c93562fb12cc
Fix handling of paths when run outside the repo.
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3988
diff
changeset
|
64 mkdir dir |
c93562fb12cc
Fix handling of paths when run outside the repo.
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3988
diff
changeset
|
65 hg clone -r0 a dir/b |
c93562fb12cc
Fix handling of paths when run outside the repo.
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3988
diff
changeset
|
66 hg --cwd a export tip > dir/tip.patch |
c93562fb12cc
Fix handling of paths when run outside the repo.
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3988
diff
changeset
|
67 cd dir |
c93562fb12cc
Fix handling of paths when run outside the repo.
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3988
diff
changeset
|
68 hg -R b import tip.patch |
c93562fb12cc
Fix handling of paths when run outside the repo.
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3988
diff
changeset
|
69 cd .. |
c93562fb12cc
Fix handling of paths when run outside the repo.
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3988
diff
changeset
|
70 rm -r dir |
c93562fb12cc
Fix handling of paths when run outside the repo.
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3988
diff
changeset
|
71 |
2513
f22e3e8fd457
import: added tests, fixed bugs found by tests and asak.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
72 echo % import from stdin |
f22e3e8fd457
import: added tests, fixed bugs found by tests and asak.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
73 hg clone -r0 a b |
f22e3e8fd457
import: added tests, fixed bugs found by tests and asak.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
74 hg --cwd a export tip | hg --cwd b import - |
3988
9dcf9d45cab8
Don't use -f for rm in tests where not needed. Drop /bin/ from /bin/rm.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2843
diff
changeset
|
75 rm -r b |
2513
f22e3e8fd457
import: added tests, fixed bugs found by tests and asak.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
76 |
f22e3e8fd457
import: added tests, fixed bugs found by tests and asak.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
77 echo % override commit message |
f22e3e8fd457
import: added tests, fixed bugs found by tests and asak.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
78 hg clone -r0 a b |
f22e3e8fd457
import: added tests, fixed bugs found by tests and asak.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
79 hg --cwd a export tip | hg --cwd b import -m 'override' - |
f22e3e8fd457
import: added tests, fixed bugs found by tests and asak.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
80 hg --cwd b tip | grep override |
3988
9dcf9d45cab8
Don't use -f for rm in tests where not needed. Drop /bin/ from /bin/rm.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2843
diff
changeset
|
81 rm -r b |
2513
f22e3e8fd457
import: added tests, fixed bugs found by tests and asak.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
82 |
f22e3e8fd457
import: added tests, fixed bugs found by tests and asak.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
83 cat > mkmsg.py <<EOF |
f22e3e8fd457
import: added tests, fixed bugs found by tests and asak.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
84 import email.Message, sys |
f22e3e8fd457
import: added tests, fixed bugs found by tests and asak.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
85 msg = email.Message.Message() |
5530
b0ff52ec9b52
test-import: read email payload in binary mode
Patrick Mezard <pmezard@gmail.com>
parents:
5418
diff
changeset
|
86 msg.set_payload('email commit message\n' + open('tip.patch', 'rb').read()) |
2513
f22e3e8fd457
import: added tests, fixed bugs found by tests and asak.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
87 msg['Subject'] = 'email patch' |
f22e3e8fd457
import: added tests, fixed bugs found by tests and asak.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
88 msg['From'] = 'email patcher' |
f22e3e8fd457
import: added tests, fixed bugs found by tests and asak.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
89 sys.stdout.write(msg.as_string()) |
f22e3e8fd457
import: added tests, fixed bugs found by tests and asak.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
90 EOF |
f22e3e8fd457
import: added tests, fixed bugs found by tests and asak.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
91 |
f22e3e8fd457
import: added tests, fixed bugs found by tests and asak.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
92 echo % plain diff in email, subject, message body |
f22e3e8fd457
import: added tests, fixed bugs found by tests and asak.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
93 hg clone -r0 a b |
f22e3e8fd457
import: added tests, fixed bugs found by tests and asak.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
94 hg --cwd a diff -r0:1 > tip.patch |
f22e3e8fd457
import: added tests, fixed bugs found by tests and asak.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
95 python mkmsg.py > msg.patch |
f22e3e8fd457
import: added tests, fixed bugs found by tests and asak.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
96 hg --cwd b import ../msg.patch |
f22e3e8fd457
import: added tests, fixed bugs found by tests and asak.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
97 hg --cwd b tip | grep email |
3988
9dcf9d45cab8
Don't use -f for rm in tests where not needed. Drop /bin/ from /bin/rm.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2843
diff
changeset
|
98 rm -r b |
2513
f22e3e8fd457
import: added tests, fixed bugs found by tests and asak.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
99 |
f22e3e8fd457
import: added tests, fixed bugs found by tests and asak.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
100 echo % plain diff in email, no subject, message body |
f22e3e8fd457
import: added tests, fixed bugs found by tests and asak.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
101 hg clone -r0 a b |
f22e3e8fd457
import: added tests, fixed bugs found by tests and asak.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
102 grep -v '^Subject:' msg.patch | hg --cwd b import - |
3988
9dcf9d45cab8
Don't use -f for rm in tests where not needed. Drop /bin/ from /bin/rm.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2843
diff
changeset
|
103 rm -r b |
2513
f22e3e8fd457
import: added tests, fixed bugs found by tests and asak.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
104 |
f22e3e8fd457
import: added tests, fixed bugs found by tests and asak.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
105 echo % plain diff in email, subject, no message body |
f22e3e8fd457
import: added tests, fixed bugs found by tests and asak.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
106 hg clone -r0 a b |
f22e3e8fd457
import: added tests, fixed bugs found by tests and asak.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
107 grep -v '^email ' msg.patch | hg --cwd b import - |
3988
9dcf9d45cab8
Don't use -f for rm in tests where not needed. Drop /bin/ from /bin/rm.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2843
diff
changeset
|
108 rm -r b |
2513
f22e3e8fd457
import: added tests, fixed bugs found by tests and asak.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
109 |
f22e3e8fd457
import: added tests, fixed bugs found by tests and asak.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
110 echo % plain diff in email, no subject, no message body, should fail |
f22e3e8fd457
import: added tests, fixed bugs found by tests and asak.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
111 hg clone -r0 a b |
2843
0b9ac7dfcf56
Fix some tests for portability.
Danek Duvall <danek.duvall@sun.com>
parents:
2773
diff
changeset
|
112 egrep -v '^(Subject|email)' msg.patch | hg --cwd b import - |
3988
9dcf9d45cab8
Don't use -f for rm in tests where not needed. Drop /bin/ from /bin/rm.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2843
diff
changeset
|
113 rm -r b |
2513
f22e3e8fd457
import: added tests, fixed bugs found by tests and asak.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
114 |
f22e3e8fd457
import: added tests, fixed bugs found by tests and asak.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
115 echo % hg export in email, should use patch header |
f22e3e8fd457
import: added tests, fixed bugs found by tests and asak.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
116 hg clone -r0 a b |
f22e3e8fd457
import: added tests, fixed bugs found by tests and asak.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
117 hg --cwd a export tip > tip.patch |
f22e3e8fd457
import: added tests, fixed bugs found by tests and asak.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
118 python mkmsg.py | hg --cwd b import - |
f22e3e8fd457
import: added tests, fixed bugs found by tests and asak.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
119 hg --cwd b tip | grep second |
3988
9dcf9d45cab8
Don't use -f for rm in tests where not needed. Drop /bin/ from /bin/rm.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
2843
diff
changeset
|
120 rm -r b |
2513
f22e3e8fd457
import: added tests, fixed bugs found by tests and asak.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff
changeset
|
121 |
4779
a7915f79d4cc
Added import test for [PATCH] subject and message body with subject
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4230
diff
changeset
|
122 # subject: duplicate detection, removal of [PATCH] |
5418
9b469bdb1ce1
patch: fix git sendmail handling without proper mail headers
Patrick Mezard <pmezard@gmail.com>
parents:
4779
diff
changeset
|
123 # The '---' tests the gitsendmail handling without proper mail headers |
4779
a7915f79d4cc
Added import test for [PATCH] subject and message body with subject
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4230
diff
changeset
|
124 cat > mkmsg2.py <<EOF |
a7915f79d4cc
Added import test for [PATCH] subject and message body with subject
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4230
diff
changeset
|
125 import email.Message, sys |
a7915f79d4cc
Added import test for [PATCH] subject and message body with subject
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4230
diff
changeset
|
126 msg = email.Message.Message() |
5418
9b469bdb1ce1
patch: fix git sendmail handling without proper mail headers
Patrick Mezard <pmezard@gmail.com>
parents:
4779
diff
changeset
|
127 msg.set_payload('email patch\n\nnext line\n---\n' + open('tip.patch').read()) |
4779
a7915f79d4cc
Added import test for [PATCH] subject and message body with subject
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4230
diff
changeset
|
128 msg['Subject'] = '[PATCH] email patch' |
a7915f79d4cc
Added import test for [PATCH] subject and message body with subject
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4230
diff
changeset
|
129 msg['From'] = 'email patcher' |
a7915f79d4cc
Added import test for [PATCH] subject and message body with subject
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4230
diff
changeset
|
130 sys.stdout.write(msg.as_string()) |
a7915f79d4cc
Added import test for [PATCH] subject and message body with subject
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4230
diff
changeset
|
131 EOF |
a7915f79d4cc
Added import test for [PATCH] subject and message body with subject
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4230
diff
changeset
|
132 |
a7915f79d4cc
Added import test for [PATCH] subject and message body with subject
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4230
diff
changeset
|
133 echo '% plain diff in email, [PATCH] subject, message body with subject' |
a7915f79d4cc
Added import test for [PATCH] subject and message body with subject
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4230
diff
changeset
|
134 hg clone -r0 a b |
a7915f79d4cc
Added import test for [PATCH] subject and message body with subject
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4230
diff
changeset
|
135 hg --cwd a diff -r0:1 > tip.patch |
a7915f79d4cc
Added import test for [PATCH] subject and message body with subject
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4230
diff
changeset
|
136 python mkmsg2.py | hg --cwd b import - |
a7915f79d4cc
Added import test for [PATCH] subject and message body with subject
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4230
diff
changeset
|
137 hg --cwd b tip --template '{desc}\n' |
a7915f79d4cc
Added import test for [PATCH] subject and message body with subject
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4230
diff
changeset
|
138 rm -r b |
a7915f79d4cc
Added import test for [PATCH] subject and message body with subject
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4230
diff
changeset
|
139 |
5986
a732eebf1958
hg import: write the dirstate after every commit
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
5852
diff
changeset
|
140 # We weren't backing up the correct dirstate file when importing many patches |
a732eebf1958
hg import: write the dirstate after every commit
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
5852
diff
changeset
|
141 # (issue963) |
a732eebf1958
hg import: write the dirstate after every commit
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
5852
diff
changeset
|
142 echo '% import patch1 patch2; rollback' |
a732eebf1958
hg import: write the dirstate after every commit
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
5852
diff
changeset
|
143 echo line 3 >> a/a |
a732eebf1958
hg import: write the dirstate after every commit
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
5852
diff
changeset
|
144 hg --cwd a ci -m'third change' |
a732eebf1958
hg import: write the dirstate after every commit
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
5852
diff
changeset
|
145 hg --cwd a export -o '../patch%R' 1 2 |
a732eebf1958
hg import: write the dirstate after every commit
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
5852
diff
changeset
|
146 hg clone -qr0 a b |
a732eebf1958
hg import: write the dirstate after every commit
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
5852
diff
changeset
|
147 hg --cwd b parents --template 'parent: #rev#\n' |
a732eebf1958
hg import: write the dirstate after every commit
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
5852
diff
changeset
|
148 hg --cwd b import ../patch1 ../patch2 |
a732eebf1958
hg import: write the dirstate after every commit
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
5852
diff
changeset
|
149 hg --cwd b rollback |
a732eebf1958
hg import: write the dirstate after every commit
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
5852
diff
changeset
|
150 hg --cwd b parents --template 'parent: #rev#\n' |
a732eebf1958
hg import: write the dirstate after every commit
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
5852
diff
changeset
|
151 rm -r b |
4779
a7915f79d4cc
Added import test for [PATCH] subject and message body with subject
Thomas Arendsen Hein <thomas@intevation.de>
parents:
4230
diff
changeset
|
152 |
2773
871ca5b9d348
Import say a file is not tracked after patching : test case
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2513
diff
changeset
|
153 # bug non regression test |
871ca5b9d348
Import say a file is not tracked after patching : test case
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2513
diff
changeset
|
154 # importing a patch in a subdirectory failed at the commit stage |
871ca5b9d348
Import say a file is not tracked after patching : test case
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2513
diff
changeset
|
155 echo line 2 >> a/d1/d2/a |
871ca5b9d348
Import say a file is not tracked after patching : test case
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2513
diff
changeset
|
156 hg --cwd a ci -u someoneelse -d '1 0' -m'subdir change' |
871ca5b9d348
Import say a file is not tracked after patching : test case
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2513
diff
changeset
|
157 echo % hg import in a subdirectory |
871ca5b9d348
Import say a file is not tracked after patching : test case
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2513
diff
changeset
|
158 hg clone -r0 a b |
871ca5b9d348
Import say a file is not tracked after patching : test case
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2513
diff
changeset
|
159 hg --cwd a export tip | sed -e 's/d1\/d2\///' > tip.patch |
2843
0b9ac7dfcf56
Fix some tests for portability.
Danek Duvall <danek.duvall@sun.com>
parents:
2773
diff
changeset
|
160 dir=`pwd` |
0b9ac7dfcf56
Fix some tests for portability.
Danek Duvall <danek.duvall@sun.com>
parents:
2773
diff
changeset
|
161 cd b/d1/d2 2>&1 > /dev/null |
2773
871ca5b9d348
Import say a file is not tracked after patching : test case
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2513
diff
changeset
|
162 hg import ../../../tip.patch |
2843
0b9ac7dfcf56
Fix some tests for portability.
Danek Duvall <danek.duvall@sun.com>
parents:
2773
diff
changeset
|
163 cd $dir |
2773
871ca5b9d348
Import say a file is not tracked after patching : test case
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2513
diff
changeset
|
164 echo "% message should be 'subdir change'" |
871ca5b9d348
Import say a file is not tracked after patching : test case
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2513
diff
changeset
|
165 hg --cwd b tip | grep 'subdir change' |
871ca5b9d348
Import say a file is not tracked after patching : test case
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2513
diff
changeset
|
166 echo "% committer should be 'someoneelse'" |
871ca5b9d348
Import say a file is not tracked after patching : test case
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2513
diff
changeset
|
167 hg --cwd b tip | grep someoneelse |
871ca5b9d348
Import say a file is not tracked after patching : test case
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2513
diff
changeset
|
168 echo "% should be empty" |
871ca5b9d348
Import say a file is not tracked after patching : test case
"Mathieu Clabaut <mathieu.clabaut@gmail.com>"
parents:
2513
diff
changeset
|
169 hg --cwd b status |
5548
1fb38ef1f113
test-import: test fuzziness, ambiguous patch locations
Patrick Mezard <pmezard@gmail.com>
parents:
5418
diff
changeset
|
170 |
1fb38ef1f113
test-import: test fuzziness, ambiguous patch locations
Patrick Mezard <pmezard@gmail.com>
parents:
5418
diff
changeset
|
171 |
1fb38ef1f113
test-import: test fuzziness, ambiguous patch locations
Patrick Mezard <pmezard@gmail.com>
parents:
5418
diff
changeset
|
172 # Test fuzziness (ambiguous patch location, fuzz=2) |
1fb38ef1f113
test-import: test fuzziness, ambiguous patch locations
Patrick Mezard <pmezard@gmail.com>
parents:
5418
diff
changeset
|
173 echo % test fuzziness |
1fb38ef1f113
test-import: test fuzziness, ambiguous patch locations
Patrick Mezard <pmezard@gmail.com>
parents:
5418
diff
changeset
|
174 hg init fuzzy |
1fb38ef1f113
test-import: test fuzziness, ambiguous patch locations
Patrick Mezard <pmezard@gmail.com>
parents:
5418
diff
changeset
|
175 cd fuzzy |
1fb38ef1f113
test-import: test fuzziness, ambiguous patch locations
Patrick Mezard <pmezard@gmail.com>
parents:
5418
diff
changeset
|
176 echo line1 > a |
1fb38ef1f113
test-import: test fuzziness, ambiguous patch locations
Patrick Mezard <pmezard@gmail.com>
parents:
5418
diff
changeset
|
177 echo line0 >> a |
1fb38ef1f113
test-import: test fuzziness, ambiguous patch locations
Patrick Mezard <pmezard@gmail.com>
parents:
5418
diff
changeset
|
178 echo line3 >> a |
1fb38ef1f113
test-import: test fuzziness, ambiguous patch locations
Patrick Mezard <pmezard@gmail.com>
parents:
5418
diff
changeset
|
179 hg ci -Am adda |
1fb38ef1f113
test-import: test fuzziness, ambiguous patch locations
Patrick Mezard <pmezard@gmail.com>
parents:
5418
diff
changeset
|
180 echo line1 > a |
1fb38ef1f113
test-import: test fuzziness, ambiguous patch locations
Patrick Mezard <pmezard@gmail.com>
parents:
5418
diff
changeset
|
181 echo line2 >> a |
1fb38ef1f113
test-import: test fuzziness, ambiguous patch locations
Patrick Mezard <pmezard@gmail.com>
parents:
5418
diff
changeset
|
182 echo line0 >> a |
1fb38ef1f113
test-import: test fuzziness, ambiguous patch locations
Patrick Mezard <pmezard@gmail.com>
parents:
5418
diff
changeset
|
183 echo line3 >> a |
1fb38ef1f113
test-import: test fuzziness, ambiguous patch locations
Patrick Mezard <pmezard@gmail.com>
parents:
5418
diff
changeset
|
184 hg ci -m change a |
1fb38ef1f113
test-import: test fuzziness, ambiguous patch locations
Patrick Mezard <pmezard@gmail.com>
parents:
5418
diff
changeset
|
185 hg export tip > tip.patch |
1fb38ef1f113
test-import: test fuzziness, ambiguous patch locations
Patrick Mezard <pmezard@gmail.com>
parents:
5418
diff
changeset
|
186 hg up -C 0 |
1fb38ef1f113
test-import: test fuzziness, ambiguous patch locations
Patrick Mezard <pmezard@gmail.com>
parents:
5418
diff
changeset
|
187 echo line1 > a |
1fb38ef1f113
test-import: test fuzziness, ambiguous patch locations
Patrick Mezard <pmezard@gmail.com>
parents:
5418
diff
changeset
|
188 echo line0 >> a |
1fb38ef1f113
test-import: test fuzziness, ambiguous patch locations
Patrick Mezard <pmezard@gmail.com>
parents:
5418
diff
changeset
|
189 echo line1 >> a |
1fb38ef1f113
test-import: test fuzziness, ambiguous patch locations
Patrick Mezard <pmezard@gmail.com>
parents:
5418
diff
changeset
|
190 echo line0 >> a |
1fb38ef1f113
test-import: test fuzziness, ambiguous patch locations
Patrick Mezard <pmezard@gmail.com>
parents:
5418
diff
changeset
|
191 hg ci -m brancha |
1fb38ef1f113
test-import: test fuzziness, ambiguous patch locations
Patrick Mezard <pmezard@gmail.com>
parents:
5418
diff
changeset
|
192 hg import -v tip.patch |
1fb38ef1f113
test-import: test fuzziness, ambiguous patch locations
Patrick Mezard <pmezard@gmail.com>
parents:
5418
diff
changeset
|
193 cd .. |
5852
03ce5a919ae3
patch: handle empty vs no file in git patches (issue906)
Patrick Mezard <pmezard@gmail.com>
parents:
5548
diff
changeset
|
194 |
03ce5a919ae3
patch: handle empty vs no file in git patches (issue906)
Patrick Mezard <pmezard@gmail.com>
parents:
5548
diff
changeset
|
195 # Test hunk touching empty files (issue906) |
03ce5a919ae3
patch: handle empty vs no file in git patches (issue906)
Patrick Mezard <pmezard@gmail.com>
parents:
5548
diff
changeset
|
196 hg init empty |
03ce5a919ae3
patch: handle empty vs no file in git patches (issue906)
Patrick Mezard <pmezard@gmail.com>
parents:
5548
diff
changeset
|
197 cd empty |
03ce5a919ae3
patch: handle empty vs no file in git patches (issue906)
Patrick Mezard <pmezard@gmail.com>
parents:
5548
diff
changeset
|
198 touch a |
03ce5a919ae3
patch: handle empty vs no file in git patches (issue906)
Patrick Mezard <pmezard@gmail.com>
parents:
5548
diff
changeset
|
199 touch b1 |
03ce5a919ae3
patch: handle empty vs no file in git patches (issue906)
Patrick Mezard <pmezard@gmail.com>
parents:
5548
diff
changeset
|
200 touch c1 |
03ce5a919ae3
patch: handle empty vs no file in git patches (issue906)
Patrick Mezard <pmezard@gmail.com>
parents:
5548
diff
changeset
|
201 echo d > d |
03ce5a919ae3
patch: handle empty vs no file in git patches (issue906)
Patrick Mezard <pmezard@gmail.com>
parents:
5548
diff
changeset
|
202 hg ci -Am init |
03ce5a919ae3
patch: handle empty vs no file in git patches (issue906)
Patrick Mezard <pmezard@gmail.com>
parents:
5548
diff
changeset
|
203 echo a > a |
03ce5a919ae3
patch: handle empty vs no file in git patches (issue906)
Patrick Mezard <pmezard@gmail.com>
parents:
5548
diff
changeset
|
204 echo b > b1 |
03ce5a919ae3
patch: handle empty vs no file in git patches (issue906)
Patrick Mezard <pmezard@gmail.com>
parents:
5548
diff
changeset
|
205 hg mv b1 b2 |
03ce5a919ae3
patch: handle empty vs no file in git patches (issue906)
Patrick Mezard <pmezard@gmail.com>
parents:
5548
diff
changeset
|
206 echo c > c1 |
03ce5a919ae3
patch: handle empty vs no file in git patches (issue906)
Patrick Mezard <pmezard@gmail.com>
parents:
5548
diff
changeset
|
207 hg copy c1 c2 |
03ce5a919ae3
patch: handle empty vs no file in git patches (issue906)
Patrick Mezard <pmezard@gmail.com>
parents:
5548
diff
changeset
|
208 rm d |
03ce5a919ae3
patch: handle empty vs no file in git patches (issue906)
Patrick Mezard <pmezard@gmail.com>
parents:
5548
diff
changeset
|
209 touch d |
03ce5a919ae3
patch: handle empty vs no file in git patches (issue906)
Patrick Mezard <pmezard@gmail.com>
parents:
5548
diff
changeset
|
210 hg diff --git |
03ce5a919ae3
patch: handle empty vs no file in git patches (issue906)
Patrick Mezard <pmezard@gmail.com>
parents:
5548
diff
changeset
|
211 hg ci -m empty |
03ce5a919ae3
patch: handle empty vs no file in git patches (issue906)
Patrick Mezard <pmezard@gmail.com>
parents:
5548
diff
changeset
|
212 hg export --git tip > empty.diff |
03ce5a919ae3
patch: handle empty vs no file in git patches (issue906)
Patrick Mezard <pmezard@gmail.com>
parents:
5548
diff
changeset
|
213 hg up -C 0 |
03ce5a919ae3
patch: handle empty vs no file in git patches (issue906)
Patrick Mezard <pmezard@gmail.com>
parents:
5548
diff
changeset
|
214 hg import empty.diff |
03ce5a919ae3
patch: handle empty vs no file in git patches (issue906)
Patrick Mezard <pmezard@gmail.com>
parents:
5548
diff
changeset
|
215 for name in a b1 b2 c1 c2 d; |
03ce5a919ae3
patch: handle empty vs no file in git patches (issue906)
Patrick Mezard <pmezard@gmail.com>
parents:
5548
diff
changeset
|
216 do |
03ce5a919ae3
patch: handle empty vs no file in git patches (issue906)
Patrick Mezard <pmezard@gmail.com>
parents:
5548
diff
changeset
|
217 echo % $name file |
03ce5a919ae3
patch: handle empty vs no file in git patches (issue906)
Patrick Mezard <pmezard@gmail.com>
parents:
5548
diff
changeset
|
218 test -f $name && cat $name |
03ce5a919ae3
patch: handle empty vs no file in git patches (issue906)
Patrick Mezard <pmezard@gmail.com>
parents:
5548
diff
changeset
|
219 done |
03ce5a919ae3
patch: handle empty vs no file in git patches (issue906)
Patrick Mezard <pmezard@gmail.com>
parents:
5548
diff
changeset
|
220 cd .. |
03ce5a919ae3
patch: handle empty vs no file in git patches (issue906)
Patrick Mezard <pmezard@gmail.com>
parents:
5548
diff
changeset
|
221 |
6179
36ab165abbe2
patch: fix iterhunks() with trailing binary file removal
Patrick Mezard <pmezard@gmail.com>
parents:
6001
diff
changeset
|
222 # Test importing a patch ending with a binary file removal |
36ab165abbe2
patch: fix iterhunks() with trailing binary file removal
Patrick Mezard <pmezard@gmail.com>
parents:
6001
diff
changeset
|
223 echo % test trailing binary removal |
36ab165abbe2
patch: fix iterhunks() with trailing binary file removal
Patrick Mezard <pmezard@gmail.com>
parents:
6001
diff
changeset
|
224 hg init binaryremoval |
36ab165abbe2
patch: fix iterhunks() with trailing binary file removal
Patrick Mezard <pmezard@gmail.com>
parents:
6001
diff
changeset
|
225 cd binaryremoval |
36ab165abbe2
patch: fix iterhunks() with trailing binary file removal
Patrick Mezard <pmezard@gmail.com>
parents:
6001
diff
changeset
|
226 echo a > a |
36ab165abbe2
patch: fix iterhunks() with trailing binary file removal
Patrick Mezard <pmezard@gmail.com>
parents:
6001
diff
changeset
|
227 python -c "file('b', 'wb').write('a\x00b')" |
36ab165abbe2
patch: fix iterhunks() with trailing binary file removal
Patrick Mezard <pmezard@gmail.com>
parents:
6001
diff
changeset
|
228 hg ci -Am addall |
36ab165abbe2
patch: fix iterhunks() with trailing binary file removal
Patrick Mezard <pmezard@gmail.com>
parents:
6001
diff
changeset
|
229 hg rm a |
36ab165abbe2
patch: fix iterhunks() with trailing binary file removal
Patrick Mezard <pmezard@gmail.com>
parents:
6001
diff
changeset
|
230 hg rm b |
36ab165abbe2
patch: fix iterhunks() with trailing binary file removal
Patrick Mezard <pmezard@gmail.com>
parents:
6001
diff
changeset
|
231 hg st |
36ab165abbe2
patch: fix iterhunks() with trailing binary file removal
Patrick Mezard <pmezard@gmail.com>
parents:
6001
diff
changeset
|
232 hg ci -m remove |
36ab165abbe2
patch: fix iterhunks() with trailing binary file removal
Patrick Mezard <pmezard@gmail.com>
parents:
6001
diff
changeset
|
233 hg export --git . > remove.diff |
36ab165abbe2
patch: fix iterhunks() with trailing binary file removal
Patrick Mezard <pmezard@gmail.com>
parents:
6001
diff
changeset
|
234 cat remove.diff | grep git |
36ab165abbe2
patch: fix iterhunks() with trailing binary file removal
Patrick Mezard <pmezard@gmail.com>
parents:
6001
diff
changeset
|
235 hg up -C 0 |
36ab165abbe2
patch: fix iterhunks() with trailing binary file removal
Patrick Mezard <pmezard@gmail.com>
parents:
6001
diff
changeset
|
236 hg import remove.diff |
36ab165abbe2
patch: fix iterhunks() with trailing binary file removal
Patrick Mezard <pmezard@gmail.com>
parents:
6001
diff
changeset
|
237 hg manifest |
36ab165abbe2
patch: fix iterhunks() with trailing binary file removal
Patrick Mezard <pmezard@gmail.com>
parents:
6001
diff
changeset
|
238 cd .. |
36ab165abbe2
patch: fix iterhunks() with trailing binary file removal
Patrick Mezard <pmezard@gmail.com>
parents:
6001
diff
changeset
|
239 |
6295
bace1990ab12
patch: fix corner case with update + copy patch handling (issue 937)
Patrick Mezard <pmezard@gmail.com>
parents:
6179
diff
changeset
|
240 echo % 'test update+rename with common name (issue 927)' |
bace1990ab12
patch: fix corner case with update + copy patch handling (issue 937)
Patrick Mezard <pmezard@gmail.com>
parents:
6179
diff
changeset
|
241 hg init t |
bace1990ab12
patch: fix corner case with update + copy patch handling (issue 937)
Patrick Mezard <pmezard@gmail.com>
parents:
6179
diff
changeset
|
242 cd t |
bace1990ab12
patch: fix corner case with update + copy patch handling (issue 937)
Patrick Mezard <pmezard@gmail.com>
parents:
6179
diff
changeset
|
243 touch a |
bace1990ab12
patch: fix corner case with update + copy patch handling (issue 937)
Patrick Mezard <pmezard@gmail.com>
parents:
6179
diff
changeset
|
244 hg ci -Am t |
bace1990ab12
patch: fix corner case with update + copy patch handling (issue 937)
Patrick Mezard <pmezard@gmail.com>
parents:
6179
diff
changeset
|
245 echo a > a |
bace1990ab12
patch: fix corner case with update + copy patch handling (issue 937)
Patrick Mezard <pmezard@gmail.com>
parents:
6179
diff
changeset
|
246 # Here, bfile.startswith(afile) |
bace1990ab12
patch: fix corner case with update + copy patch handling (issue 937)
Patrick Mezard <pmezard@gmail.com>
parents:
6179
diff
changeset
|
247 hg copy a a2 |
bace1990ab12
patch: fix corner case with update + copy patch handling (issue 937)
Patrick Mezard <pmezard@gmail.com>
parents:
6179
diff
changeset
|
248 hg ci -m copya |
bace1990ab12
patch: fix corner case with update + copy patch handling (issue 937)
Patrick Mezard <pmezard@gmail.com>
parents:
6179
diff
changeset
|
249 hg export --git tip > copy.diff |
bace1990ab12
patch: fix corner case with update + copy patch handling (issue 937)
Patrick Mezard <pmezard@gmail.com>
parents:
6179
diff
changeset
|
250 hg up -C 0 |
bace1990ab12
patch: fix corner case with update + copy patch handling (issue 937)
Patrick Mezard <pmezard@gmail.com>
parents:
6179
diff
changeset
|
251 hg import copy.diff |
bace1990ab12
patch: fix corner case with update + copy patch handling (issue 937)
Patrick Mezard <pmezard@gmail.com>
parents:
6179
diff
changeset
|
252 echo % view a |
bace1990ab12
patch: fix corner case with update + copy patch handling (issue 937)
Patrick Mezard <pmezard@gmail.com>
parents:
6179
diff
changeset
|
253 # a should contain an 'a' |
bace1990ab12
patch: fix corner case with update + copy patch handling (issue 937)
Patrick Mezard <pmezard@gmail.com>
parents:
6179
diff
changeset
|
254 cat a |
bace1990ab12
patch: fix corner case with update + copy patch handling (issue 937)
Patrick Mezard <pmezard@gmail.com>
parents:
6179
diff
changeset
|
255 echo % view a2 |
bace1990ab12
patch: fix corner case with update + copy patch handling (issue 937)
Patrick Mezard <pmezard@gmail.com>
parents:
6179
diff
changeset
|
256 # and a2 should have duplicated it |
bace1990ab12
patch: fix corner case with update + copy patch handling (issue 937)
Patrick Mezard <pmezard@gmail.com>
parents:
6179
diff
changeset
|
257 cat a2 |
bace1990ab12
patch: fix corner case with update + copy patch handling (issue 937)
Patrick Mezard <pmezard@gmail.com>
parents:
6179
diff
changeset
|
258 cd .. |
6520
ba0b2dacc623
fix import with -p0
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
6295
diff
changeset
|
259 |
ba0b2dacc623
fix import with -p0
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
6295
diff
changeset
|
260 echo % 'test -p0' |
ba0b2dacc623
fix import with -p0
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
6295
diff
changeset
|
261 hg init p0 |
ba0b2dacc623
fix import with -p0
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
6295
diff
changeset
|
262 cd p0 |
ba0b2dacc623
fix import with -p0
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
6295
diff
changeset
|
263 echo a > a |
ba0b2dacc623
fix import with -p0
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
6295
diff
changeset
|
264 hg ci -Am t |
ba0b2dacc623
fix import with -p0
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
6295
diff
changeset
|
265 hg import -p0 - << EOF |
ba0b2dacc623
fix import with -p0
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
6295
diff
changeset
|
266 foobar |
ba0b2dacc623
fix import with -p0
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
6295
diff
changeset
|
267 --- a Sat Apr 12 22:43:58 2008 -0400 |
ba0b2dacc623
fix import with -p0
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
6295
diff
changeset
|
268 +++ a Sat Apr 12 22:44:05 2008 -0400 |
ba0b2dacc623
fix import with -p0
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
6295
diff
changeset
|
269 @@ -1,1 +1,1 @@ |
ba0b2dacc623
fix import with -p0
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
6295
diff
changeset
|
270 -a |
ba0b2dacc623
fix import with -p0
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
6295
diff
changeset
|
271 +bb |
ba0b2dacc623
fix import with -p0
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
6295
diff
changeset
|
272 EOF |
ba0b2dacc623
fix import with -p0
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
6295
diff
changeset
|
273 hg status |
ba0b2dacc623
fix import with -p0
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
6295
diff
changeset
|
274 cat a |
ba0b2dacc623
fix import with -p0
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
6295
diff
changeset
|
275 cd .. |
6758
87c704ac92d4
Check that git patches only touch files under root
Brendan Cully <brendan@kublai.com>
parents:
6520
diff
changeset
|
276 |
87c704ac92d4
Check that git patches only touch files under root
Brendan Cully <brendan@kublai.com>
parents:
6520
diff
changeset
|
277 echo % 'test paths outside repo root' |
87c704ac92d4
Check that git patches only touch files under root
Brendan Cully <brendan@kublai.com>
parents:
6520
diff
changeset
|
278 mkdir outside |
87c704ac92d4
Check that git patches only touch files under root
Brendan Cully <brendan@kublai.com>
parents:
6520
diff
changeset
|
279 touch outside/foo |
87c704ac92d4
Check that git patches only touch files under root
Brendan Cully <brendan@kublai.com>
parents:
6520
diff
changeset
|
280 hg init inside |
87c704ac92d4
Check that git patches only touch files under root
Brendan Cully <brendan@kublai.com>
parents:
6520
diff
changeset
|
281 cd inside |
87c704ac92d4
Check that git patches only touch files under root
Brendan Cully <brendan@kublai.com>
parents:
6520
diff
changeset
|
282 hg import - <<EOF |
87c704ac92d4
Check that git patches only touch files under root
Brendan Cully <brendan@kublai.com>
parents:
6520
diff
changeset
|
283 diff --git a/a b/b |
87c704ac92d4
Check that git patches only touch files under root
Brendan Cully <brendan@kublai.com>
parents:
6520
diff
changeset
|
284 rename from ../outside/foo |
87c704ac92d4
Check that git patches only touch files under root
Brendan Cully <brendan@kublai.com>
parents:
6520
diff
changeset
|
285 rename to bar |
87c704ac92d4
Check that git patches only touch files under root
Brendan Cully <brendan@kublai.com>
parents:
6520
diff
changeset
|
286 EOF |
87c704ac92d4
Check that git patches only touch files under root
Brendan Cully <brendan@kublai.com>
parents:
6520
diff
changeset
|
287 cd .. |
7402
bffdab64dfbb
import: add similarity option (issue295)
Brendan Cully <brendan@kublai.com>
parents:
7247
diff
changeset
|
288 |
bffdab64dfbb
import: add similarity option (issue295)
Brendan Cully <brendan@kublai.com>
parents:
7247
diff
changeset
|
289 echo '% test import with similarity (issue295)' |
bffdab64dfbb
import: add similarity option (issue295)
Brendan Cully <brendan@kublai.com>
parents:
7247
diff
changeset
|
290 hg init sim |
bffdab64dfbb
import: add similarity option (issue295)
Brendan Cully <brendan@kublai.com>
parents:
7247
diff
changeset
|
291 cd sim |
bffdab64dfbb
import: add similarity option (issue295)
Brendan Cully <brendan@kublai.com>
parents:
7247
diff
changeset
|
292 echo 'this is a test' > a |
bffdab64dfbb
import: add similarity option (issue295)
Brendan Cully <brendan@kublai.com>
parents:
7247
diff
changeset
|
293 hg ci -Ama |
bffdab64dfbb
import: add similarity option (issue295)
Brendan Cully <brendan@kublai.com>
parents:
7247
diff
changeset
|
294 cat > ../rename.diff <<EOF |
bffdab64dfbb
import: add similarity option (issue295)
Brendan Cully <brendan@kublai.com>
parents:
7247
diff
changeset
|
295 diff --git a/a b/a |
bffdab64dfbb
import: add similarity option (issue295)
Brendan Cully <brendan@kublai.com>
parents:
7247
diff
changeset
|
296 deleted file mode 100644 |
bffdab64dfbb
import: add similarity option (issue295)
Brendan Cully <brendan@kublai.com>
parents:
7247
diff
changeset
|
297 --- a/a |
bffdab64dfbb
import: add similarity option (issue295)
Brendan Cully <brendan@kublai.com>
parents:
7247
diff
changeset
|
298 +++ /dev/null |
bffdab64dfbb
import: add similarity option (issue295)
Brendan Cully <brendan@kublai.com>
parents:
7247
diff
changeset
|
299 @@ -1,1 +0,0 @@ |
bffdab64dfbb
import: add similarity option (issue295)
Brendan Cully <brendan@kublai.com>
parents:
7247
diff
changeset
|
300 -this is a test |
bffdab64dfbb
import: add similarity option (issue295)
Brendan Cully <brendan@kublai.com>
parents:
7247
diff
changeset
|
301 diff --git a/b b/b |
bffdab64dfbb
import: add similarity option (issue295)
Brendan Cully <brendan@kublai.com>
parents:
7247
diff
changeset
|
302 new file mode 100644 |
bffdab64dfbb
import: add similarity option (issue295)
Brendan Cully <brendan@kublai.com>
parents:
7247
diff
changeset
|
303 --- /dev/null |
bffdab64dfbb
import: add similarity option (issue295)
Brendan Cully <brendan@kublai.com>
parents:
7247
diff
changeset
|
304 +++ b/b |
bffdab64dfbb
import: add similarity option (issue295)
Brendan Cully <brendan@kublai.com>
parents:
7247
diff
changeset
|
305 @@ -0,0 +1,2 @@ |
bffdab64dfbb
import: add similarity option (issue295)
Brendan Cully <brendan@kublai.com>
parents:
7247
diff
changeset
|
306 +this is a test |
bffdab64dfbb
import: add similarity option (issue295)
Brendan Cully <brendan@kublai.com>
parents:
7247
diff
changeset
|
307 +foo |
bffdab64dfbb
import: add similarity option (issue295)
Brendan Cully <brendan@kublai.com>
parents:
7247
diff
changeset
|
308 EOF |
bffdab64dfbb
import: add similarity option (issue295)
Brendan Cully <brendan@kublai.com>
parents:
7247
diff
changeset
|
309 hg import --no-commit -v -s 1 ../rename.diff |
bffdab64dfbb
import: add similarity option (issue295)
Brendan Cully <brendan@kublai.com>
parents:
7247
diff
changeset
|
310 hg st -C |
bffdab64dfbb
import: add similarity option (issue295)
Brendan Cully <brendan@kublai.com>
parents:
7247
diff
changeset
|
311 hg revert -a |
bffdab64dfbb
import: add similarity option (issue295)
Brendan Cully <brendan@kublai.com>
parents:
7247
diff
changeset
|
312 rm b |
bffdab64dfbb
import: add similarity option (issue295)
Brendan Cully <brendan@kublai.com>
parents:
7247
diff
changeset
|
313 hg import --no-commit -v -s 100 ../rename.diff |
bffdab64dfbb
import: add similarity option (issue295)
Brendan Cully <brendan@kublai.com>
parents:
7247
diff
changeset
|
314 hg st -C |
bffdab64dfbb
import: add similarity option (issue295)
Brendan Cully <brendan@kublai.com>
parents:
7247
diff
changeset
|
315 cd .. |
7971
6ea0318daf75
Fix issue1495, corner case of adding empty files via patching
Vsevolod Solovyov <vsevolod.solovyov@gmail.com>
parents:
7402
diff
changeset
|
316 |
6ea0318daf75
Fix issue1495, corner case of adding empty files via patching
Vsevolod Solovyov <vsevolod.solovyov@gmail.com>
parents:
7402
diff
changeset
|
317 |
6ea0318daf75
Fix issue1495, corner case of adding empty files via patching
Vsevolod Solovyov <vsevolod.solovyov@gmail.com>
parents:
7402
diff
changeset
|
318 echo '% add empty file from the end of patch (issue 1495)' |
6ea0318daf75
Fix issue1495, corner case of adding empty files via patching
Vsevolod Solovyov <vsevolod.solovyov@gmail.com>
parents:
7402
diff
changeset
|
319 hg init addemptyend |
6ea0318daf75
Fix issue1495, corner case of adding empty files via patching
Vsevolod Solovyov <vsevolod.solovyov@gmail.com>
parents:
7402
diff
changeset
|
320 cd addemptyend |
6ea0318daf75
Fix issue1495, corner case of adding empty files via patching
Vsevolod Solovyov <vsevolod.solovyov@gmail.com>
parents:
7402
diff
changeset
|
321 touch a |
6ea0318daf75
Fix issue1495, corner case of adding empty files via patching
Vsevolod Solovyov <vsevolod.solovyov@gmail.com>
parents:
7402
diff
changeset
|
322 hg addremove |
6ea0318daf75
Fix issue1495, corner case of adding empty files via patching
Vsevolod Solovyov <vsevolod.solovyov@gmail.com>
parents:
7402
diff
changeset
|
323 hg ci -m "commit" |
6ea0318daf75
Fix issue1495, corner case of adding empty files via patching
Vsevolod Solovyov <vsevolod.solovyov@gmail.com>
parents:
7402
diff
changeset
|
324 cat > a.patch <<EOF |
6ea0318daf75
Fix issue1495, corner case of adding empty files via patching
Vsevolod Solovyov <vsevolod.solovyov@gmail.com>
parents:
7402
diff
changeset
|
325 diff --git a/a b/a |
6ea0318daf75
Fix issue1495, corner case of adding empty files via patching
Vsevolod Solovyov <vsevolod.solovyov@gmail.com>
parents:
7402
diff
changeset
|
326 --- a/a |
6ea0318daf75
Fix issue1495, corner case of adding empty files via patching
Vsevolod Solovyov <vsevolod.solovyov@gmail.com>
parents:
7402
diff
changeset
|
327 +++ b/a |
6ea0318daf75
Fix issue1495, corner case of adding empty files via patching
Vsevolod Solovyov <vsevolod.solovyov@gmail.com>
parents:
7402
diff
changeset
|
328 @@ -0,0 +1,1 @@ |
6ea0318daf75
Fix issue1495, corner case of adding empty files via patching
Vsevolod Solovyov <vsevolod.solovyov@gmail.com>
parents:
7402
diff
changeset
|
329 +a |
6ea0318daf75
Fix issue1495, corner case of adding empty files via patching
Vsevolod Solovyov <vsevolod.solovyov@gmail.com>
parents:
7402
diff
changeset
|
330 diff --git a/b b/b |
6ea0318daf75
Fix issue1495, corner case of adding empty files via patching
Vsevolod Solovyov <vsevolod.solovyov@gmail.com>
parents:
7402
diff
changeset
|
331 new file mode 100644 |
6ea0318daf75
Fix issue1495, corner case of adding empty files via patching
Vsevolod Solovyov <vsevolod.solovyov@gmail.com>
parents:
7402
diff
changeset
|
332 EOF |
6ea0318daf75
Fix issue1495, corner case of adding empty files via patching
Vsevolod Solovyov <vsevolod.solovyov@gmail.com>
parents:
7402
diff
changeset
|
333 hg import --no-commit a.patch |
6ea0318daf75
Fix issue1495, corner case of adding empty files via patching
Vsevolod Solovyov <vsevolod.solovyov@gmail.com>
parents:
7402
diff
changeset
|
334 cd .. |