X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=tests%2Fincremen.sh;h=24868aaea09a499ea83fd0568901f117cf1b0945;hb=9e0d0592059515045e12e50e7fbad8271d243e14;hp=c723e9c9b66b2c2fc26cb64122373296865f28d6;hpb=70fdfd4fa136db573a473fcb30a6e2d8e58e5c72;p=chaz%2Ftar diff --git a/tests/incremen.sh b/tests/incremen.sh index c723e9c..24868aa 100755 --- a/tests/incremen.sh +++ b/tests/incremen.sh @@ -3,16 +3,31 @@ . ./preset . $srcdir/before +prereq gnu oldgnu set -e mkdir structure -touch structure/file -# FIXME: The sleep is necessary for the second tar to work. Exactly why? +echo x >structure/file + +# On Nextstep (and perhaps other 4.3BSD systems), +# a newly created file's ctime isn't updated +# until the next sync or stat operation on the file. +ls -l structure/file >/dev/null + +# If the time of an initial backup and the creation time of a file contained +# in that backup are the same, the file will be backed up again when an +# incremental backup is done, because the incremental backup backs up +# files created `on or after' the initial backup time. Without the sleep +# command, behaviour of tar becomes variable, depending whether the system +# clock ticked over to the next second between creating the file and +# backing it up. sleep 1 + tar cf archive --listed=list structure tar cfv archive --listed=list structure echo ----- -touch structure/file +sleep 1 +echo y >structure/file tar cfv archive --listed=list structure out="\