[cs631apue] Error in git push
cpunjabi
cpunjabi at stevens.edu
Wed Nov 19 19:01:52 EST 2014
I tried these commands but git push still fails with permission problem.
Thanks,
Chirag
On 2014-11-14 20:26, Jan Schaumann wrote:
> Sadia Akhter <sakhter at stevens.edu> wrote:
>> I've google the error and they are saying its a permission problem.
>
> Here's a funny thing: you often can tell what an error means without
> using Google:
>
>> sakhter at avalon:~/cs631/2014-Fall/final-project/slytherin$ git push
>
>> error: insufficient permission for adding an object to repository
>> database ./objects
>
> The part where it says "insufficient permission" hints at it being a
> permission problem - no Google required! :-)
>
> So yes, this is a permission problem, and it's not something you could
> solve by yourself.
>
> The git repository is a directory on a unix system, and so writing data
> to the directory will apply all the regular unix access permission
> semantics that you know. In particular, in order for multiple users to
> write to the same directory, it needs to be owned by a shared group,
> and
> be group writable.
>
> I had initialized the repositories for each group as such, and -- as
> you
> can see when looking at the directories on linux-lab.stevens-tech.edu
> --
> set the group setuid bit on the directory, meaning that newly created
> files will also be owned by that group. However, newly created
> subdirectories will not automatically inherit the correct group
> ownership or permissions. To accomplish that, we'd need a filesystem
> that supports Access Control Lists (ACLs).
>
> The file server on which the data resides does not support ACLs, so
> we'll need to fix this another way. Basically, what we need is for any
> commit that is made to change the group permissions and ownership to
> any
> newly created files. To accomplish that, I've added a 'post-receive'
> hook to each git repository: a script, that is executed after the
> commit
> is made. This hook will run:
>
> chown -R :${GROUP} ${PWD} >/dev/null 2>&1
> chmod -R g+rwX ${PWD} >/dev/null 2>&1
>
> This should be sufficient for any future commits. However, there are
> still some files left that already have the wrong permissions/ownership
> and that need to be fixed. If I had superuser privileges on the
> filesystem, I could trivially fix this for you, but unfortunately, I do
> not.
>
> So each of you will have to do this once yourself:
>
> - log in to linux-lab.cs.stevens.edu
> - let GROUP be the name of your group
> - let DIR be '~jschauma/apue/${GROUP}'
> - run
>
> chown -R :${GROUP} ${DIR} >/dev/null 2>&1
> chmod -R g+rwX ${DIR} >/dev/null 2>&1
>
> After each student has run these two commands once, everything should
> be
> set and future commits should work out due to the post-receive hook.
>
> If you run into problems, please let me know.
>
> -Jan
> _______________________________________________
> cs631apue mailing list
> cs631apue at lists.stevens.edu
> https://lists.stevens.edu/mailman/listinfo/cs631apue
More information about the cs631apue
mailing list