dev/chroot-test/action/test1
author Paul Crowley <paul@lshift.net>
Mon, 18 Apr 2011 12:03:14 +0100
changeset 301 f88549f44c8e
parent 275 2e781d52f76e
child 302 020082c44cdf
permissions -rwxr-xr-x
Further refactor, dispense with unnecessary method

#!/bin/sh

set -e

cd

cat > .ssh/config <<__END__
Host chroothg
Hostname localhost
User hg
Port 2222
__END__

echo "Cloning hgadmin..."
hg clone ssh://chroothg/hgadmin
echo "Updating hgadmin..."
cd hgadmin

cat > access.conf <<__END__
read user=restricted/** file=denied/**
write user=restricted/**
__END__
mkdir -p keys/restricted
cp /home/test2/.ssh/id_rsa.pub keys/restricted/test2

hg add keys/restricted/test2 access.conf
hg commit -u test1 -m "Added user test2"
echo "Push"
hg push
cd ..
hg init realrepo
cd realrepo
mkdir denied
echo "This is a file" > content
echo "This is a file not everyone can write to" > denied/cantwrite
hg init nested
echo "This is a file in a nested repo" > nested/content
hg add -R nested nested/content
hg commit -u test1 -R nested -m "Add files to the subrepo"
echo "nested = nested" > .hgsub
hg add content denied/cantwrite .hgsub
hg commit -u test1 -m "Add files to the repo"
echo "Pushing changes"
hg clone . ssh://chroothg/real/project
hg clone nested ssh://chroothg/real/project/nested
echo "Done for user test1"