When working with Puppet and a VCS (like git and SVN)
it’s nice to have a simple way of updating the Puppet tree.
My tree is always in /etc/puppet and owned by user and group
puppet. User puppet is allowed to checkout the complete
tree from git or subversion.
I have created two one-liners to update the complete tree and make sure all rights are still correct.
update_svn
#!/bin/bash
# update_svn
su - puppet -c 'cd /etc/puppet; svn up; cd doc; ../bin/gendoc'
update_git
#!/bin/bash
# update_git
su - puppet -c 'cd /etc/puppet; git pull; cd doc; ../bin/gendoc'
But, of course, it’s not handy to type update_git today and update_svn
tomorrow. And I also don’t want a path to /etc/puppet/bin.
The solution is a very simple one, as always:
cd /usr/local/bin
ln -s /etc/puppet/bin/update_git pupdate
and now I only have to type pupdate and things work out.