onedriver icon indicating copy to clipboard operation
onedriver copied to clipboard

git hooks permissions

Open mfoulds opened this issue 1 year ago • 1 comments

Summary;

  1. git repositories need +x permissions on all files in .git/hooks in order to push.
  2. permissions are not maintained in Onedrive
  3. so must run chmod +x ./.git/hooks/* per session
  4. any ideas for a more stable solution?

I have a repository located in onedrive. The files all synchronize perfectly with Onedriver. However there is a problem whenever pushing or triggering any kind of git hooks.

For example, when attempting to push, I get this error:

$ git push
fatal: cannot exec '.git/hooks/pre-push': Permission denied

The solution I've found is to run chmod +x ./.git/hooks/* from the project directory. The changes apply for the duration of the session, but must be repeated in a new session.

Can anyone think of a more stable solution?

mfoulds avatar Apr 05 '23 23:04 mfoulds

As you've found out, the issue is that file permissions are not persistent, because OneDrive doesn't have a concept of file permissions where we could store them. It would be nice if we could somehow make permissions persistent somehow. One possible solution would be making everything executable by default, but there might be a more elegant way to do this (I'll have to think on this).

jstaf avatar Jun 24 '23 02:06 jstaf