aboutsummaryrefslogtreecommitdiff
path: root/src/zenstore/workspaces.cpp
diff options
context:
space:
mode:
authorDan Engelbrecht <[email protected]>2024-12-02 14:08:08 +0100
committerGitHub Enterprise <[email protected]>2024-12-02 14:08:08 +0100
commit23d8341e3e43a81de777cccd81d1ae7494f26606 (patch)
treecf31bbd789e52645aa40200833e8c49c6e4c3776 /src/zenstore/workspaces.cpp
parent5.5.15-pre1 (diff)
downloadzen-23d8341e3e43a81de777cccd81d1ae7494f26606.tar.xz
zen-23d8341e3e43a81de777cccd81d1ae7494f26606.zip
validate that root path exists for workspace before adding it (#250)
Diffstat (limited to 'src/zenstore/workspaces.cpp')
-rw-r--r--src/zenstore/workspaces.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/zenstore/workspaces.cpp b/src/zenstore/workspaces.cpp
index be921552a..80e03296c 100644
--- a/src/zenstore/workspaces.cpp
+++ b/src/zenstore/workspaces.cpp
@@ -902,6 +902,11 @@ Workspaces::AddWorkspace(const LoggerRef& Log, const std::filesystem::path& Work
{
throw std::invalid_argument(fmt::format("invalid root path '{}' for workspace {}", Configuration.RootPath, Configuration.Id));
}
+ if (!std::filesystem::is_directory(Configuration.RootPath))
+ {
+ throw std::invalid_argument(
+ fmt::format("workspace root path '{}' does not exist for workspace '{}'", Configuration.RootPath, Configuration.Id));
+ }
std::string Error;
std::vector<WorkspaceConfiguration> WorkspaceConfigurations = ReadConfig(Log, WorkspaceStatePath, Error);
if (!Error.empty())