Use real uid and gid instead of effective in Watcher, there's some
peculiar behavior happening on CentOS 6 where the shell forked by git
reverts to the saved uid (root) as seen here:

14116    47431  0.0  0.0 122080  1992 ?        S    Jul23   0:01      \_ sshd: tdevelioglu@pts/0,pts/1
14116    47432  0.0  0.0 123488  6396 pts/0    Ss   Jul23   0:00          \_ -bash
root     58248  0.0  0.0 193512  3056 pts/0    S    08:39   0:00          |   \_ sudo -s
root     58249  0.0  0.0 112596  6280 pts/0    S    08:39   0:00          |       \_ /bin/bash
watchgit 24959  2.2  0.0 214164 13208 pts/0    S+   09:35   0:00          |           \_ /usr/local/bin/python2.7 /usr/sbin/watchgit -f start -c /etc/watchgit.conf
puppet   25312  0.0  0.0 214164 10876 pts/0    S+   09:35   0:00          |               \_ /usr/local/bin/python2.7 /usr/sbin/watchgit -f start -c /etc/watchgit.conf
puppet   25317  0.0  0.0 109268  1000 pts/0    S+   09:35   0:00          |                   \_ git pull -v watchgit master
root     25318  0.0  0.0 106192  1560 pts/0    S+   09:35   0:00          |                       \_ /bin/sh /usr/libexec/git-core/git-pull -v watchgit master
root     25336  0.0  0.0 109272  1340 pts/0    S+   09:35   0:00          |                           \_ git fetch -v --update-head-ok watchgit master
root     25337  0.0  0.0 158964  3436 pts/0    S+   09:35   0:00          |                               \_ git-remote-http watchgit http://git.localhost.localdomain/hieradata.git

You can see that the shell executing /usr/libexec/git-core/git-pull has its user set back to root.
I have no clue why this is happening and am unable to reproduce it elsewhere.

We don't need the saved uid in Watcher, so we simply set the real uid and forget about it.