git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: gc changes permissions of files

From
AWAllan Wind <allan_wind@lifeintegrity.com>
Date
Jun 15, 2008, 06:27 UTC
Message-ID
<20080615062736.GC14357@lifeintegrity.com>
In-Reply-To
<alpine.DEB.1.00.0806150551010.6439@racer>
On 2008-06-15T06:38:21+0100, Johannes Schindelin wrote:
Show 11 quoted lines
> On Sat, 14 Jun 2008, Allan Wind wrote:
> 
> > Is anyone looking into fixing gc so it does not change permission on 
> > files?  I would think it should consider current permissions of files 
> > before umask.
> > 
> > I believe Nigel reported this issue with:
> > http://thread.gmane.org/gmane.comp.version-control.git/79213/focus=79237
> > and still seeing issues with 1.5.5.4.
> 
> It would have been nice to briefly illustrate the problem again.
Of course.

# umask umask 0022 # find . -ls > /tmp/before # git gc Counting objects: 1435, done. Compressing objects: 100% (747/747), done. Writing objects: 100% (1435/1435), done. Total 1435 (delta 690), reused 1422 (delta 682) # find . -ls > /tmp/after

On these files group write is revoked when running gc (g-w).  /tmp/before:
 16420 662752 -rw-rw----   1 root     users    677990209 Jun 15 01:49 ./objects/pack/pack-f962a3321392570
5b321ad2ba6ccb0037114f92d.pack
 16432   36 -rw-rw----   1 root     users       35504 Jun 15 01:49 ./objects/pack/pack-f962a33213925705b3
21ad2ba6ccb0037114f92d.idx
...
 18258    4 drwxrwx---   2 allan    users        4096 Jun 15 01:47 ./logs/refs/heads
 16481    8 -rw-rw----   1 root     users        6100 Jun 15 01:47 ./logs/refs/heads/master
and /tmp/after:
 16401 662752 -r--r--r--   1 root     root     677990209 Jun 15 01:59 ./objects/pack/pack-f962a3321392570
5b321ad2ba6ccb0037114f92d.pack
 16404   36 -r--r--r--   1 root     root        35504 Jun 15 01:59 ./objects/pack/pack-f962a33213925705b3
21ad2ba6ccb0037114f92d.idx
...
 16402    8 -rw-r--r--   1 root     root         6100 Jun 15 01:57 ./logs/refs/heads/master
 16403    8 -rw-r--r--   1 root     root         6100 Jun 15 01:57 ./logs/HEAD
and these on these other read permissions (o+r) is added.  /tmp/before:
 16394    4 -rw-rw----   1 root     users          54 Jun 15 01:49 ./objects/info/packs
 16481    8 -rw-rw----   1 root     users        6100 Jun 15 01:47 ./logs/refs/heads/master
 16475    8 -rw-rw----   1 root     users        6100 Jun 15 01:47 ./logs/HEAD
 16485   16 -rw-rw----   1 root     users       14773 Jun 15 01:47 ./packed-refs
and /tmp/after:
 16393    4 -rw-rw-r--   1 root     root           54 Jun 15 01:59 ./objects/info/packs
 16402    8 -rw-r--r--   1 root     root         6100 Jun 15 01:57 ./logs/refs/heads/master
 16403    8 -rw-r--r--   1 root     root         6100 Jun 15 01:57 ./logs/HEAD
 16386   16 -rw-rw-r--   1 root     root        14773 Jun 15 01:57 ./packed-refs

I seem to recall that push to the repository also introduces files without group write permission. Unfortunately it looks something broke when I ran gc. Any help in getting my repository back up would be appreciated:

allan@vent:~/var/git/www2$ git clone ssh://pawan.localnet./var/lib/git/www.git Initialized empty Git repository in /home/allan/var/git/www2/www/.git/ fatal: git-upload-pack: cannot find object 56032c4f35fd39fe4151fca2d010d299a8901101: fatal: The remote end hung up unexpectedly fetch-pack from 'ssh://pawan.localnet./var/lib/git/www.git' failed.

/Allan
Previous: Johannes SchindelinNext: Allan Wind
Message 3 of 6 in “gc changes permissions of files”
  1. Allan WindJun 15, 2008
  2. Johannes SchindelinJun 15, 2008
  3. Allan WindJun 15, 2008
  4. Allan WindJun 15, 2008
  5. Allan WindJun 15, 2008
  6. Allan WindJun 15, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.