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 ~ \{.bash} #!/bin/bash # update_svn su - puppet -c `cd
/etc/puppet; svn up; cd doc; ../bin/gendoc' ~
update_git ~ \{.bash} #!/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: ~ \{.bash} cd
/usr/local/bin ln -s /etc/puppet/bin/update_git pupdate ~ and now I
only have to type pupdate and things work out.