Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [jgit-dev] Fwd: [Bug 324868] New: git clone fails for org.eclipse.mdt

On Mon, Sep 13, 2010 at 10:49 AM, Robin Rosenberg
<robin.rosenberg@xxxxxxxxxx> wrote:
>
> This crashed with the maven build, but the clone was successful when run under
> the debugger in Eclipse. Could we possibly try to skipFully(0) ?  Then the
> function would (successfully) skip zero bytes and then throw an exception.

IO.skipFully(0) returns 0 without exception.  The implementation of
that handles a 0 input argument to return 0 without failure.  Of
course skipping 0 is pointless, but its easier to sometimes code
"IO.skipFully(dst - cur)" rather than needing to add a guard around
this.

> Are deltas always resolved in the same order?

Yes.  Its deterministic.  We index deltas during the initial pass
using two different tables, one by SHA-1 and another by offset.  Both
hash codes are stable, and are using stable hash tables we implement.

The only reason it would differ is if the upstream you are cloning has
changed, resulting in a different set of objects being available, or
the offsets in the pack stream shifting, because that could shift the
positions of elements in the hash tables.  Both hash tables use open
addressing, linear probing to store elements.  So order of insertion
will influence order of iteration later.

-- 
Shawn.


Back to the top