public bool ReadNextRecord(VssRecord record) { while (reader.Remaining > RecordHeader.LENGTH) { try { var recordHeader = new RecordHeader(); recordHeader.Read(reader); var recordReader = reader.Extract(recordHeader.Length); // comment records always seem to have a zero CRC if (recordHeader.Signature != CommentRecord.SIGNATURE) { recordHeader.CheckCrc(); } if (recordHeader.Signature == record.Signature) { record.Read(recordReader, recordHeader); return(true); } } catch (EndOfBufferException e) { throw new RecordTruncatedException(e.Message); } } return(false); }
protected T GetRecord <T>( CreateRecordCallback <T> creationCallback, bool ignoreUnknown) where T : VssRecord { var recordHeader = new RecordHeader(); recordHeader.Read(reader); var recordReader = reader.Extract(recordHeader.Length); // comment records always seem to have a zero CRC if (recordHeader.Signature != CommentRecord.SIGNATURE) { recordHeader.CheckCrc(); } var record = creationCallback(recordHeader, recordReader); if (record != null) { // double-check that the object signature matches the file recordHeader.CheckSignature(record.Signature); record.Read(recordReader, recordHeader); } else if (!ignoreUnknown) { throw new UnrecognizedRecordException(recordHeader, string.Format("Unrecognized record signature {0} in item file", recordHeader.Signature)); } return(record); }
public override void Read(BufferReader reader, RecordHeader header) { base.Read(reader, header); prevBranchOffset = reader.ReadInt32(); branchFile = reader.ReadString(12); }
public override void Read(BufferReader reader, RecordHeader header) { base.Read(reader, header); kindCount = reader.ReadInt16(); reader.Skip(2); // unknown kinds = new NameKind[kindCount]; names = new string[kindCount]; var baseOffset = reader.Offset + (kindCount * 4); for (int i = 0; i < kindCount; ++i) { kinds[i] = (NameKind)reader.ReadInt16(); var nameOffset = reader.ReadInt16(); var saveOffset = reader.Offset; try { reader.Offset = baseOffset + nameOffset; names[i] = reader.ReadString(reader.Remaining); } finally { reader.Offset = saveOffset; } } }
private static VssRecord CreateRecord( RecordHeader recordHeader, BufferReader recordReader) { VssRecord record = null; switch (recordHeader.Signature) { case RevisionRecord.SIGNATURE: record = CreateRevisionRecord(recordHeader, recordReader); break; case CommentRecord.SIGNATURE: record = new CommentRecord(); break; case CheckoutRecord.SIGNATURE: record = new CheckoutRecord(); break; case ProjectRecord.SIGNATURE: record = new ProjectRecord(); break; case BranchRecord.SIGNATURE: record = new BranchRecord(); break; case DeltaRecord.SIGNATURE: record = new DeltaRecord(); break; } return(record); }
public override void Read(BufferReader reader, RecordHeader header) { base.Read(reader, header); prevProjectOffset = reader.ReadInt32(); projectFile = reader.ReadString(12); }
public override void Read(BufferReader reader, RecordHeader header) { base.Read(reader, header); name = reader.ReadName(); physical = reader.ReadString(10); }
public override void Read(BufferReader reader, RecordHeader header) { base.Read(reader, header); reader.Skip(16); // reserved; always 0 eofOffset = reader.ReadInt32(); // remaining reserved; always 0 }
public override void Read(BufferReader reader, RecordHeader header) { base.Read(reader, header); reader.Skip(16); // reserved; always 0 EofOffset = reader.ReadInt32(); // remaining reserved; always 0 }
public override void Read(BufferReader reader, RecordHeader header) { base.Read(reader, header); name = reader.ReadName(); unkShort = reader.ReadInt16(); // 0 or 1 physical = reader.ReadString(10); }
public override void Read(BufferReader reader, RecordHeader header) { base.Read(reader, header); prevDeltaOffset = reader.ReadInt32(); reader.Skip(4); // reserved; always 0 projectPath = reader.ReadString(260); }
public override void Read(BufferReader reader, RecordHeader header) { base.Read(reader, header); parentProject = reader.ReadString(260); parentFile = reader.ReadString(8); reader.Skip(4); // reserved; always 0 totalItems = reader.ReadInt16(); subprojects = reader.ReadInt16(); }
public override void Read(BufferReader reader, RecordHeader header) { base.Read(reader, header); itemType = (ItemType)reader.ReadInt16(); flags = (ProjectEntryFlags)reader.ReadInt16(); name = reader.ReadName(); pinnedVersion = reader.ReadInt16(); physical = reader.ReadString(10); }
public override void Read(BufferReader reader, RecordHeader header) { base.Read(reader, header); ParentProject = reader.ReadString(260); ParentFile = reader.ReadString(8); reader.Skip(4); // reserved; always 0 TotalItems = reader.ReadInt16(); Subprojects = reader.ReadInt16(); }
public override void Read(BufferReader reader, RecordHeader header) { base.Read(reader, header); name = reader.ReadName(); physical = reader.ReadString(10); reader.Skip(2); // 0? archivePath = reader.ReadString(260); reader.Skip(4); // ? }
public override void Read(BufferReader reader, RecordHeader header) { base.Read(reader, header); projectPath = reader.ReadString(260); name = reader.ReadName(); unpinnedRevision = reader.ReadInt16(); pinnedRevision = reader.ReadInt16(); unkShort = reader.ReadInt16(); // often seems to increment physical = reader.ReadString(10); }
public override void Read(BufferReader reader, RecordHeader header) { base.Read(reader, header); for (; ; ) { DeltaOperation operation = new DeltaOperation(); operation.Read(reader); if (operation.Command == DeltaCommand.Stop) break; operations.AddLast(operation); } }
public override void Read(BufferReader reader, RecordHeader header) { base.Read(reader, header); for (; ;) { DeltaOperation operation = new DeltaOperation(); operation.Read(reader); if (operation.Command == DeltaCommand.Stop) { break; } operations.AddLast(operation); } }
public override void Read(BufferReader reader, RecordHeader header) { base.Read(reader, header); itemType = (ItemType)reader.ReadInt16(); revisions = reader.ReadInt16(); name = reader.ReadName(); firstRevision = reader.ReadInt16(); dataExt = reader.ReadString(2); firstRevOffset = reader.ReadInt32(); lastRevOffset = reader.ReadInt32(); eofOffset = reader.ReadInt32(); rightsOffset = reader.ReadInt32(); reader.Skip(16); // reserved; always 0 }
public override void Read(BufferReader reader, RecordHeader header) { base.Read(reader, header); prevRevOffset = reader.ReadInt32(); action = (Action)reader.ReadInt16(); revision = reader.ReadInt16(); dateTime = reader.ReadDateTime(); user = reader.ReadString(32); label = reader.ReadString(32); commentOffset = reader.ReadInt32(); labelCommentOffset = reader.ReadInt32(); commentLength = reader.ReadInt16(); labelCommentLength = reader.ReadInt16(); }
public override void Read(BufferReader reader, RecordHeader header) { base.Read(reader, header); user = reader.ReadString(32); dateTime = reader.ReadDateTime(); workingDir = reader.ReadString(260); machine = reader.ReadString(32); project = reader.ReadString(260); comment = reader.ReadString(64); revision = reader.ReadInt16(); flags = reader.ReadInt16(); exclusive = (flags & 0x40) != 0; prevCheckoutOffset = reader.ReadInt32(); thisCheckoutOffset = reader.ReadInt32(); checkouts = reader.ReadInt32(); }
public override void Read(BufferReader reader, RecordHeader header) { base.Read(reader, header); User = reader.ReadString(32); DateTime = reader.ReadDateTime(); WorkingDir = reader.ReadString(260); Machine = reader.ReadString(32); Project = reader.ReadString(260); Comment = reader.ReadString(64); Revision = reader.ReadInt16(); Flags = reader.ReadInt16(); Exclusive = (Flags & 0x40) != 0; PrevCheckoutOffset = reader.ReadInt32(); ThisCheckoutOffset = reader.ReadInt32(); Checkouts = reader.ReadInt32(); }
public override void Read(BufferReader reader, RecordHeader header) { base.Read(reader, header); itemType = (ItemType)reader.ReadInt16(); revisions = reader.ReadInt16(); name = reader.ReadName(); firstRevision = reader.ReadInt16(); dataExt = reader.ReadString(2); if (Type.GetType("Mono.Runtime") != null) { dataExt = dataExt.ToLower(); } firstRevOffset = reader.ReadInt32(); lastRevOffset = reader.ReadInt32(); eofOffset = reader.ReadInt32(); rightsOffset = reader.ReadInt32(); reader.Skip(16); // reserved; always 0 }
public override void Read(BufferReader reader, RecordHeader header) { base.Read(reader, header); Flags = (FileFlags)reader.ReadInt16(); BranchFile = reader.ReadString(8); reader.Skip(2); // reserved; always 0 BranchOffset = reader.ReadInt32(); ProjectOffset = reader.ReadInt32(); BranchCount = reader.ReadInt16(); ProjectCount = reader.ReadInt16(); FirstCheckoutOffset = reader.ReadInt32(); LastCheckoutOffset = reader.ReadInt32(); DataCrc = (uint)reader.ReadInt32(); reader.Skip(8); // reserved; always 0 LastRevDateTime = reader.ReadDateTime(); ModificationDateTime = reader.ReadDateTime(); CreationDateTime = reader.ReadDateTime(); // remaining appears to be trash }
public override void Read(BufferReader reader, RecordHeader header) { base.Read(reader, header); flags = (FileFlags)reader.ReadInt16(); branchFile = reader.ReadString(8); reader.Skip(2); // reserved; always 0 branchOffset = reader.ReadInt32(); projectOffset = reader.ReadInt32(); branchCount = reader.ReadInt16(); projectCount = reader.ReadInt16(); firstCheckoutOffset = reader.ReadInt32(); lastCheckoutOffset = reader.ReadInt32(); dataCrc = (uint)reader.ReadInt32(); reader.Skip(8); // reserved; always 0 lastRevDateTime = reader.ReadDateTime(); modificationDateTime = reader.ReadDateTime(); creationDateTime = reader.ReadDateTime(); // remaining appears to be trash }
public void ReadRecord(VssRecord record) { try { var recordHeader = new RecordHeader(); recordHeader.Read(reader); var recordReader = reader.Extract(recordHeader.Length); // comment records always seem to have a zero CRC if (recordHeader.Signature != CommentRecord.SIGNATURE) { recordHeader.CheckCrc(); } recordHeader.CheckSignature(record.Signature); record.Read(recordReader, recordHeader); } catch (EndOfBufferException e) { throw new RecordTruncatedException(e.Message); } }
public override void Read(BufferReader reader, RecordHeader header) { base.Read(reader, header); name = reader.ReadName(); oldName = reader.ReadName(); physical = reader.ReadString(10); }
public virtual void Read(BufferReader reader, RecordHeader header) { this.header = header; }
private static VssRecord CreateRecord( RecordHeader recordHeader, BufferReader recordReader) { VssRecord record = null; switch (recordHeader.Signature) { case RevisionRecord.SIGNATURE: record = CreateRevisionRecord(recordHeader, recordReader); break; case CommentRecord.SIGNATURE: record = new CommentRecord(); break; case CheckoutRecord.SIGNATURE: record = new CheckoutRecord(); break; case ProjectRecord.SIGNATURE: record = new ProjectRecord(); break; case BranchRecord.SIGNATURE: record = new BranchRecord(); break; case DeltaRecord.SIGNATURE: record = new DeltaRecord(); break; } return record; }
public UnrecognizedRecordException(RecordHeader header) { this.header = header; }
public RecordCrcException(RecordHeader header) { this.header = header; }
public UnrecognizedRecordException(RecordHeader header, string message) : base(message) { this.header = header; }
public override void Read(BufferReader reader, RecordHeader header) { base.Read(reader, header); Comment = reader.ReadString(reader.Remaining); }
public RecordCrcException(RecordHeader header, string message) : base(message) { this.Header = header; }
public RecordCrcException(RecordHeader header) { this.Header = header; }
private static RevisionRecord CreateRevisionRecord( RecordHeader recordHeader, BufferReader recordReader) { if (recordHeader.Signature != RevisionRecord.SIGNATURE) { return null; } RevisionRecord record; var action = RevisionRecord.PeekAction(recordReader); switch (action) { case Action.Label: record = new RevisionRecord(); break; case Action.DestroyProject: case Action.DestroyFile: record = new DestroyRevisionRecord(); break; case Action.RenameProject: case Action.RenameFile: record = new RenameRevisionRecord(); break; case Action.MoveFrom: case Action.MoveTo: record = new MoveRevisionRecord(); break; case Action.ShareFile: record = new ShareRevisionRecord(); break; case Action.BranchFile: case Action.CreateBranch: record = new BranchRevisionRecord(); break; case Action.EditFile: record = new EditRevisionRecord(); break; case Action.ArchiveProject: case Action.RestoreProject: record = new ArchiveRevisionRecord(); break; case Action.CreateProject: case Action.AddProject: case Action.AddFile: case Action.DeleteProject: case Action.DeleteFile: case Action.RecoverProject: case Action.RecoverFile: case Action.CreateFile: default: record = new CommonRevisionRecord(); break; } return record; }
private static RevisionRecord CreateRevisionRecord( RecordHeader recordHeader, BufferReader recordReader) { if (recordHeader.Signature != RevisionRecord.SIGNATURE) { return(null); } RevisionRecord record; var action = RevisionRecord.PeekAction(recordReader); switch (action) { case Action.Label: record = new RevisionRecord(); break; case Action.DestroyProject: case Action.DestroyFile: record = new DestroyRevisionRecord(); break; case Action.RenameProject: case Action.RenameFile: record = new RenameRevisionRecord(); break; case Action.MoveFrom: case Action.MoveTo: record = new MoveRevisionRecord(); break; case Action.ShareFile: record = new ShareRevisionRecord(); break; case Action.BranchFile: case Action.CreateBranch: record = new BranchRevisionRecord(); break; case Action.EditFile: record = new EditRevisionRecord(); break; case Action.ArchiveProject: case Action.RestoreProject: case Action.RestoreFile: record = new ArchiveRevisionRecord(); break; case Action.CreateProject: case Action.AddProject: case Action.AddFile: case Action.DeleteProject: case Action.DeleteFile: case Action.RecoverProject: case Action.RecoverFile: case Action.CreateFile: default: record = new CommonRevisionRecord(); break; } return(record); }
public override void Read(BufferReader reader, RecordHeader header) { base.Read(reader, header); comment = reader.ReadString(reader.Remaining); }
public RecordCrcException(RecordHeader header, string message) : base(message) { this.header = header; }