public virtual void TestPackWithDuplicateBlob() { byte[] data = Constants.Encode("0123456789abcdefg"); TestRepository <Repository> d = new TestRepository <Repository>(db); NUnit.Framework.Assert.IsTrue(db.HasObject(d.Blob(data))); TemporaryBuffer.Heap pack = new TemporaryBuffer.Heap(1024); PackHeader(pack, 1); pack.Write((Constants.OBJ_BLOB) << 4 | unchecked ((int)(0x80)) | 1); pack.Write(1); Deflate(pack, data); Digest(pack); byte[] raw = pack.ToByteArray(); IndexPack ip = IndexPack.Create(db, new ByteArrayInputStream(raw)); ip.Index(NullProgressMonitor.INSTANCE); ip.RenameAndOpenPack(); }
public virtual void TestTinyThinPack() { TestRepository d = new TestRepository(db); RevBlob a = d.Blob("a"); TemporaryBuffer.Heap pack = new TemporaryBuffer.Heap(1024); PackHeader(pack, 1); pack.Write((Constants.OBJ_REF_DELTA) << 4 | 4); a.CopyRawTo(pack); Deflate(pack, new byte[] { unchecked ((int)(0x1)), unchecked ((int)(0x1)), unchecked ( (int)(0x1)), (byte)('b') }); Digest(pack); byte[] raw = pack.ToByteArray(); IndexPack ip = IndexPack.Create(db, new ByteArrayInputStream(raw)); ip.SetFixThin(true); ip.Index(NullProgressMonitor.INSTANCE); ip.RenameAndOpenPack(); }