diff --git a/src/rime/lever/deployment_tasks.cc b/src/rime/lever/deployment_tasks.cc index 7093a9fccb..b94a2a13a5 100644 --- a/src/rime/lever/deployment_tasks.cc +++ b/src/rime/lever/deployment_tasks.cc @@ -258,14 +258,16 @@ SchemaUpdate::SchemaUpdate(TaskInitializer arg) : verbose_(false) { } static bool MaybeCreateDirectory(fs::path dir) { - if (!fs::exists(dir)) { - boost::system::error_code ec; - if (!fs::create_directories(dir, ec)) { - LOG(ERROR) << "error creating directory '" << dir.string() << "'."; - return false; - } + boost::system::error_code ec; + if (fs::create_directories(dir, ec)) { + return true; } - return true; + + if (fs::exists(dir)) { + return true; + } + LOG(ERROR) << "error creating directory '" << dir.string() << "'."; + return false; } static bool RemoveVersionSuffix(string* version, const string& suffix) {