diff --git a/crates/workspace-server/src/main.rs b/crates/workspace-server/src/main.rs index 18d8f439..bcd50849 100644 --- a/crates/workspace-server/src/main.rs +++ b/crates/workspace-server/src/main.rs @@ -537,7 +537,7 @@ async fn run_serve(options: ServeOptions) -> Result<(), Box Result { - let repositories = store - .list_repositories(&workspace.workspace_id) - .map_err(|error| { - CliError(format!( - "failed to list repositories from server DB: {error}" - )) - })?; - let Some(repository) = repositories - .iter() - .find(|repository| repository.repository_id == "main") - .or_else(|| repositories.first()) - else { - return Err(CliError(format!( - "workspace `{}` has no repository records; cannot derive a workspace root", - workspace.workspace_id - ))); - }; - - if repository.source.kind == workspace_api::RepositorySourceKind::Invalid { - return Err(CliError(format!( - "repository `{}` has an invalid migrated source and cannot be used by serve", - repository.repository_id - ))); - } +fn workspace_root_from_server_data(workspace: &WorkspaceRecord) -> Result { Ok(ServerConfig::default_workspace_backend_data_root( &workspace.workspace_id, ))