comparison tests/test-subrepo-deep-nested-change.t @ 24924:41cd8171e58f stable

archive: always use portable path component separators with subrepos The previous behavior when archiving a subrepo 's' on Windows was to internally name the file under it 's\file', due to the use of vfs.reljoin(). When printing the file list from the archive on Windows or Linux, the file was named 's\\file'. The archive extracted OK on Windows, but if the archive was brought to a Linux system, it created a file named 's\file' instead of a directory 's' containing 'file'. *.zip format achives seemed not to have the problem, but this was definitely an issue with *.tgz archives. Largefiles actually got this right, but a test is added to keep this from regressing. The subrepo-deep-nested-change.t test was repurposed to archive to a file, since there are several subsequent tests that archive to a directory. The output change is losing the filesystem prefix '../archive_lf' and not listing the directories 'sub1' and 'sub1/sub2'.
author Matt Harbison <matt_harbison@yahoo.com>
date Mon, 04 May 2015 22:33:29 -0400
parents b39afa36006a
children 5115d03440f4 ccb1623266eb
comparison
equal deleted inserted replaced
24920:b5eb01500696 24924:41cd8171e58f
307 ../archive_lf/sub1/sub2/test.txt 307 ../archive_lf/sub1/sub2/test.txt
308 $ rm -rf ../archive_lf 308 $ rm -rf ../archive_lf
309 309
310 Exclude normal files from main and sub-sub repo 310 Exclude normal files from main and sub-sub repo
311 311
312 $ hg --config extensions.largefiles= archive -S -X '**.txt' ../archive_lf 312 $ hg --config extensions.largefiles= archive -S -X '**.txt' ../archive_lf.tgz
313 $ find ../archive_lf | sort 313 $ tar -tzf ../archive_lf.tgz | sort
314 ../archive_lf 314 archive_lf/.hgsub
315 ../archive_lf/.hgsub 315 archive_lf/.hgsubstate
316 ../archive_lf/.hgsubstate 316 archive_lf/large.bin
317 ../archive_lf/large.bin 317 archive_lf/main
318 ../archive_lf/main 318 archive_lf/sub1/.hgsub
319 ../archive_lf/sub1 319 archive_lf/sub1/.hgsubstate
320 ../archive_lf/sub1/.hgsub 320 archive_lf/sub1/sub1
321 ../archive_lf/sub1/.hgsubstate 321 archive_lf/sub1/sub2/large.bin
322 ../archive_lf/sub1/sub1 322 archive_lf/sub1/sub2/sub2
323 ../archive_lf/sub1/sub2
324 ../archive_lf/sub1/sub2/large.bin
325 ../archive_lf/sub1/sub2/sub2
326 $ rm -rf ../archive_lf
327 323
328 Include normal files from within a largefiles subrepo 324 Include normal files from within a largefiles subrepo
329 325
330 $ hg --config extensions.largefiles= archive -S -I '**.txt' ../archive_lf 326 $ hg --config extensions.largefiles= archive -S -I '**.txt' ../archive_lf
331 $ find ../archive_lf | sort 327 $ find ../archive_lf | sort