reexporting git repository via git-daemon

6 messages, 3 authors, 2016-08-11 · open the first message on its own page

reexporting git repository via git-daemon

From: Arkadiusz Miskiewicz <hidden>
Date: 2016-08-11 19:29:44

Hi,

I have weird problem wit git (1.4.4.2).

 git --bare clone git://git.kernel.org/pub/scm/git/git.git
fetches everything correctly;

$ cd /tmp
$ git clone /gitroot/home/gitrepo/git
remote: Generating pack...
remote: Done counting 33527 objects.
remote: Deltifying 33527 objects.
remote:  100% (33527/33527) done
Indexing 33527 objects.
remote: Total 33527, written 33527 (delta 23162), reused 33527 (delta 23162)
 100% (33527/33527) done
Resolving 23162 deltas.
 100% (23162/23162) done
Checking files out...
 100% (743/743) done
$

also correctly fetched. The problem begins with exporting that cloned repo 
once again via git-daemon:

$ git clone git://git.my-server/git
fatal: unexpected EOF
fetch-pack from 'git://git.my-server/git' failed.

strace on git-daemon side:
[...]
18241 lstat("refs/tags/v1.4.1-rc2", {st_mode=S_IFREG|0644, st_size=41, ...}) = 
0
18241 open("refs/tags/v1.4.1-rc2", O_RDONLY) = 7
18241 read(7, "33c9db007159db11c1ad5fa7101ea95853740acf\n", 255) = 41
18241 close(7)                          = 0
18241 write(1, "004233c9db007159db11c1ad5fa7101ea95853740acf 
refs/tags/v1.4.1-rc2\n", 66) = 66
18241 write(1, "0045abc02670169cee9541793a86324a014272ca8ed5 
refs/tags/v1.4.1-rc2^{}\n", 69) = 69
18241 stat("refs/tags/v1.4.1.1", {st_mode=S_IFREG|0644, st_size=41, ...}) = 0
18241 lstat("refs/tags/v1.4.1.1", {st_mode=S_IFREG|0644, st_size=41, ...}) = 0
18241 open("refs/tags/v1.4.1.1", O_RDONLY) = 7
18241 read(7, "8419a453dc088b25b63ab1746d3d7e679caf686d\n", 255) = 41
18241 close(7)  
18241 write(1, "00408419a453dc088b25b63ab1746d3d7e679caf686d 
refs/tags/v1.4.1.1\n", 64) = 64
18241 write(2, "fatal: ", 7)            = 7
18241 write(2, "corrupted pack 
file ./objects/pack/pack-0bb22295a585ac173504a2f8dfb3e31e074a8715.pack", 85) 
= 85
18241 write(2, "\n", 1)   

100% repeatable at this moment. Any ideas?

ps. verification for initial  git://git.kernel.org/pub/scm/git/git.git clone:
git]$ git --bare fsck-objects
fatal: Not a git repository: '/gitroot/home/gitrepo/git'
git]$ git fsck-objects
git]$
 
-- 
Arkadiusz Miśkiewicz        PLD/Linux Team

Re: reexporting git repository via git-daemon

From: Arkadiusz Miskiewicz <hidden>
Date: 2016-08-11 19:16:24

On Friday 08 December 2006 22:12, Arkadiusz Miskiewicz wrote:
strace on git-daemon side:
[...]
18241 lstat("refs/tags/v1.4.1-rc2", {st_mode=S_IFREG|0644, st_size=41,
...}) = 0
18241 open("refs/tags/v1.4.1-rc2", O_RDONLY) = 7
18241 read(7, "33c9db007159db11c1ad5fa7101ea95853740acf\n", 255) = 41
18241 close(7)                          = 0
18241 write(1, "004233c9db007159db11c1ad5fa7101ea95853740acf
refs/tags/v1.4.1-rc2\n", 66) = 66
18241 write(1, "0045abc02670169cee9541793a86324a014272ca8ed5
refs/tags/v1.4.1-rc2^{}\n", 69) = 69
18241 stat("refs/tags/v1.4.1.1", {st_mode=S_IFREG|0644, st_size=41, ...}) =
0 18241 lstat("refs/tags/v1.4.1.1", {st_mode=S_IFREG|0644, st_size=41,
...}) = 0 18241 open("refs/tags/v1.4.1.1", O_RDONLY) = 7
18241 read(7, "8419a453dc088b25b63ab1746d3d7e679caf686d\n", 255) = 41
18241 close(7)
18241 write(1, "00408419a453dc088b25b63ab1746d3d7e679caf686d
refs/tags/v1.4.1.1\n", 64) = 64
18241 write(2, "fatal: ", 7)            = 7
18241 write(2, "corrupted pack
file ./objects/pack/pack-0bb22295a585ac173504a2f8dfb3e31e074a8715.pack",
85) = 85
18241 write(2, "\n", 1)

100% repeatable at this moment. Any ideas?
after:
$  git repack -a -d
Generating pack...
Done counting 33587 objects.
Deltifying 33587 objects.
 100% (33587/33587) done
Writing 33587 objects.
 100% (33587/33587) done
Total 33587, written 33587 (delta 23205), reused 33587 (delta 23205)
Pack pack-bc830a5d1c2efa3b727ef9af8faba13c3e719395 created.

the problem disapears and I can safely reexport git repository.

Does anyone care about this bug in git?

-- 
Arkadiusz Miśkiewicz        PLD/Linux Team

Re: reexporting git repository via git-daemon

From: Arkadiusz Miskiewicz <hidden>
Date: 2016-08-11 19:49:39

On Sunday 10 December 2006 18:35, Jakub Narebski wrote:
Arkadiusz Miskiewicz wrote:
quoted
I have weird problem wit git (1.4.4.2).
I have tried to reproduce this error, but no luck.
Now I tracked that down to git-daemon in version 1.4.2.4 not 1.4.4.2. Seems 
that something was later fixed, so 1.4.4.2 is OK.
|
-- 
Arkadiusz Miśkiewicz        PLD/Linux Team

Re: reexporting git repository via git-daemon

From: Arkadiusz Miskiewicz <hidden>
Date: 2016-08-11 19:51:25

On Sunday 10 December 2006 18:22, Robin Rosenberg wrote:
fredag 08 december 2006 22:12 skrev Arkadiusz Miskiewicz:
quoted
Hi,

I have weird problem wit git (1.4.4.2).

 git --bare clone git://git.kernel.org/pub/scm/git/git.git
fetches everything correctly;
You proably ment git clone --bare git://git.kernel.org/pub/scm/git/git.git
Tested - result is the same, git-damon strace:
[pid  6686] write(1, "00408419a453dc088b25b63ab1746d3d7e679caf686d 
refs/tags/v1.4.1.1\n", 64) = 64
[pid  6686] write(2, "fatal: ", 7)      = 7
[pid  6686] write(2, "corrupted pack 
file ./objects/pack/pack-bc830a5d1c2efa3b727ef9af8faba13c3e719395.pack", 85) 
= 85
[pid  6686] write(2, "\n", 1)           = 1

Maybe git shouldn't accept useless (in this case) options.
Options handling in git* is a nightmare. It accepts non-existant options. You 
never know if the option is fine, missplaced or ignored :/
-- robin
-- 
Arkadiusz Miśkiewicz        PLD/Linux Team

Re: reexporting git repository via git-daemon

From: Jakub Narebski <hidden>
Date: 2016-08-11 20:24:52

Arkadiusz Miskiewicz wrote:
I have weird problem wit git (1.4.4.2).
I have tried to reproduce this error, but no luck.
 
$ git --bare clone git://git.kernel.org/pub/scm/git/git.git
fetches everything correctly;
It should be "git clone --bare git://git.kernel.org/pub/scm/git/git.git"
or "git clone --bare git://git.kernel.org/pub/scm/git/git.git git.git"
Git doesn't need GIT_DIR for clone.
$ cd /tmp
$ git clone /gitroot/home/gitrepo/git

also correctly fetched. The problem begins with exporting that cloned repo 
once again via git-daemon:
I didn't do this second cloning, but it should not matter I think.
$ git clone git://git.my-server/git
fatal: unexpected EOF
fetch-pack from 'git://git.my-server/git' failed.
True, the error messages of git-clone are bit cryptic and doesn't
give us much information. Does there exist such repository? Perhaps
it is not exported? Were there any error?
strace on git-daemon side:
[...]
18241 lstat("refs/tags/v1.4.1-rc2", {st_mode=S_IFREG|0644, st_size=41, ...}) = 
0
18241 open("refs/tags/v1.4.1-rc2", O_RDONLY) = 7
18241 read(7, "33c9db007159db11c1ad5fa7101ea95853740acf\n", 255) = 41
18241 close(7)                          = 0
18241 write(1, "004233c9db007159db11c1ad5fa7101ea95853740acf 
refs/tags/v1.4.1-rc2\n", 66) = 66
18241 write(1, "0045abc02670169cee9541793a86324a014272ca8ed5 
refs/tags/v1.4.1-rc2^{}\n", 69) = 69
18241 stat("refs/tags/v1.4.1.1", {st_mode=S_IFREG|0644, st_size=41, ...}) = 0
18241 lstat("refs/tags/v1.4.1.1", {st_mode=S_IFREG|0644, st_size=41, ...}) = 0
18241 open("refs/tags/v1.4.1.1", O_RDONLY) = 7
18241 read(7, "8419a453dc088b25b63ab1746d3d7e679caf686d\n", 255) = 41
18241 close(7)  
18241 write(1, "00408419a453dc088b25b63ab1746d3d7e679caf686d 
refs/tags/v1.4.1.1\n", 64) = 64
18241 write(2, "fatal: ", 7)            = 7
18241 write(2, "corrupted pack 
file ./objects/pack/pack-0bb22295a585ac173504a2f8dfb3e31e074a8715.pack", 85) 
= 85
18241 write(2, "\n", 1)   

100% repeatable at this moment. Any ideas?
WORKSFORME

$ git --version
git version 1.4.4.1

$ git clone --bare git://git.kernel.org/pub/scm/git/git.git
remote: Generating pack...
remote: Done counting 33587 objects.
remote: Deltifying 33587 objects.
remote:  100% (33587/33587) done
Indexing 33587 objects.
remote: Total 33587, written 33587 (delta 23205), reused 33325 (delta 23034)
 100% (33587/33587) done
Resolving 23205 deltas.
 100% (23205/23205) done

By the way, I wonder why git-clone names bare repository 'git',
and not 'git.git' as, I think, it should?

$ git-daemon --verbose --export-all --base-path=<pwd>
[31823] Connection from 127.0.0.1:46736
[31823] Extended attributes (16 bytes) exist <host=localhost>
[31823] Request upload-pack for '/git.git'
[31823] Disconnected

The above is generated when I was cloning locally, i.e. when I run the
following command:

$ git clone git://localhost/git.git
remote: Generating pack...
remote: Done counting 33587 objects.
remote: Deltifying 33587 objects.
remote:  100% (33587/33587) done
Indexing 33587 objects.
remote: Total 33587, written 33587 (delta 23205), reused 33587 (delta 23205)
 100% (33587/33587) done
Resolving 23205 deltas.
 100% (23205/23205) done
Checking files out...
 100% (743/743) done

which went without any problem.

P.S. Please reply also to git mailing list
-- 
Jakub Narebski
Warsaw, Poland
ShadeHawk on #git

Re: reexporting git repository via git-daemon

From: Robin Rosenberg <hidden>
Date: 2016-08-11 20:31:21

fredag 08 december 2006 22:12 skrev Arkadiusz Miskiewicz:
Hi,

I have weird problem wit git (1.4.4.2).

 git --bare clone git://git.kernel.org/pub/scm/git/git.git
fetches everything correctly;
You proably ment git clone --bare git://git.kernel.org/pub/scm/git/git.git

Maybe git shouldn't accept useless (in this case) options.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help