/// <exception cref="NGit.Errors.MissingObjectException"></exception> /// <exception cref="System.IO.IOException"></exception> /// <exception cref="NGit.Errors.IncorrectObjectTypeException"></exception> private InputStream Open(WindowCursor wc) { InputStream delta; try { delta = new PackInputStream(pack, objectOffset + headerLength, wc); } catch (IOException) { // If the pack file cannot be pinned into the cursor, it // probably was repacked recently. Go find the object // again and open the stream from that location instead. // return(wc.Open(GetObjectId()).OpenStream()); } delta = new InflaterInputStream(delta); ObjectLoader @base = pack.Load(wc, baseOffset); DeltaStream ds = new _DeltaStream_223(@base, wc, delta); // This code path should never be used as DeltaStream // is supposed to open the stream first, which would // initialize the size for us directly from the stream. if (type == Constants.OBJ_BAD) { if (!(@base is NGit.Storage.File.LargePackedDeltaObject)) { type = @base.GetType(); } } if (size == SIZE_UNKNOWN) { size = ds.GetSize(); } return(ds); }
/// <exception cref="NGit.Errors.MissingObjectException"></exception> /// <exception cref="System.IO.IOException"></exception> /// <exception cref="NGit.Errors.IncorrectObjectTypeException"></exception> private InputStream Open(WindowCursor wc) { InputStream delta; try { delta = new PackInputStream(pack, objectOffset + headerLength, wc); } catch (IOException) { // If the pack file cannot be pinned into the cursor, it // probably was repacked recently. Go find the object // again and open the stream from that location instead. // return wc.Open(GetObjectId()).OpenStream(); } delta = new InflaterInputStream(delta); ObjectLoader @base = pack.Load(wc, baseOffset); DeltaStream ds = new _DeltaStream_223(@base, wc, delta); // This code path should never be used as DeltaStream // is supposed to open the stream first, which would // initialize the size for us directly from the stream. if (type == Constants.OBJ_BAD) { if (!(@base is NGit.Storage.File.LargePackedDeltaObject)) { type = @base.GetType(); } } if (size == SIZE_UNKNOWN) { size = ds.GetSize(); } return ds; }