@@ -238,6 +238,55 @@ def test_extract_tree_recursive(self):
238
238
check_no_error (result )
239
239
check_files (test_dir , expected )
240
240
241
+ def test_extract_tree_recursive_replace_originals (self ):
242
+ expected = (
243
+ 'a/a.txt' ,
244
+ 'a/a.tar.gz/a/b/a.txt' ,
245
+ 'a/a.tar.gz/a/b/b.txt' ,
246
+ 'a/a.tar.gz/a/c/c.txt' ,
247
+ 'b/a.txt' ,
248
+ 'b/b.tar.gz/b/.svn/all-wcprops' ,
249
+ 'b/b.tar.gz/b/.svn/entries' ,
250
+ 'b/b.tar.gz/b/.svn/format' ,
251
+ 'b/b.tar.gz/b/a/a.txt' ,
252
+ 'b/b.tar.gz/b/a/.svn/all-wcprops' ,
253
+ 'b/b.tar.gz/b/a/.svn/entries' ,
254
+ 'b/b.tar.gz/b/a/.svn/format' ,
255
+ 'b/b.tar.gz/b/a/.svn/prop-base/a.tar.gz.svn-base' ,
256
+ 'b/b.tar.gz/b/a/.svn/text-base/a.tar.gz.svn-base' ,
257
+ 'b/b.tar.gz/b/a/.svn/text-base/a.txt.svn-base' ,
258
+ 'b/b.tar.gz/b/a/a.tar.gz/a/b/a.txt' ,
259
+ 'b/b.tar.gz/b/a/a.tar.gz/a/b/b.txt' ,
260
+ 'b/b.tar.gz/b/a/a.tar.gz/a/c/c.txt' ,
261
+ 'b/b.tar.gz/b/b/a.txt' ,
262
+ 'b/b.tar.gz/b/b/.svn/all-wcprops' ,
263
+ 'b/b.tar.gz/b/b/.svn/entries' ,
264
+ 'b/b.tar.gz/b/b/.svn/format' ,
265
+ 'b/b.tar.gz/b/b/.svn/text-base/a.txt.svn-base' ,
266
+ 'b/b.tar.gz/b/c/a.txt' ,
267
+ 'b/b.tar.gz/b/c/.svn/all-wcprops' ,
268
+ 'b/b.tar.gz/b/c/.svn/entries' ,
269
+ 'b/b.tar.gz/b/c/.svn/format' ,
270
+ 'b/b.tar.gz/b/c/.svn/prop-base/a.tar.gz.svn-base' ,
271
+ 'b/b.tar.gz/b/c/.svn/text-base/a.tar.gz.svn-base' ,
272
+ 'b/b.tar.gz/b/c/.svn/text-base/a.txt.svn-base' ,
273
+ 'b/b.tar.gz/b/c/a.tar.gz/a/b/a.txt' ,
274
+ 'b/b.tar.gz/b/c/a.tar.gz/a/b/b.txt' ,
275
+ 'b/b.tar.gz/b/c/a.tar.gz/a/c/c.txt' ,
276
+ 'c/a.txt' ,
277
+ 'c/a.tar.gz/a/b/a.txt' ,
278
+ 'c/a.tar.gz/a/b/b.txt' ,
279
+ 'c/a.tar.gz/a/c/c.txt' ,
280
+ )
281
+ test_dir = self .get_test_loc ('extract/tree' , copy = True )
282
+ result = list (extract .extract (test_dir , recurse = True , replace_originals = True ))
283
+ check_no_error (result )
284
+ check_files (test_dir , expected )
285
+ # again
286
+ result = list (extract .extract (test_dir , recurse = True ))
287
+ check_no_error (result )
288
+ check_files (test_dir , expected )
289
+
241
290
def test_extract_tree_shallow_then_recursive (self ):
242
291
shallow = (
243
292
'a/a.tar.gz' ,
0 commit comments