/// <summary> /// Вычисляет код коммита по содержимому, добавляю компонент случайности /// во избежание коллизий /// </summary> /// <param name="stream">Исходный поток</param> /// <returns></returns> private static string ComputeCommitCode(Stream stream) { using (var internalStream = new MemoryStream()) { stream.CopyTo(internalStream); return(VcsStorageUtils.ComputeShaFromString( VcsStorageUtils.StreamToString(internalStream) + Guid.NewGuid().ToString() )); } }
/// <summary> /// Мержит текущую карту, если таковая существует /// </summary> private void MergeCurrentMap() { var currentMapStream = Engine.Get(new FileDescriptor { Path = Path.Combine(VcsStorageDefaults.MapFilesDirectory, "master." + VcsStorageDefaults.MapFileExtension) }).GetStream(FileAccess.Read); if (currentMapStream != null) { Map.Add(XElement.Parse( VcsStorageUtils.StreamToString(currentMapStream) ).Elements()); } }