view tests/test-grep @ 2076:d007df6daf8e

Create an atomic opener that does not automatically rename on close The revlog.checkinlinesize() uses an atomic opener to replace the index file after converting it from inline to traditional .i and .d files. If this operation is interrupted, the atomic file class can overwrite a valid file with a partially written one. This patch introduces an atomic opener that does not automatically replace the destination file with the tempfile. This way an interrupted checkinlinesize() call turns into a noop.
author mason@suse.com
date Tue, 04 Apr 2006 16:38:44 -0400
parents 5e47e42b14ba
children
line wrap: on
line source

#!/bin/sh

mkdir t
cd t
hg init
echo import > port
hg add port
hg commit -m 0 -u spam -d '0 0'
echo export >> port
hg commit -m 1 -u eggs -d '1 0'
echo export > port
echo vaportight >> port
echo 'import/export' >> port
hg commit -m 2 -u spam -d '2 0'
echo 'import/export' >> port
hg commit -m 3 -u eggs -d '3 0'
head -n 3 port > port1
mv port1 port
hg commit -m 4 -u spam -d '4 0'
hg grep port port
echo 'FIXME: history is wrong here'
hg grep --all -nu port port
hg grep import port