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 4:24 AM, Matthias Sohn
<matthias.sohn@xxxxxxxxxxxxxx> wrote:
>
> I tried again to clone this repository with the current stable-0.9
> jgit (0e8ef7784) and egit (06d14b39) version which includes this change.
> Now I get another exception :

That sounds like an improvement, as in the change I pointed you to has
fixed the original bug report.  But it seems like you have identified
a different issue:

> Caused by: java.lang.UnsupportedOperationException
>
> at
> org.eclipse.jgit.storage.file.CachedObjectDirectory.openObject2(CachedObjectDirectory.java:198)

This is supposed to be impossible.  We aren't supposed to be able to
reach this point.

> at
> org.eclipse.jgit.storage.file.LargePackedDeltaObject.openStream(LargePackedDeltaObject.java:176)

Its caused by commit 41dd9ed1c054f9f9e1ab52fc7bbf1a55a56cf543 "Unpack
and cache large deltas as loose objects".  The cached object directory
doesn't know that we have unpacked this object recently, which means
its unable to open the file.  It seems like a relatively easy fix, we
need to make the LargePackedDeltaObject notify its
CachedObjectDirectory of the new object, and not just the underlying
ObjectDirectory its wrapping.

I think the issue might be that CachedObjectDirectory doesn't update
its internal map when insertUnpackedObject is invoked.  Its just being
a pass-through to the underlying ObjectDirectory.  Instead it needs to
first update its internal map, then pass-through.

-- 
Shawn.


Back to the top