From d5a7f6cdc77c42877b7babc084a9ab035a74e346 Mon Sep 17 00:00:00 2001 From: VladiMihaylenko Date: Fri, 1 Sep 2017 18:13:30 +0300 Subject: [PATCH] Special format for a file while which is on an applying process. --- defines.hpp | 1 + storage/diff_scheme/diff_manager.cpp | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/defines.hpp b/defines.hpp index fcaa00f1d4..60bcb091b5 100644 --- a/defines.hpp +++ b/defines.hpp @@ -3,6 +3,7 @@ #define DATA_FILE_EXTENSION ".mwm" #define DATA_FILE_EXTENSION_TMP ".mwm.tmp" #define DIFF_FILE_EXTENSION ".mwmdiff" +#define DIFF_APPLYING_FILE_EXTENSION ".diff.applying" #define FONT_FILE_EXTENSION ".ttf" #define OSM2FEATURE_FILE_EXTENSION ".osm2ft" #define EXTENSION_TMP ".tmp" diff --git a/storage/diff_scheme/diff_manager.cpp b/storage/diff_scheme/diff_manager.cpp index 4358cda4f9..d6dfcb63df 100644 --- a/storage/diff_scheme/diff_manager.cpp +++ b/storage/diff_scheme/diff_manager.cpp @@ -72,7 +72,9 @@ void Manager::ApplyDiff(ApplyDiffParams && p, std::functionGetPath(MapOptions::Map); string const newMwmPath = diffFile->GetPath(MapOptions::Map); - result = generator::mwm_diff::ApplyDiff(oldMwmPath, newMwmPath, diffPath); + string const diffApplyingInProgressPath = newMwmPath + DIFF_APPLYING_FILE_EXTENSION; + result = generator::mwm_diff::ApplyDiff(oldMwmPath, diffApplyingInProgressPath, diffPath) && + my::RenameFileX(diffApplyingInProgressPath, newMwmPath); } diffFile->DeleteFromDisk(MapOptions::Diff);