os.stat before calls to os.chmod to see if the chmod is necessary to avoid ownership issues on shared systems#4
Open
fapestniegd wants to merge 2 commits intores0nat0r:masterfrom
Open
Conversation
… to os.chmod so that the chmod will not be called if the file is already 755. This fixes a problem when the file is owned by root and gitosis gitosis-init run as a non-root user fails with Operation not permitted
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
When using gitosis for multiple users, the hooks are installed as root. init.py tries to chmod 755 the hooks whenever a repository is initialized even if the user it's running as does not own the files. It shouldn't need to make them 755 if they are already 755. I first just tried making them owned by git, but then others wanted to use it as well and they kept getting the operation not permitted on the chmod. The stat-before-chmod works better on shared systems.