refresh-auth now takes ~/.ssh/authorized_keys as an argument, and
it checks that it wrote it last time before rewriting it.
#!/bin/sh
# This file needs to be saved as ~/hg-ssh-wrapper for the user whose
# ~/.ssh/authorized_keys file is rewritten by refresh-auth. It expects
# to be specified as the target of the "command" section in the prefix
# of a key in the authorized_keys file, and be passed a name associated
# with an ssh key as its only argument. It does some setting up before
# calling hg-ssh, which does the real work of deciding whether to allow
# the users action based on the type of the action, the key name, and
# the contents of the specified rules file.
# If your repository is laid out differently you may need to modify
# this file.
set -e
# Use a different hgrc for remote pulls - this way you can set
# up access.py for everything at once without affecting local operations
HGRCPATH=$(pwd)/remote-hgrc
export HGRCPATH
# Set up this environment variable - useful for hg hooks to check.
REMOTE_USER=$1
export REMOTE_USER
cd repos
HG_ACCESS_RULES_FILE=$(pwd)/hgadmin/hg-ssh-access.conf
export HG_ACCESS_RULES_FILE
exec ../admin/hg-admin-tools/hg-ssh