author | Brendan Cully <brendan@kublai.com> |
Thu, 23 Aug 2007 13:59:52 -0700 | |
changeset 5235 | 988ed47d9d65 |
parent 4679 | 826659bd8053 |
child 5264 | 0fc16031bb45 |
permissions | -rwxr-xr-x |
2907 | 1 |
#!/bin/sh |
2 |
||
3 |
hg init a |
|
4 |
cd a |
|
5 |
||
6 |
echo start > start |
|
7 |
hg ci -Amstart -d '0 0' |
|
8 |
echo new > new |
|
9 |
hg ci -Amnew -d '0 0' |
|
10 |
echo '% new file' |
|
3199
096f1c73cdc3
Add -D/--nodates options to hg diff/export that removes dates from diff headers
Stephen Darnell <stephen@darnell.plus.com>
parents:
3066
diff
changeset
|
11 |
hg diff --git -r 0 |
2907 | 12 |
|
13 |
hg cp new copy |
|
14 |
hg ci -mcopy -d '0 0' |
|
15 |
echo '% copy' |
|
3199
096f1c73cdc3
Add -D/--nodates options to hg diff/export that removes dates from diff headers
Stephen Darnell <stephen@darnell.plus.com>
parents:
3066
diff
changeset
|
16 |
hg diff --git -r 1:tip |
2907 | 17 |
|
18 |
hg mv copy rename |
|
19 |
hg ci -mrename -d '0 0' |
|
20 |
echo '% rename' |
|
3199
096f1c73cdc3
Add -D/--nodates options to hg diff/export that removes dates from diff headers
Stephen Darnell <stephen@darnell.plus.com>
parents:
3066
diff
changeset
|
21 |
hg diff --git -r 2:tip |
2907 | 22 |
|
23 |
hg rm rename |
|
24 |
hg ci -mdelete -d '0 0' |
|
25 |
echo '% delete' |
|
3199
096f1c73cdc3
Add -D/--nodates options to hg diff/export that removes dates from diff headers
Stephen Darnell <stephen@darnell.plus.com>
parents:
3066
diff
changeset
|
26 |
hg diff --git -r 3:tip |
2907 | 27 |
|
28 |
cat > src <<EOF |
|
29 |
1 |
|
30 |
2 |
|
31 |
3 |
|
32 |
4 |
|
33 |
5 |
|
34 |
EOF |
|
35 |
hg ci -Amsrc -d '0 0' |
|
36 |
chmod +x src |
|
37 |
hg ci -munexec -d '0 0' |
|
38 |
echo '% chmod 644' |
|
3199
096f1c73cdc3
Add -D/--nodates options to hg diff/export that removes dates from diff headers
Stephen Darnell <stephen@darnell.plus.com>
parents:
3066
diff
changeset
|
39 |
hg diff --git -r 5:tip |
2907 | 40 |
|
41 |
hg mv src dst |
|
42 |
chmod -x dst |
|
43 |
echo a >> dst |
|
44 |
hg ci -mrenamemod -d '0 0' |
|
45 |
echo '% rename+mod+chmod' |
|
3199
096f1c73cdc3
Add -D/--nodates options to hg diff/export that removes dates from diff headers
Stephen Darnell <stephen@darnell.plus.com>
parents:
3066
diff
changeset
|
46 |
hg diff --git -r 6:tip |
3066
035fd2029575
git --diff: fix traceback when getting mode change
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
2935
diff
changeset
|
47 |
|
035fd2029575
git --diff: fix traceback when getting mode change
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
2935
diff
changeset
|
48 |
echo '% nonexistent in tip+chmod' |
3199
096f1c73cdc3
Add -D/--nodates options to hg diff/export that removes dates from diff headers
Stephen Darnell <stephen@darnell.plus.com>
parents:
3066
diff
changeset
|
49 |
hg diff --git -r 5:6 |
3368
751df21dad72
Add test for git binary diff support
Brendan Cully <brendan@kublai.com>
parents:
3199
diff
changeset
|
50 |
|
751df21dad72
Add test for git binary diff support
Brendan Cully <brendan@kublai.com>
parents:
3199
diff
changeset
|
51 |
echo '% binary diff' |
751df21dad72
Add test for git binary diff support
Brendan Cully <brendan@kublai.com>
parents:
3199
diff
changeset
|
52 |
cp $TESTDIR/binfile.bin . |
751df21dad72
Add test for git binary diff support
Brendan Cully <brendan@kublai.com>
parents:
3199
diff
changeset
|
53 |
hg add binfile.bin |
751df21dad72
Add test for git binary diff support
Brendan Cully <brendan@kublai.com>
parents:
3199
diff
changeset
|
54 |
hg diff --git > b.diff |
751df21dad72
Add test for git binary diff support
Brendan Cully <brendan@kublai.com>
parents:
3199
diff
changeset
|
55 |
cat b.diff |
751df21dad72
Add test for git binary diff support
Brendan Cully <brendan@kublai.com>
parents:
3199
diff
changeset
|
56 |
|
751df21dad72
Add test for git binary diff support
Brendan Cully <brendan@kublai.com>
parents:
3199
diff
changeset
|
57 |
echo '% import binary diff' |
751df21dad72
Add test for git binary diff support
Brendan Cully <brendan@kublai.com>
parents:
3199
diff
changeset
|
58 |
hg revert binfile.bin |
751df21dad72
Add test for git binary diff support
Brendan Cully <brendan@kublai.com>
parents:
3199
diff
changeset
|
59 |
rm binfile.bin |
751df21dad72
Add test for git binary diff support
Brendan Cully <brendan@kublai.com>
parents:
3199
diff
changeset
|
60 |
hg import -mfoo b.diff |
751df21dad72
Add test for git binary diff support
Brendan Cully <brendan@kublai.com>
parents:
3199
diff
changeset
|
61 |
cmp binfile.bin $TESTDIR/binfile.bin |
751df21dad72
Add test for git binary diff support
Brendan Cully <brendan@kublai.com>
parents:
3199
diff
changeset
|
62 |
|
3693
454b3a8cdf28
diff: improve detection of renames when diffing across many revisions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3368
diff
changeset
|
63 |
echo |
4092
4ced663bebf0
git patches: handle renames of binary files
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3702
diff
changeset
|
64 |
echo '% rename binary file' |
4ced663bebf0
git patches: handle renames of binary files
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3702
diff
changeset
|
65 |
hg mv binfile.bin renamed.bin |
4ced663bebf0
git patches: handle renames of binary files
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3702
diff
changeset
|
66 |
hg diff --git |
4ced663bebf0
git patches: handle renames of binary files
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3702
diff
changeset
|
67 |
|
4ced663bebf0
git patches: handle renames of binary files
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3702
diff
changeset
|
68 |
echo |
3693
454b3a8cdf28
diff: improve detection of renames when diffing across many revisions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3368
diff
changeset
|
69 |
echo '% diff across many revisions' |
454b3a8cdf28
diff: improve detection of renames when diffing across many revisions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3368
diff
changeset
|
70 |
hg mv dst dst2 |
454b3a8cdf28
diff: improve detection of renames when diffing across many revisions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3368
diff
changeset
|
71 |
hg ci -m 'mv dst dst2' -d '0 0' |
454b3a8cdf28
diff: improve detection of renames when diffing across many revisions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3368
diff
changeset
|
72 |
|
454b3a8cdf28
diff: improve detection of renames when diffing across many revisions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3368
diff
changeset
|
73 |
echo >> start |
454b3a8cdf28
diff: improve detection of renames when diffing across many revisions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3368
diff
changeset
|
74 |
hg ci -m 'change start' -d '0 0' |
454b3a8cdf28
diff: improve detection of renames when diffing across many revisions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3368
diff
changeset
|
75 |
|
454b3a8cdf28
diff: improve detection of renames when diffing across many revisions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3368
diff
changeset
|
76 |
hg revert -r -2 start |
454b3a8cdf28
diff: improve detection of renames when diffing across many revisions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3368
diff
changeset
|
77 |
hg mv dst2 dst3 |
454b3a8cdf28
diff: improve detection of renames when diffing across many revisions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3368
diff
changeset
|
78 |
hg ci -m 'mv dst2 dst3; revert start' -d '0 0' |
454b3a8cdf28
diff: improve detection of renames when diffing across many revisions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3368
diff
changeset
|
79 |
|
454b3a8cdf28
diff: improve detection of renames when diffing across many revisions
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3368
diff
changeset
|
80 |
hg diff --git -r 9:11 |
3694
c0b1a0c72c7d
renamedbetween: only return (file, node) pairs that exist in the original rev
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3693
diff
changeset
|
81 |
|
c0b1a0c72c7d
renamedbetween: only return (file, node) pairs that exist in the original rev
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3693
diff
changeset
|
82 |
echo a >> foo |
c0b1a0c72c7d
renamedbetween: only return (file, node) pairs that exist in the original rev
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3693
diff
changeset
|
83 |
hg add foo |
c0b1a0c72c7d
renamedbetween: only return (file, node) pairs that exist in the original rev
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3693
diff
changeset
|
84 |
hg ci -m 'add foo' |
c0b1a0c72c7d
renamedbetween: only return (file, node) pairs that exist in the original rev
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3693
diff
changeset
|
85 |
echo b >> foo |
c0b1a0c72c7d
renamedbetween: only return (file, node) pairs that exist in the original rev
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3693
diff
changeset
|
86 |
hg ci -m 'change foo' |
c0b1a0c72c7d
renamedbetween: only return (file, node) pairs that exist in the original rev
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3693
diff
changeset
|
87 |
hg mv foo bar |
c0b1a0c72c7d
renamedbetween: only return (file, node) pairs that exist in the original rev
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3693
diff
changeset
|
88 |
hg ci -m 'mv foo bar' |
c0b1a0c72c7d
renamedbetween: only return (file, node) pairs that exist in the original rev
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3693
diff
changeset
|
89 |
echo c >> bar |
c0b1a0c72c7d
renamedbetween: only return (file, node) pairs that exist in the original rev
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3693
diff
changeset
|
90 |
hg ci -m 'change bar' |
c0b1a0c72c7d
renamedbetween: only return (file, node) pairs that exist in the original rev
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3693
diff
changeset
|
91 |
|
c0b1a0c72c7d
renamedbetween: only return (file, node) pairs that exist in the original rev
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3693
diff
changeset
|
92 |
echo |
c0b1a0c72c7d
renamedbetween: only return (file, node) pairs that exist in the original rev
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3693
diff
changeset
|
93 |
echo '% file created before r1 and renamed before r2' |
c0b1a0c72c7d
renamedbetween: only return (file, node) pairs that exist in the original rev
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3693
diff
changeset
|
94 |
hg diff --git -r -3:-1 |
c0b1a0c72c7d
renamedbetween: only return (file, node) pairs that exist in the original rev
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3693
diff
changeset
|
95 |
echo |
c0b1a0c72c7d
renamedbetween: only return (file, node) pairs that exist in the original rev
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3693
diff
changeset
|
96 |
echo '% file created in r1 and renamed before r2' |
c0b1a0c72c7d
renamedbetween: only return (file, node) pairs that exist in the original rev
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3693
diff
changeset
|
97 |
hg diff --git -r -4:-1 |
c0b1a0c72c7d
renamedbetween: only return (file, node) pairs that exist in the original rev
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3693
diff
changeset
|
98 |
echo |
c0b1a0c72c7d
renamedbetween: only return (file, node) pairs that exist in the original rev
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3693
diff
changeset
|
99 |
echo '% file created after r1 and renamed before r2' |
c0b1a0c72c7d
renamedbetween: only return (file, node) pairs that exist in the original rev
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3693
diff
changeset
|
100 |
hg diff --git -r -5:-1 |
c0b1a0c72c7d
renamedbetween: only return (file, node) pairs that exist in the original rev
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3693
diff
changeset
|
101 |
|
3695
3a2fc90d27d6
fix typo in mercurial/patch.py
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3694
diff
changeset
|
102 |
echo |
3a2fc90d27d6
fix typo in mercurial/patch.py
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3694
diff
changeset
|
103 |
echo '% comparing with the working dir' |
3a2fc90d27d6
fix typo in mercurial/patch.py
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3694
diff
changeset
|
104 |
echo >> start |
3a2fc90d27d6
fix typo in mercurial/patch.py
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3694
diff
changeset
|
105 |
hg ci -m 'change start again' -d '0 0' |
3a2fc90d27d6
fix typo in mercurial/patch.py
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3694
diff
changeset
|
106 |
|
3a2fc90d27d6
fix typo in mercurial/patch.py
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3694
diff
changeset
|
107 |
echo > created |
3a2fc90d27d6
fix typo in mercurial/patch.py
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3694
diff
changeset
|
108 |
hg add created |
3a2fc90d27d6
fix typo in mercurial/patch.py
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3694
diff
changeset
|
109 |
hg ci -m 'add created' |
3a2fc90d27d6
fix typo in mercurial/patch.py
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3694
diff
changeset
|
110 |
|
3a2fc90d27d6
fix typo in mercurial/patch.py
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3694
diff
changeset
|
111 |
hg mv created created2 |
3a2fc90d27d6
fix typo in mercurial/patch.py
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3694
diff
changeset
|
112 |
hg ci -m 'mv created created2' |
3a2fc90d27d6
fix typo in mercurial/patch.py
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3694
diff
changeset
|
113 |
|
3a2fc90d27d6
fix typo in mercurial/patch.py
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3694
diff
changeset
|
114 |
hg mv created2 created3 |
3a2fc90d27d6
fix typo in mercurial/patch.py
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3694
diff
changeset
|
115 |
echo "% there's a copy in the working dir..." |
3a2fc90d27d6
fix typo in mercurial/patch.py
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3694
diff
changeset
|
116 |
hg diff --git |
3a2fc90d27d6
fix typo in mercurial/patch.py
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3694
diff
changeset
|
117 |
echo |
3a2fc90d27d6
fix typo in mercurial/patch.py
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3694
diff
changeset
|
118 |
echo "% ...but there's another copy between the original rev and the wd" |
3a2fc90d27d6
fix typo in mercurial/patch.py
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3694
diff
changeset
|
119 |
hg diff --git -r -2 |
3696
562a65635bcb
diff: better detection of renames when comparing with the working dir.
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3695
diff
changeset
|
120 |
echo |
562a65635bcb
diff: better detection of renames when comparing with the working dir.
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3695
diff
changeset
|
121 |
echo "% ...but the source of the copy was created after the original rev" |
562a65635bcb
diff: better detection of renames when comparing with the working dir.
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3695
diff
changeset
|
122 |
hg diff --git -r -3 |
562a65635bcb
diff: better detection of renames when comparing with the working dir.
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3695
diff
changeset
|
123 |
hg ci -m 'mv created2 created3' |
562a65635bcb
diff: better detection of renames when comparing with the working dir.
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3695
diff
changeset
|
124 |
|
562a65635bcb
diff: better detection of renames when comparing with the working dir.
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3695
diff
changeset
|
125 |
echo > brand-new |
562a65635bcb
diff: better detection of renames when comparing with the working dir.
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3695
diff
changeset
|
126 |
hg add brand-new |
562a65635bcb
diff: better detection of renames when comparing with the working dir.
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3695
diff
changeset
|
127 |
hg ci -m 'add brand-new' |
562a65635bcb
diff: better detection of renames when comparing with the working dir.
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3695
diff
changeset
|
128 |
hg mv brand-new brand-new2 |
562a65635bcb
diff: better detection of renames when comparing with the working dir.
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3695
diff
changeset
|
129 |
echo '% created in parent of wd; renamed in the wd' |
562a65635bcb
diff: better detection of renames when comparing with the working dir.
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3695
diff
changeset
|
130 |
hg diff --git |
562a65635bcb
diff: better detection of renames when comparing with the working dir.
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3695
diff
changeset
|
131 |
|
562a65635bcb
diff: better detection of renames when comparing with the working dir.
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3695
diff
changeset
|
132 |
echo |
562a65635bcb
diff: better detection of renames when comparing with the working dir.
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3695
diff
changeset
|
133 |
echo '% created between r1 and parent of wd; renamed in the wd' |
562a65635bcb
diff: better detection of renames when comparing with the working dir.
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3695
diff
changeset
|
134 |
hg diff --git -r -2 |
3702
70c3ee224c08
Don't generate git patches that rename a file to multiple destinations
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3696
diff
changeset
|
135 |
hg ci -m 'mv brand-new brand-new2' |
70c3ee224c08
Don't generate git patches that rename a file to multiple destinations
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3696
diff
changeset
|
136 |
|
70c3ee224c08
Don't generate git patches that rename a file to multiple destinations
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3696
diff
changeset
|
137 |
echo '% one file is copied to many destinations and removed' |
70c3ee224c08
Don't generate git patches that rename a file to multiple destinations
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3696
diff
changeset
|
138 |
hg cp brand-new2 brand-new3 |
70c3ee224c08
Don't generate git patches that rename a file to multiple destinations
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3696
diff
changeset
|
139 |
hg mv brand-new2 brand-new3-2 |
70c3ee224c08
Don't generate git patches that rename a file to multiple destinations
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3696
diff
changeset
|
140 |
hg ci -m 'multiple renames/copies' |
70c3ee224c08
Don't generate git patches that rename a file to multiple destinations
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3696
diff
changeset
|
141 |
hg diff --git -r -2 -r -1 |
70c3ee224c08
Don't generate git patches that rename a file to multiple destinations
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
3696
diff
changeset
|
142 |
|
4679
826659bd8053
git patches: correct handling of filenames with spaces
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4096
diff
changeset
|
143 |
echo '% there should be a trailing TAB if there are spaces in the file name' |
826659bd8053
git patches: correct handling of filenames with spaces
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4096
diff
changeset
|
144 |
echo foo > 'with spaces' |
826659bd8053
git patches: correct handling of filenames with spaces
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4096
diff
changeset
|
145 |
hg add 'with spaces' |
826659bd8053
git patches: correct handling of filenames with spaces
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4096
diff
changeset
|
146 |
hg diff --git |
826659bd8053
git patches: correct handling of filenames with spaces
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4096
diff
changeset
|
147 |
hg ci -m 'add filename with spaces' |
826659bd8053
git patches: correct handling of filenames with spaces
Alexis S. L. Carvalho <alexis@cecm.usp.br>
parents:
4096
diff
changeset
|
148 |