Ejemplo n.º 1
0
        public void CanAddLooseBackend()
        {
            using (Repository repo = SandboxRepository("testrepo"))
                using (ObjectDatabase odb = repo.ObjectDatabase)
                {
                    var oid = new ObjectId("e350052cc767cd1fcb37e84e9a89e701925be4ae");

                    Assert.Throws <NotFoundException>(() => odb.ReadHeader(oid));

                    var otherRepositoryPath = SandboxResource("submodules.git");
                    var path = Path.Combine(otherRepositoryPath, "objects");

                    var backend = ObjectDatabaseBackend.CreateLooseBackend(path);
                    odb.AddBackend(backend, 100);

                    Assert.Equal((195, ObjectType.Blob), odb.ReadHeader(oid));
                }
        }
Ejemplo n.º 2
0
        public void CanAddPackfileBackend()
        {
            using (Repository repo = SandboxRepository("testrepo"))
                using (ObjectDatabase odb = repo.ObjectDatabase)
                {
                    var oid1 = new ObjectId("739e3c4c51919baf6c4f55e7a74f5da2eba42ab0");
                    var oid2 = new ObjectId("0ddeaded9502971eefe1e41e34d0e536853ae20f");

                    Assert.Throws <NotFoundException>(() => odb.ReadHeader(oid1));
                    Assert.Throws <NotFoundException>(() => odb.ReadHeader(oid2));

                    var otherRepositoryPath = SandboxResource("duplicate.git");
                    var path = Path.Combine(otherRepositoryPath, "objects", "pack", "pack-b18eeacbd65cbd30a365d7564b45a468e8bd43d6.idx");

                    var backend = ObjectDatabaseBackend.CreatePackfileBackend(path);
                    odb.AddBackend(backend, 100);

                    Assert.Throws <NotFoundException>(() => odb.ReadHeader(oid1));
                    Assert.Equal((7, ObjectType.Blob), odb.ReadHeader(oid2));
                }
        }