public void test000_FirstPack() { FileInfo packFile = getPack("pack-34be9032ac282b11fa9babdc2b2a93ca996c9c2f.pack"); Stream @is = packFile.Open(System.IO.FileMode.Open, FileAccess.Read); try { FileInfo tmppack = new FileInfo(Path.Combine(trash.ToString(), "tmp_pack1")); FileInfo idxFile = new FileInfo(Path.Combine(trash.ToString(), "tmp_pack1.idx")); FileInfo tmpPackFile = new FileInfo(Path.Combine(trash.ToString(), "tmp_pack1.pack")); tmppack.Create().Close(); idxFile.Create().Close(); tmpPackFile.Create().Close(); IndexPack pack = new IndexPack(db, @is, tmppack); pack.index(new TextProgressMonitor()); PackFile file = new PackFile(idxFile, tmpPackFile); Assert.IsTrue(file.HasObject(ObjectId.FromString("4b825dc642cb6eb9a060e54bf8d69288fbee4904"))); Assert.IsTrue(file.HasObject(ObjectId.FromString("540a36d136cf413e4b064c2b0e0a4db60f77feab"))); Assert.IsTrue(file.HasObject(ObjectId.FromString("5b6e7c66c276e7610d4a73c70ec1a1f7c1003259"))); Assert.IsTrue(file.HasObject(ObjectId.FromString("6ff87c4664981e4397625791c8ea3bbb5f2279a3"))); Assert.IsTrue(file.HasObject(ObjectId.FromString("82c6b885ff600be425b4ea96dee75dca255b69e7"))); Assert.IsTrue(file.HasObject(ObjectId.FromString("902d5476fa249b7abc9d84c611577a81381f0327"))); Assert.IsTrue(file.HasObject(ObjectId.FromString("aabf2ffaec9b497f0950352b3e582d73035c2035"))); Assert.IsTrue(file.HasObject(ObjectId.FromString("c59759f143fb1fe21c197981df75a7ee00290799"))); } finally { @is.Close(); } }
public void test001_SecondPack() { FileInfo packFile = getPack("pack-df2982f284bbabb6bdb59ee3fcc6eb0983e20371.pack"); Stream @is = packFile.Open(System.IO.FileMode.Open, FileAccess.Read); try { FileInfo tmppack = new FileInfo(Path.Combine(trash.ToString(), "tmp_pack2")); FileInfo idxFile = new FileInfo(Path.Combine(trash.ToString(), "tmp_pack2.idx")); FileInfo tmpPackFile = new FileInfo(Path.Combine(trash.ToString(), "tmp_pack2.pack")); tmppack.Create().Close(); idxFile.Create().Close(); tmpPackFile.Create().Close(); IndexPack pack = new IndexPack(db, @is, tmppack); pack.index(new TextProgressMonitor()); PackFile file = new PackFile(idxFile, tmpPackFile); Assert.IsTrue(file.HasObject(ObjectId.FromString("02ba32d3649e510002c21651936b7077aa75ffa9"))); Assert.IsTrue(file.HasObject(ObjectId.FromString("0966a434eb1a025db6b71485ab63a3bfbea520b6"))); Assert.IsTrue(file.HasObject(ObjectId.FromString("09efc7e59a839528ac7bda9fa020dc9101278680"))); Assert.IsTrue(file.HasObject(ObjectId.FromString("0a3d7772488b6b106fb62813c4d6d627918d9181"))); Assert.IsTrue(file.HasObject(ObjectId.FromString("1004d0d7ac26fbf63050a234c9b88a46075719d3"))); Assert.IsTrue(file.HasObject(ObjectId.FromString("10da5895682013006950e7da534b705252b03be6"))); Assert.IsTrue(file.HasObject(ObjectId.FromString("1203b03dc816ccbb67773f28b3c19318654b0bc8"))); Assert.IsTrue(file.HasObject(ObjectId.FromString("15fae9e651043de0fd1deef588aa3fbf5a7a41c6"))); Assert.IsTrue(file.HasObject(ObjectId.FromString("16f9ec009e5568c435f473ba3a1df732d49ce8c3"))); Assert.IsTrue(file.HasObject(ObjectId.FromString("1fd7d579fb6ae3fe942dc09c2c783443d04cf21e"))); Assert.IsTrue(file.HasObject(ObjectId.FromString("20a8ade77639491ea0bd667bf95de8abf3a434c8"))); Assert.IsTrue(file.HasObject(ObjectId.FromString("2675188fd86978d5bc4d7211698b2118ae3bf658"))); // and lots more... } finally { @is.Close(); } }
internal static IndexPack Create(Repository db, Stream stream) { DirectoryInfo objdir = db.ObjectsDirectory; FileInfo tmp = CreateTempFile("incoming_", PackSuffix, objdir); string n = tmp.Name; var basef = new FileInfo(Path.Combine(objdir.ToString(), n.Slice(0, n.Length - PackSuffix.Length))); var ip = new IndexPack(db, stream, basef); ip.setIndexVersion(db.Config.getCore().getPackIndexVersion()); return ip; }
private void VerifyOpenPack(bool thin) { IndexPack indexer; Stream @is; if (thin) { @is = new MemoryStream(_os.ToArray()); indexer = new IndexPack(db, @is, _packBase); try { indexer.index(new TextProgressMonitor()); Assert.Fail("indexer should grumble about missing object"); } catch (IOException) { // expected } } @is = new MemoryStream(_os.ToArray()); indexer = new IndexPack(db, @is, _packBase); indexer.setKeepEmpty(true); indexer.setFixThin(thin); indexer.setIndexVersion(2); indexer.index(new TextProgressMonitor()); _pack = new PackFile(_indexFile, _packFile); }