/// <exception cref="NGit.Errors.MissingObjectException"></exception> /// <exception cref="System.IO.IOException"></exception> public override ObjectStream OpenStream() { WindowCursor wc = new WindowCursor(db); InputStream @in; try { @in = 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(), type).OpenStream()); } @in = new BufferedInputStream(new InflaterInputStream(@in, wc.Inflater(), 8192), 8192); // // // // // return(new ObjectStream.Filter(type, size, @in)); }
/// <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; }
/// <exception cref="NGit.Errors.MissingObjectException"></exception> /// <exception cref="System.IO.IOException"></exception> public override ObjectStream OpenStream() { WindowCursor wc = new WindowCursor(db); InputStream @in; try { @in = 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(), type).OpenStream(); } @in = new BufferedInputStream(new InflaterInputStream(@in, wc.Inflater(), 8192), 8192); // // // // // return new ObjectStream.Filter(type, size, @in); }