Another sad software story, with a happy ending.
pushmi provides a read/write mirror of an svn repository.
My repository is
svn+ssh://
, which normally works fine with ssh-agent.Unfortunately
pushmi
relies on svn hooks to update the master repository, and svn in its wisdom does not preserve any environment variables, thus making ssh-agent not work very well.- A solution is to install the package
keychain
, which writes the ssh-agent environment variables out to disk (this sounds trivial, but it also finds the running ssh-agent without any configuration). to both $REPOSITORY/hooks/pre-commit and $REPOSITORY/hooks/post-commit, add the following snippet to the beginning of the script
KEYCHAINFILE=/home/bremner/.keychain/`hostname`-sh if [ -f $KEYCHAINFILE ]; then . $KEYCHAINFILE fi
You might need to adjust the path if you are not me.
UPDATED You need the option
--inherit local
or--inherit all
to keychain to get it to overwrite the previous version of its files.