Functional GIT on F11 ?

Aaron Gray aaronngray.lists at googlemail.com
Wed Jul 22 20:25:12 UTC 2009


2009/7/22 Aaron Gray <aaronngray.lists at googlemail.com>

> 2009/7/22 Aaron Gray <aaronngray.lists at googlemail.com>
>
>  2009/7/22 Todd Zullinger <tmz at pobox.com>
>>
>>> I wrote:
>>> > It depends on how fine-grained you want things.  If all the users have
>>> > ssh accounts on the system, you can just make the repository shared
>>> > and add everyone who should have commit privileges to the group used
>>> > for the repository.  This is how it is done on fedorahosted.org.  For
>>> > example, if your git repo is at /git/repo.git:
>>> >
>>> >     # Tell git the repository is shared
>>> >     $ git --git-dir /git/repo.git config core.sharedrepository true
>>> >
>>> >     # Set proper group ownership
>>> >     $ chgrp -R gitgroup /git/repo.git
>>> >
>>> >     # Make all directories setgid
>>> >     $ find /git/repo.git -type d -exec chmod g+s {} \;
>>> >
>>> >     # Ensure files and dirs are group writable
>>> >     $ find /git/repo.git/ \( -type f -o -type d \) -a \
>>> >                           \( -perm /u+w -a ! -perm /g+w \) \
>>> >         xargs chmod g+w
>>>
>>> Incidentally, most of this is only needed if you're dealing with a
>>> repository that you've already created.  If you're initializing a new
>>> repo you can skip most of it.
>>>
>>>    $ git --git-dir /git/repo.git --bare init --shared=true
>>>    $ chgrp -R gitgroup /git/repo.git
>>>
>>> Then you can easily push things into it from an existing repo to add
>>> content and git will handle the permissions.
>>
>>
>> Yes pushing over SSH is working great now, thanks. Just groups to sort
>> out.
>>
>
>
> I have set '/pub/git/expermental' to 'git:gitgroup'
>
> and added 'gitgroup' as a group to 'ang'
>
> remotely this fails :-
>
> ang at AMD2500-PC ~/git/experimental
> $ git push ssh://git.cybercomms.org/pub/git/experimental/.git
> ang at git.cybercomms.org's password:
> Counting objects: 3, done.
> Compressing objects: 100% (2/2), done.
> Writing objects: 100% (2/2), 234 bytes, done.
> Total 2 (delta 1), reused 0 (delta 0)
> error: insufficient permission for adding an object to repository database
> ./obj
> ects
> fatal: failed to write object
> error: unpack failed: unpacker exited with error code
> To ssh://git.cybercomms.org/pub/git/experimental/.git
>  ! [remote rejected] master -> master (n/a (unpacker error))
> error: failed to push some refs to 'ssh://
> git.cybercomms.org/pub/git/experimenta
> l/.git'
> But if I set ''/pub/git/expermental' to 'ang:ang' then it works.
>
> Help, stuck again !
>

The directory tree's group needed write permissions :)

Working fine now, thanks for the help and pointers !

Aaron
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/fedora-list/attachments/20090722/8b4139d6/attachment-0001.htm>


More information about the fedora-list mailing list