/// <exception cref="NGit.Errors.TransportException"></exception> protected internal override void DoFetch(ProgressMonitor monitor, ICollection <Ref > want, ICollection <ObjectId> have) { VerifyPrerequisites(); try { ObjectInserter ins = transport.local.NewObjectInserter(); try { PackParser parser = ins.NewPackParser(bin); parser.SetAllowThin(true); parser.SetObjectChecking(transport.IsCheckFetchedObjects()); parser.SetLockMessage(lockMessage); packLock = parser.Parse(NullProgressMonitor.INSTANCE); ins.Flush(); } finally { ins.Release(); } } catch (IOException err) { Close(); throw new TransportException(transport.uri, err.Message, err); } catch (RuntimeException err) { Close(); throw new TransportException(transport.uri, err.Message, err); } }
/// <exception cref="System.IO.IOException"></exception> private void ReceivePack(ProgressMonitor monitor) { OnReceivePack(); InputStream input = @in; if (sideband) { input = new SideBandInputStream(input, monitor, GetMessageWriter()); } ObjectInserter ins = local.NewObjectInserter(); try { PackParser parser = ins.NewPackParser(input); parser.SetAllowThin(thinPack); parser.SetObjectChecking(transport.IsCheckFetchedObjects()); parser.SetLockMessage(lockMessage); packLock = parser.Parse(monitor); ins.Flush(); } finally { ins.Release(); } }
/// <exception cref="System.IO.IOException"></exception> internal virtual void DownloadPack(ProgressMonitor monitor) { string name = "pack/" + this.packName; WalkRemoteObjectDatabase.FileStream s = this.connection.Open(name); PackParser parser = this._enclosing.inserter.NewPackParser(s.@in); parser.SetAllowThin(false); parser.SetObjectChecker(this._enclosing.objCheck); parser.SetLockMessage(this._enclosing.lockMessage); PackLock Lock = parser.Parse(monitor); if (Lock != null) { this._enclosing.packLocks.AddItem(Lock); } this._enclosing.inserter.Flush(); }