Re: [PATCH] Add git-bundle: move objects and references by archive
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Feb 22, 2007, 17:12 UTC
- Message-ID
- <Pine.LNX.4.63.0702221811130.22628@wbgn013.biozentrum.uni-wuerzburg.de>
- In-Reply-To
- <alpine.LRH.0.82.0702221117080.27932@xanadu.home>
Hi,
On Thu, 22 Feb 2007, Nicolas Pitre wrote:
Show 33 quoted lines
> On Thu, 22 Feb 2007, Johannes Schindelin wrote:
>
> > Hi,
> >
> > On Wed, 21 Feb 2007, Nicolas Pitre wrote:
> >
> > > On Thu, 22 Feb 2007, Johannes Schindelin wrote:
> > >
> > > > diff --git a/index-pack.c b/index-pack.c
> > > > index fa9a0e7..5ccf4c4 100644
> > > > --- a/index-pack.c
> > > > +++ b/index-pack.c
> > > > @@ -457,8 +457,8 @@ static void parse_pack_objects(unsigned char *sha1)
> > > > /* If input_fd is a file, we should have reached its end now. */
> > > > if (fstat(input_fd, &st))
> > > > die("cannot fstat packfile: %s", strerror(errno));
> > > > - if (S_ISREG(st.st_mode) && st.st_size != consumed_bytes)
> > > > - die("pack has junk at the end");
> > > > + if (input_fd && S_ISREG(st.st_mode) && st.st_size != consumed_bytes)
> > > > + die("pack has junk at the end: 0%o, %d, %d %d", st.st_mode, (int)st.st_size, (int)consumed_bytes, input_fd);
> > > >
> > > > if (!nr_deltas)
> > > > return;
> > >
> > > What is this supposed to mean?
> >
> > The funny thing is, if you stream part of the bundle file to index-pack,
> > S_ISREG(st.st_mode) is true, even if input_fd == 0.
>
> Hmmmm. indeed..
>
> Could you please make the test, including the call to fstat(),
> conditional on !from_stdin instead?How about using Simon's idea instead (subtracting input_len)?
> Also I don't see the point of displaying the mode since we know that > S_ISREG(st.st_mode) is true, and input_fd is of little interest as well.
As you probably guessed, these are debug remnants. Will fix.
Ciao, Dscho