view tests/test-push-validation @ 10418:5fc090ba08a6

localrepo: add optional validation (defaults to off) for incoming changes This verifies that all manifests are present for incoming changes, and all files for those manifests are also present. This is a simple first-pass, and could be better, but seems like a valuable thing to have, as I've seen pushes in the past that propagated revlog corruption.
author Augie Fackler <durin42@gmail.com>
date Thu, 11 Feb 2010 16:37:43 -0600
parents
children b26c4a89a143
line wrap: on
line source

#!/bin/sh

STRIP=`pwd`

hg init test
cd test
cat > .hg/hgrc <<EOF
[server]
validate=1
EOF
echo alpha > alpha
echo beta > beta
hg addr
hg ci -m 1

cd ..
hg clone test test-clone

cd test-clone
cp .hg/store/data/beta.i tmp
echo blah >> beta
hg ci -m '2 (corrupt)'
mv tmp .hg/store/data/beta.i
hg push 2>&1 | sed "s%$STRIP%test-root%"