コード例 #1
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="targetDirectoryName"></param>
 /// <param name="compress"></param>
 /// <param name="hashsize"></param>
 public DirtyVersionStorage(string targetDirectoryName, bool compress = true, int hashsize = Const.MinHashSize)
     : base(targetDirectoryName, compress, hashsize)
 {
     _rootDirectory = Path.Combine(_rootDirectory, ".gvcs");
     _mapper        = new Mapper(Path.Combine(_rootDirectory, ".maps"), false, hashsize);
     _hashed        = new HashedDirectory(Path.Combine(_rootDirectory, ".objects"), compress, hashsize);
 }
コード例 #2
0
 public void FixtureSetup()
 {
     dir = Path.Combine(Path.GetTempPath(), "HashedDirectoryTest");
     if (Directory.Exists(dir))
     {
         try
         {
             Directory.Delete(dir, true);
         }
         catch
         {
             Thread.Sleep(200);
             Directory.Delete(dir, true);
         }
     }
     Directory.CreateDirectory(dir);
     hashdir = new HashedDirectory(dir, hashsize: 7);
 }
コード例 #3
0
        public void CanWriteAndRead(string file, string content, bool compressed)
        {
            hashdir = new HashedDirectory(dir + "/compress_" + compressed, compressed, 7);
            for (var i = 0; i <= 10; i++)
            {
                content = content + content;
            }
            var record = hashdir.Write(file, content);

            WriteDirToConsole();
            Assert.NotNull(record);
            Assert.AreNotEqual(record.NameHash, record.DataHash);
            Assert.AreEqual(7, record.NameHash.Length);
            Assert.AreEqual(7, record.DataHash.Length);
            Assert.AreEqual(DateTime.Now.Year, record.LastWriteTime.Year);

            var res = new StreamReader(hashdir.Open(record)).ReadToEnd();

            Assert.AreEqual(content, res);
            res = new StreamReader(hashdir.Open(file)).ReadToEnd();
            Assert.AreEqual(content, res);
        }
コード例 #4
0
 /// <summary>
 ///     Класс файлового хранилища, основанный на HasedDirectory
 /// </summary>
 /// <param name="workingDirectory">Рабочая директория</param>
 public FileStorageHashedDirectory(string workingDirectory)
 {
     Abilities               = FileStorageAbilities.Persist;
     WorkingDirectory        = workingDirectory;
     _hashedDirectoryStorage = new HashedDirectory(WorkingDirectory);
 }
コード例 #5
0
 /// <summary>
 ///     Класс файлового хранилища, основанный на HasedDirectory
 /// </summary>
 /// <param name="workingDirectory">Рабочая директория</param>
 public FileStorageHashedDirectory(string workingDirectory) {
     Abilities = FileStorageAbilities.Persist;
     WorkingDirectory = workingDirectory;
     _hashedDirectoryStorage = new HashedDirectory(WorkingDirectory);
 }
コード例 #6
0
 /// <summary>
 ///     Дескриптор файла, основанный на HashedDirectory
 /// </summary>
 /// <param name="hashedDirectory">Экземпляр настроенного движка хранилища</param>
 /// <param name="fileDescriptor">Представление файла</param>
 public FileHashedDirectoryBased(HashedDirectory hashedDirectory, IFileDescriptor fileDescriptor)
 {
     _hashedDirectoryStorage = hashedDirectory;
     Descriptor = fileDescriptor;
 }