From: Petr Stodulka Date: Thu, 21 Aug 2014 18:25:39 GMT Subject: Re: [BUG] resolved deltas Message-ID: <53F639A3.80805@redhat.com> In-Reply-To: <53F5D98F.4040700@redhat.com> > > Bug is reprodusible since git version 1.8.3.1 (may earlier 1.8.xx, but > I don't test it) to actual upstream version. > This problem "doesn't exists" in version 1.7.xx - or more precisely is > not reproducible. "May" this is reproducible > since commit "7218a215" - in this commit was added assert in file > "builtin/index-pack.c" (actual line is 918), but I didn't test this. Ok so this is reproducible since this commit because of assert(). > Here I am lost. I don't know really what I can do next here, because I > don't understand some ideas in code. e.g. searching of child - > functions find_delta(), find_delta_children(). Calculation on line 618: > ---- > int next = (first+last) / 2; > ---- > I still don't understand. I didn't find description of this searching > algorithm in tech. documentation but I didn't read all yet. However I > think that source of problems could be somewhere in these two > functions. When child is found, its real_type is set to parent's type > in function resolve_delta() on the line 865 and then lasts wait for > failure. I don't think that problem is in repository itself [1], but > it is possible. I read history of commits and my idea seems to be incorrect. It seems more like some error in repository itself. But I'd rather get opinion from someone who knows this code and ideas better. Regards, Petr > [0] https://bugzilla.redhat.com/show_bug.cgi?id=1099919 > [1] git clone https://code.google.com/p/mapsforge/ mapsforge.git