X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=tests%2Fincremen.sh;h=40adbf81ccf32e22a03cf10841af3a898a96cdb5;hb=91b2d65e9dccae981f308a659d6c7bdd32285598;hp=c723e9c9b66b2c2fc26cb64122373296865f28d6;hpb=70fdfd4fa136db573a473fcb30a6e2d8e58e5c72;p=chaz%2Ftar diff --git a/tests/incremen.sh b/tests/incremen.sh index c723e9c..40adbf8 100755 --- a/tests/incremen.sh +++ b/tests/incremen.sh @@ -6,14 +6,28 @@ 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 + +tar cf archive --format=gnu --listed=list structure +tar cfv archive --format=gnu --listed=list structure echo ----- -touch structure/file -tar cfv archive --listed=list structure +sleep 1 +echo y >structure/file +tar cfv archive --format=gnu --listed=list structure out="\ structure/