Re: git 1.5.3.5 error over NFS (pack data corruption)
On Wednesday, November 14, 2007 at 01:02:18 (+0100) Alex Riesen writes:
Show 29 quoted lines
>Bill Lear, Wed, Nov 14, 2007 00:56:45 +0100:
>> On Tuesday, November 13, 2007 at 22:48:02 (+0100) Alex Riesen writes:
>> >...
>> >> >I extend the part you quoted. The file is opened here:
>> >> >...
>> >> >This is strange. The current git should not produce anything like
>> >> >this (and does not, here). ...
>> >>
>> >> You are absolutely correct. My comrade ran this with 1.5.0.1 by
>> >> mistake. He reran the strace with 1.5.3.5, and I have replaced
>> >> the tarball on my server:
>> >>
>> >> http://www.zopyra.com/~rael/git/git-trace.tar.bz2
>> >
>> >Still looks like v1.5.0.1:
>> >
>> > write(2, "fatal: ", 7) = 7
>> > write(2, "cannot pread pack file: No such "..., 49) = 49
>>
>> Well, I just grepped for the above string in git-1.5.3.5:
>>
>> % grep 'cannot pread pack file' *.c
>> index-pack.c: die("cannot pread pack file: %s", strerror(errno));
>
>oh, you should be looking for usage.c, the function report (it is
>called by default die handler). The old code used to fputs("fatal:"),
>the new just vfprintf's everything, so the write should look like:
>
> write(2, "fatal: cannot pread pack file: No such "...Are you sure?
% ls -l git-1.5.3.5.tar.bz2
-rw-r--r-- 1 blear software 1351433 2007-10-31 15:04 git-1.5.3.5.tar.bz2
% bunzip2 -c !$ | tar xf -
% cd git-1.5.3.5
% grep -A 5 'void report' usage.c
static void report(const char *prefix, const char *err, va_list params)
{
fputs(prefix, stderr);
vfprintf(stderr, err, params);
fputs("\n", stderr);
}Bill