diff options
Diffstat (limited to 'src/zenserver/main.cpp')
| -rw-r--r-- | src/zenserver/main.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/zenserver/main.cpp b/src/zenserver/main.cpp index 44330d4c8..1aa0aa4df 100644 --- a/src/zenserver/main.cpp +++ b/src/zenserver/main.cpp @@ -336,7 +336,7 @@ main(int argc, char* argv[]) ZenServerOptions ServerOptions; ParseCliOptions(argc, argv, ServerOptions); - if (ServerOptions.IsCleanStart) + if (ServerOptions.IsCleanStart || !ServerOptions.BaseSnapshotDir.empty()) { DeleteDirectories(ServerOptions.DataDir); } @@ -347,6 +347,11 @@ main(int argc, char* argv[]) std::filesystem::create_directories(ServerOptions.DataDir); } + if (!ServerOptions.BaseSnapshotDir.empty()) + { + CopyTree(ServerOptions.BaseSnapshotDir, ServerOptions.DataDir, {.EnableClone = true}); + } + #if ZEN_WITH_TRACE if (ServerOptions.TraceHost.size()) { |