Wrong file permission when using git pull in a hook

你离开我真会死。 提交于 2019-12-21 16:54:00

问题


I have created the following git hook to update my web application when new changes are pushed to the repository

#!/bin/sh
#Update the server version to HEAD

echo "Updating webapp..."
unset $(git rev-parse --local-env-vars)
(cd /var/www/webapp && git pull -q)

However, if I add new files they get the wrong permissions. They are only readable by the owner and not by the group or by other users. But I need them to be readable by everyone. Locally they have the right permission bits. And even when I run the hook manually from the shell, it works correctly. It only doesn't work when the script is called as a hook.

Any ideas how to fix that?

PS: I am using git 1.7


回答1:


Git does not store permissions, apart from the executable bit. So, on checkout, files are created with the default permissions, which depend on your umask.

I guess, when you are calling the hook manually, you have a more liberal umask set. You can override the umask with the umask shell command. For your purposes, 0022 is probably fine.



来源:https://stackoverflow.com/questions/5443010/wrong-file-permission-when-using-git-pull-in-a-hook

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!