dev/chroot-test/action/test1
author David Douard <david.douard@logilab.fr>
Mon, 03 Nov 2014 11:12:45 +0100
changeset 372 80f78674c56e
parent 309 091630a3938e
permissions -rwxr-xr-x
Add support for phases This adds a "publish" permission level (between "init" and "write") required to be able to change the phase of a changeset from "draft" to "public". Update documentation accordingly. This is meant to be used for using the changeset evolution feature of mercurial, see http://evolution.experimentalworks.net/doc/

#!/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
cd ..
echo "Creating an mq repository"
hg init qrepo
(cd qrepo ; hg --config extensions.mq= qinit -c)
hg --config extensions.mq= qclone qrepo ssh://chroothg/qrepo
echo "Done for user test1"