GitSharp.Core.Transport.WalkFetchConnection.Process C# (CSharp) Method

Process() private method

private Process ( ObjectId id ) : void
id ObjectId
return void
        private void Process(ObjectId id)
        {
            RevObject obj;
            try
            {
                RevObject ro = (id as RevObject);
                if (ro != null)
                {
                    obj = ro;
                    if (obj.has(COMPLETE))
                        return;
                    _revWalk.parseHeaders(obj);
                }
                else
                {
                    obj = _revWalk.parseAny(id);
                    if (obj.has(COMPLETE))
                        return;
                }
            }
            catch (IOException e)
            {
                throw new TransportException("Cannot Read " + id.Name, e);
            }

            obj.DisposeBody();

            switch (obj.Type)
            {
                case Constants.OBJ_BLOB:
                    ProcessBlob(obj);
                    break;

                case Constants.OBJ_TREE:
                    ProcessTree(obj);
                    break;

                case Constants.OBJ_COMMIT:
                    ProcessCommit(obj);
                    break;

                case Constants.OBJ_TAG:
                    ProcessTag(obj);
                    break;

                default:
                    throw new TransportException("Unknown object type " + id.Name + " (" + obj.Type + ")");
            }

            _fetchErrors.Remove(id.Copy());
        }