@matheusbsbs / matheus-bagliano / commits / ed7158b424
Fork 0

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)' '