threads / discuss / 13048

permissions and packed-refs?

Subject: permissions and packed-refs?

## tl;dr

4 messages between Apr 10, 2008 and Apr 10, 2008.

replies: 3people: 3as markdown or json

Nigel Magnay· Apr 10, 2008, 12:30 UTC · lore

This is likely a really stupid question... a repo that was working, has now stopped accepting a push with

Counting objects: 43, done.
Compressing objects: 100% (18/18)   Compressing objects: 100% (18/18),
done.
Writing objects: 100% (23/23)   Writing objects: 100% (23/23), 4.65 KiB,
done.
Total 23 (delta 10), reused 0 (delta 0)
error: Unable to append to logs/refs/heads/realtime: Permission denied
Pushing to ssh://10.1.3.153/pub/scm/git/git-svn/realtime.git
To ssh://10.1.3.153/pub/scm/git/git-svn/realtime.git
 ! [remote rejected] realtime -> realtime (failed to write)
error: failed to push some refs to
'ssh://10.1.3.153/pub/scm/git/git-svn/realtime.git'

I think git gc was run on the server at some point, as the head in question has been shifted into packed-refs.

Server is linux (1.5.4.4) client is msysGit.
Robert Haines· Apr 10, 2008, 16:21 UTC · re: Nigel Magnay · lore

Re: permissions and packed-refs?

On 10 Apr 2008, at 13:30, Nigel Magnay wrote:
Show 19 quoted lines
> This is likely a really stupid question... a repo that was working,
> has now stopped accepting a push with
>
> Counting objects: 43, done.
> Compressing objects: 100% (18/18)   Compressing objects: 100% (18/18),
> done.
> Writing objects: 100% (23/23)   Writing objects: 100% (23/23), 4.65  
> KiB,
> done.
> Total 23 (delta 10), reused 0 (delta 0)
> error: Unable to append to logs/refs/heads/realtime: Permission denied
> Pushing to ssh://10.1.3.153/pub/scm/git/git-svn/realtime.git
> To ssh://10.1.3.153/pub/scm/git/git-svn/realtime.git
>  ! [remote rejected] realtime -> realtime (failed to write)
> error: failed to push some refs to
> 'ssh://10.1.3.153/pub/scm/git/git-svn/realtime.git'
>
> I think git gc was run on the server at some point, as the head in
> question has been shifted into packed-refs.

I've seen this after git gc too. Has the owner of the affected files changed? If so you need to make sure that git gc is run by the correct user. If you run it as root for example, everything it touches will end up owned by root!

Cheers, Rob

Logan Kennelly· Apr 10, 2008, 18:19 UTC · re: Robert Haines · lore

Re: permissions and packed-refs?

On Apr 10, 2008, at 9:21 AM, Robert Haines wrote:
> I've seen this after git gc too. Has the owner of the affected  
> files changed? If so you need to make sure that git gc is run by  
> the correct user. If you run it as root for example, everything it  
> touches will end up owned by root!

Not only that, but you must make sure that you have the appropriate umask set. I'm not sure if this affects the pack file, but the reflog is certainly rewritten in a way that prevents other users from pushing.

I've been meaning to submit a patch to make git better honor "core.sharedrepository" (it's probably as simple as adding a couple calls to adjust_shared_perm), but the workaround was so easy that I had forgotten about the issue.

-- 
                                                         Logan Kennelly
       ,,,
      (. .)
--ooO-(_)-Ooo--
Nigel Magnay· Apr 10, 2008, 19:21 UTC · re: Logan Kennelly · lore

Re: permissions and packed-refs?

Yeah, I think that's probably what's happening. TBH it's a bit of an ache to have to make sure umasks and things are set correctly, and it's probably partially that the repo was set up just from a direct copy of someone's machine.

We've reverted to using a common account user for now.
On Thu, Apr 10, 2008 at 7:19 PM, Logan Kennelly <logank@sent.com> wrote:
Show 27 quoted lines
> On Apr 10, 2008, at 9:21 AM, Robert Haines wrote:
>
>
> > I've seen this after git gc too. Has the owner of the affected files
> changed? If so you need to make sure that git gc is run by the correct user.
> If you run it as root for example, everything it touches will end up owned
> by root!
> >
>
>  Not only that, but you must make sure that you have the appropriate umask
> set. I'm not sure if this affects the pack file, but the reflog is certainly
> rewritten in a way that prevents other users from pushing.
>
>  I've been meaning to submit a patch to make git better honor
> "core.sharedrepository" (it's probably as simple as adding a couple calls to
> adjust_shared_perm), but the workaround was so easy that I had forgotten
> about the issue.
>
>  --
>                                                         Logan Kennelly
>       ,,,
>      (. .)
>  --ooO-(_)-Ooo--
>
>
>
>

← back to recent threads