t9119: do not compare "Text Last Updated" line from "svn info"
On the "Text Last Updated" line, "git svn info <file>" does not give the timestamp of the commit that touched the path most recently, unlike "svn info <file>". Do not expect the output from two commands to match on these lines. There was a "ptouch" attempt to transplant the timestamp from svn working tree files to corresponding git working tree files, which mostly hid this difference, but is made pointless now with this change. Remove the helper function and calls to it. Signed-off-by: Junio C Hamano <gitster@pobox.com>
Junio C Hamano committed
Dec 6, 2010 at 16:00 UTC
ed7158b42475e3b13ac90c52d9ce0bbc855e18c2
1 file changed
+34
-72
t/t9119-git-svn-info.sh
+34
-72
@@ -18,21 +18,14 @@ case $v in
18
;;
19
esac
20
21
-ptouch() {
22
- perl -w -e '
23
- use strict;
24
- use POSIX qw(mktime);
25
- die "ptouch requires exactly 2 arguments" if @ARGV != 2;
26
- my $text_last_updated = shift @ARGV;
27
- my $git_file = shift @ARGV;
28
- die "\"$git_file\" does not exist" if ! -e $git_file;
29
- if ($text_last_updated
30
- =~ /(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})/) {
31
- my $mtime = mktime($6, $5, $4, $3, $2 - 1, $1 - 1900);
32
- my $atime = $mtime;
33
- utime $atime, $mtime, $git_file;
34
- }
35
- ' "`svn_cmd info $2 | grep '^Text Last Updated:'`" "$1"
21
+# On the "Text Last Updated" line, "git svn info" does not return the
22
+# same value as "svn info" (i.e. the commit timestamp that touched the
23
+# path most recently); do not expect that field to match.
24
+test_cmp_info () {
25
+ sed -e '/^Text Last Updated:/d' "$1" >tmp.expect
26
+ sed -e '/^Text Last Updated:/d' "$2" >tmp.actual
27
+ test_cmp tmp.expect tmp.actual &&
28
+ rm -f tmp.expect tmp.actual
29
}
30
31
quoted_svnrepo="$(echo $svnrepo | sed 's/ /%20/')"
@@ -62,17 +55,13 @@ test_expect_success 'setup repository and import' '
55
cd gitwc &&
56
git svn init "$svnrepo" &&
57
git svn fetch
65
- ) &&
66
- ptouch gitwc/file svnwc/file &&
67
- ptouch gitwc/directory svnwc/directory &&
68
- ptouch gitwc/symlink-file svnwc/symlink-file &&
69
- ptouch gitwc/symlink-directory svnwc/symlink-directory
58
+ )
59
'
60
61
test_expect_success 'info' "
62
(cd svnwc; svn info) > expected.info &&
63
(cd gitwc; git svn info) > actual.info &&
75
- test_cmp expected.info actual.info
64
+ test_cmp_info expected.info actual.info
65
"
66
67
test_expect_success 'info --url' '
@@ -82,7 +71,7 @@ test_expect_success 'info --url' '
71
test_expect_success 'info .' "
72
(cd svnwc; svn info .) > expected.info-dot &&
73
(cd gitwc; git svn info .) > actual.info-dot &&
85
- test_cmp expected.info-dot actual.info-dot
74
+ test_cmp_info expected.info-dot actual.info-dot
75
"
76
77
test_expect_success 'info --url .' '
@@ -92,7 +81,7 @@ test_expect_success 'info --url .' '
81
test_expect_success 'info file' "
82
(cd svnwc; svn info file) > expected.info-file &&
83
(cd gitwc; git svn info file) > actual.info-file &&
95
- test_cmp expected.info-file actual.info-file
84
+ test_cmp_info expected.info-file actual.info-file
85
"
86
87
test_expect_success 'info --url file' '
@@ -102,13 +91,13 @@ test_expect_success 'info --url file' '
91
test_expect_success 'info directory' "
92
(cd svnwc; svn info directory) > expected.info-directory &&
93
(cd gitwc; git svn info directory) > actual.info-directory &&
105
- test_cmp expected.info-directory actual.info-directory
94
+ test_cmp_info expected.info-directory actual.info-directory
95
"
96
97
test_expect_success 'info inside directory' "
98
(cd svnwc/directory; svn info) > expected.info-inside-directory &&
99
(cd gitwc/directory; git svn info) > actual.info-inside-directory &&
111
- test_cmp expected.info-inside-directory actual.info-inside-directory
100
+ test_cmp_info expected.info-inside-directory actual.info-inside-directory
101
"
102
103
test_expect_success 'info --url directory' '
@@ -118,7 +107,7 @@ test_expect_success 'info --url directory' '
107
test_expect_success 'info symlink-file' "
108
(cd svnwc; svn info symlink-file) > expected.info-symlink-file &&
109
(cd gitwc; git svn info symlink-file) > actual.info-symlink-file &&
121
- test_cmp expected.info-symlink-file actual.info-symlink-file
110
+ test_cmp_info expected.info-symlink-file actual.info-symlink-file
111
"
112
113
test_expect_success 'info --url symlink-file' '
@@ -131,7 +120,7 @@ test_expect_success 'info symlink-directory' "
120
> expected.info-symlink-directory &&
121
(cd gitwc; git svn info symlink-directory) \
122
> actual.info-symlink-directory &&
134
- test_cmp expected.info-symlink-directory actual.info-symlink-directory
123
+ test_cmp_info expected.info-symlink-directory actual.info-symlink-directory
124
"
125
126
test_expect_success 'info --url symlink-directory' '
@@ -146,14 +135,13 @@ test_expect_success 'info added-file' "
135
git add added-file
136
) &&
137
cp gitwc/added-file svnwc/added-file &&
149
- ptouch gitwc/added-file svnwc/added-file &&
138
(
139
cd svnwc &&
140
svn_cmd add added-file > /dev/null
141
) &&
142
(cd svnwc; svn info added-file) > expected.info-added-file &&
143
(cd gitwc; git svn info added-file) > actual.info-added-file &&
156
- test_cmp expected.info-added-file actual.info-added-file
144
+ test_cmp_info expected.info-added-file actual.info-added-file
145
"
146
147
test_expect_success 'info --url added-file' '
@@ -163,7 +151,6 @@ test_expect_success 'info --url added-file' '
151
152
test_expect_success 'info added-directory' "
153
mkdir gitwc/added-directory svnwc/added-directory &&
166
- ptouch gitwc/added-directory svnwc/added-directory &&
154
touch gitwc/added-directory/.placeholder &&
155
(
156
cd svnwc &&
@@ -177,7 +164,7 @@ test_expect_success 'info added-directory' "
164
> expected.info-added-directory &&
165
(cd gitwc; git svn info added-directory) \
166
> actual.info-added-directory &&
180
- test_cmp expected.info-added-directory actual.info-added-directory
167
+ test_cmp_info expected.info-added-directory actual.info-added-directory
168
"
169
170
test_expect_success 'info --url added-directory' '
@@ -196,13 +183,12 @@ test_expect_success 'info added-symlink-file' "
183
ln -s added-file added-symlink-file &&
184
svn_cmd add added-symlink-file > /dev/null
185
) &&
199
- ptouch gitwc/added-symlink-file svnwc/added-symlink-file &&
186
(cd svnwc; svn info added-symlink-file) \
187
> expected.info-added-symlink-file &&
188
(cd gitwc; git svn info added-symlink-file) \
189
> actual.info-added-symlink-file &&
204
- test_cmp expected.info-added-symlink-file \
205
- actual.info-added-symlink-file
190
+ test_cmp_info expected.info-added-symlink-file \
191
+ actual.info-added-symlink-file
192
"
193
194
test_expect_success 'info --url added-symlink-file' '
@@ -221,13 +207,12 @@ test_expect_success 'info added-symlink-directory' "
207
ln -s added-directory added-symlink-directory &&
208
svn_cmd add added-symlink-directory > /dev/null
209
) &&
224
- ptouch gitwc/added-symlink-directory svnwc/added-symlink-directory &&
210
(cd svnwc; svn info added-symlink-directory) \
211
> expected.info-added-symlink-directory &&
212
(cd gitwc; git svn info added-symlink-directory) \
213
> actual.info-added-symlink-directory &&
229
- test_cmp expected.info-added-symlink-directory \
230
- actual.info-added-symlink-directory
214
+ test_cmp_info expected.info-added-symlink-directory \
215
+ actual.info-added-symlink-directory
216
"
217
218
test_expect_success 'info --url added-symlink-directory' '
@@ -235,11 +220,6 @@ test_expect_success 'info --url added-symlink-directory' '
220
= "$quoted_svnrepo/added-symlink-directory"
221
'
222
238
-# The next few tests replace the "Text Last Updated" value with a
239
-# placeholder since git doesn't have a way to know the date that a
240
-# now-deleted file was last checked out locally. Internally it
241
-# simply reuses the Last Changed Date.
242
-
223
test_expect_success 'info deleted-file' "
224
(
225
cd gitwc &&
@@ -249,13 +229,9 @@ test_expect_success 'info deleted-file' "
229
cd svnwc &&
230
svn_cmd rm --force file > /dev/null
231
) &&
252
- (cd svnwc; svn info file) |
253
- sed -e 's/^\(Text Last Updated:\).*/\1 TEXT-LAST-UPDATED-STRING/' \
254
- > expected.info-deleted-file &&
255
- (cd gitwc; git svn info file) |
256
- sed -e 's/^\(Text Last Updated:\).*/\1 TEXT-LAST-UPDATED-STRING/' \
257
- > actual.info-deleted-file &&
258
- test_cmp expected.info-deleted-file actual.info-deleted-file
232
+ (cd svnwc; svn info file) >expected.info-deleted-file &&
233
+ (cd gitwc; git svn info file) >actual.info-deleted-file &&
234
+ test_cmp_info expected.info-deleted-file actual.info-deleted-file
235
"
236
237
test_expect_success 'info --url file (deleted)' '
@@ -272,13 +248,9 @@ test_expect_success 'info deleted-directory' "
248
cd svnwc &&
249
svn_cmd rm --force directory > /dev/null
250
) &&
275
- (cd svnwc; svn info directory) |
276
- sed -e 's/^\(Text Last Updated:\).*/\1 TEXT-LAST-UPDATED-STRING/' \
277
- > expected.info-deleted-directory &&
278
- (cd gitwc; git svn info directory) |
279
- sed -e 's/^\(Text Last Updated:\).*/\1 TEXT-LAST-UPDATED-STRING/' \
280
- > actual.info-deleted-directory &&
281
- test_cmp expected.info-deleted-directory actual.info-deleted-directory
251
+ (cd svnwc; svn info directory) >expected.info-deleted-directory &&
252
+ (cd gitwc; git svn info directory) >actual.info-deleted-directory &&
253
+ test_cmp_info expected.info-deleted-directory actual.info-deleted-directory
254
"
255
256
test_expect_success 'info --url directory (deleted)' '
@@ -295,14 +267,9 @@ test_expect_success 'info deleted-symlink-file' "
267
cd svnwc &&
268
svn_cmd rm --force symlink-file > /dev/null
269
) &&
298
- (cd svnwc; svn info symlink-file) |
299
- sed -e 's/^\(Text Last Updated:\).*/\1 TEXT-LAST-UPDATED-STRING/' \
300
- > expected.info-deleted-symlink-file &&
301
- (cd gitwc; git svn info symlink-file) |
302
- sed -e 's/^\(Text Last Updated:\).*/\1 TEXT-LAST-UPDATED-STRING/' \
303
- > actual.info-deleted-symlink-file &&
304
- test_cmp expected.info-deleted-symlink-file \
305
- actual.info-deleted-symlink-file
270
+ (cd svnwc; svn info symlink-file) >expected.info-deleted-symlink-file &&
271
+ (cd gitwc; git svn info symlink-file) >actual.info-deleted-symlink-file &&
272
+ test_cmp_info expected.info-deleted-symlink-file actual.info-deleted-symlink-file
273
"
274
275
test_expect_success 'info --url symlink-file (deleted)' '
@@ -319,14 +286,9 @@ test_expect_success 'info deleted-symlink-directory' "
286
cd svnwc &&
287
svn_cmd rm --force symlink-directory > /dev/null
288
) &&
322
- (cd svnwc; svn info symlink-directory) |
323
- sed -e 's/^\(Text Last Updated:\).*/\1 TEXT-LAST-UPDATED-STRING/' \
324
- > expected.info-deleted-symlink-directory &&
325
- (cd gitwc; git svn info symlink-directory) |
326
- sed -e 's/^\(Text Last Updated:\).*/\1 TEXT-LAST-UPDATED-STRING/' \
327
- > actual.info-deleted-symlink-directory &&
328
- test_cmp expected.info-deleted-symlink-directory \
329
- actual.info-deleted-symlink-directory
289
+ (cd svnwc; svn info symlink-directory) >expected.info-deleted-symlink-directory &&
290
+ (cd gitwc; git svn info symlink-directory) >actual.info-deleted-symlink-directory &&
291
+ test_cmp_info expected.info-deleted-symlink-directory actual.info-deleted-symlink-directory
292
"
293
294
test_expect_success 'info --url symlink-directory (deleted)' '