* gc changes permissions of files @ 2008-06-15 3:59 Allan Wind 2008-06-15 5:38 ` Johannes Schindelin 0 siblings, 1 reply; 6+ messages in thread From: Allan Wind @ 2008-06-15 3:59 UTC (permalink / raw) To: git 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. /Allan ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: gc changes permissions of files 2008-06-15 3:59 gc changes permissions of files Allan Wind @ 2008-06-15 5:38 ` Johannes Schindelin 2008-06-15 6:27 ` Allan Wind 0 siblings, 1 reply; 6+ messages in thread From: Johannes Schindelin @ 2008-06-15 5:38 UTC (permalink / raw) To: Allan Wind; +Cc: git Hi, 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. In the message you referred to, it seems to suggest that git-gc (in fact, git pack-refs) set the permissions wrong in a shared repository. However, I cannot reproduce at all: -- snip -- [PATCH] Verify that permissions for packed-refs are set correctly Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> --- t/t1301-shared-repo.sh | 18 ++++++++++++++++++ 1 files changed, 18 insertions(+), 0 deletions(-) diff --git a/t/t1301-shared-repo.sh b/t/t1301-shared-repo.sh index 5e4252a..c4d3239 100755 --- a/t/t1301-shared-repo.sh +++ b/t/t1301-shared-repo.sh @@ -43,6 +43,24 @@ test_expect_success 'update-server-info honors core.sharedRepository' ' esac ' +test_expect_success 'pack-refs honors core.sharedRepository' ' + + (umask 0217 && + : > a2 && + git pack-refs) && + actual="$(ls -l .git/packed-refs)" && + case "$actual" in + -r--r--r--*) + : happy + ;; + *) + echo Oops, .git/packed-refs is not 0444 + false + ;; + esac + +' + for u in 0660:rw-rw---- \ 0640:rw-r----- \ 0600:rw------- \ -- snap -- This succeeds. Indeed, it should succeed, since the relevant part in lockfile.c was fixed in version v1.4.0~4. However, I suspect from the original message that the reflogs did not have the correct permissions. But again, a simple test succeeds: -- snip -- [PATCH] Add a test for logrefs in bare repositories Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> --- t/t1301-shared-repo.sh | 36 ++++++++++++++++++++++++++++++++++++ 1 files changed, 36 insertions(+), 0 deletions(-) diff --git a/t/t1301-shared-repo.sh b/t/t1301-shared-repo.sh index 5e4252a..8530a56 100755 --- a/t/t1301-shared-repo.sh +++ b/t/t1301-shared-repo.sh @@ -24,6 +24,39 @@ test_expect_success 'shared=all' ' test 2 = $(git config core.sharedrepository) ' +test_expect_success 'reflogs honor core.sharedRepository' ' + git config core.logAllRefUpdates true && + echo 2 > a1 && + git add a1 && + test_tick && + git commit -m a1 && + actual="$(ls -l .git/logs/refs/heads/master)" && + case "$actual" in + -rw-rw-r--*) + : happy + ;; + *) + echo Oops, .git/logs/refs/heads/master is not 0664 + false + ;; + esac && + (mkdir bare.git && + cd bare.git && + git --bare init --shared && + git config core.logAllRefUpdates true) && + git push bare.git master:refs/heads/new && + actual="$(ls -l bare.git/logs/refs/heads/new)" && + case "$actual" in + -rw-rw-*) + : happy + ;; + *) + echo Oops, bare.git/logs/refs/heads/new is not 0664 + false + ;; + esac +' + test_expect_success 'update-server-info honors core.sharedRepository' ' : > a1 && git add a1 && -- 1.5.5.1.780.g346de -- snap -- So now I got curious and tested it with v1.5.4.4, and indeed, it failed. If you are curious who/what fixed it, go ahead, bisect it. I wrote all this down so that the next time, you could verify yourself if the bug was fixed or not, instead of having to ask here. Ciao, Dscho ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: gc changes permissions of files 2008-06-15 5:38 ` Johannes Schindelin @ 2008-06-15 6:27 ` Allan Wind 2008-06-15 6:41 ` Allan Wind 2008-06-15 22:31 ` Allan Wind 0 siblings, 2 replies; 6+ messages in thread From: Allan Wind @ 2008-06-15 6:27 UTC (permalink / raw) To: Johannes Schindelin; +Cc: git On 2008-06-15T06:38:21+0100, Johannes Schindelin wrote: > 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 ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: gc changes permissions of files 2008-06-15 6:27 ` Allan Wind @ 2008-06-15 6:41 ` Allan Wind 2008-06-15 7:10 ` Allan Wind 2008-06-15 22:31 ` Allan Wind 1 sibling, 1 reply; 6+ messages in thread From: Allan Wind @ 2008-06-15 6:41 UTC (permalink / raw) To: git; +Cc: Johannes Schindelin On 2008-06-15T02:27:36-0400, Allan Wind wrote: > 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. # git fsck dangling commit 2b0da4aabfba6c61baf9f351b2dfbd5a88a8a999 Re-running this returns the same dangling commit, so fsck does not seem to fix anything. /Allan ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: gc changes permissions of files 2008-06-15 6:41 ` Allan Wind @ 2008-06-15 7:10 ` Allan Wind 0 siblings, 0 replies; 6+ messages in thread From: Allan Wind @ 2008-06-15 7:10 UTC (permalink / raw) To: git, Johannes Schindelin On 2008-06-15T02:41:33-0400, Allan Wind wrote: > On 2008-06-15T02:27:36-0400, Allan Wind wrote: > > 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. > > # git fsck > dangling commit 2b0da4aabfba6c61baf9f351b2dfbd5a88a8a999 > > Re-running this returns the same dangling commit, so fsck does not seem > to fix anything. Looking at the log I see that 56032c4f35fd39fe4151fca2d010d299a8901101 is HEAD on orgin, and 2b0da4aabfba6c61baf9f351b2dfbd5a88a8a999 is what I tried to commit when I got the initially error. I will catch the howto when git.or.cz is back online. If anyone wants some data before I try to fix my repository please let me know soon. /Allan ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: gc changes permissions of files 2008-06-15 6:27 ` Allan Wind 2008-06-15 6:41 ` Allan Wind @ 2008-06-15 22:31 ` Allan Wind 1 sibling, 0 replies; 6+ messages in thread From: Allan Wind @ 2008-06-15 22:31 UTC (permalink / raw) To: git; +Cc: Johannes Schindelin On 2008-06-15T02:27:36-0400, Allan Wind wrote: > On 2008-06-15T06:38:21+0100, Johannes Schindelin wrote: > > 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: This above was without core.sharedrepository set. Setting core.sharedrepository to true, and repeating the experiment I get the following changes (starting out with files being 660): 245865 0 -rw-rw-r-- 1 allan users 0 Jun 15 18:25 ./info/refs 245883 4 -rw-rw-r-- 1 allan users 54 Jun 15 18:25 ./objects/info/packs 245882 662464 -r--r--r-- 1 allan users 677691559 Jun 15 18:25 ./objects/pack/pack-7d2c630cc2bf7621e14487fdde5907765ebb5d4d.pack 245886 36 -r--r--r-- 1 allan users 36128 Jun 15 18:25 ./objects/pack/pack-7d2c630cc2bf7621e14487fdde5907765ebb5d4d.idx 245885 4 -rw-rw-r-- 1 allan users 26 Jun 15 18:24 ./packed-refs write permission is removed from the two pack files, and read permissions is granted for the other files which did not have them before. /Allan ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2008-06-15 22:32 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2008-06-15 3:59 gc changes permissions of files Allan Wind 2008-06-15 5:38 ` Johannes Schindelin 2008-06-15 6:27 ` Allan Wind 2008-06-15 6:41 ` Allan Wind 2008-06-15 7:10 ` Allan Wind 2008-06-15 22:31 ` Allan Wind
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).