diff --git a/cli/src/cli_util.rs b/cli/src/cli_util.rs index 7d3ffe1212e..2587e47f74a 100644 --- a/cli/src/cli_util.rs +++ b/cli/src/cli_util.rs @@ -3677,10 +3677,13 @@ impl CliRunner { } let maybe_workspace_loader = if let Some(path) = &args.global_args.repository { + // TODO: maybe path should be canonicalized by WorkspaceLoader? + let abs_path = cwd.join(path); + let abs_path = abs_path.canonicalize().unwrap_or(abs_path); // Invalid -R path is an error. No need to proceed. let loader = self .workspace_loader_factory - .create(&cwd.join(path)) + .create(&abs_path) .map_err(|err| map_workspace_load_error(err, Some(path)))?; config_env.reset_repo_path(loader.repo_path()); config_env.reload_repo_config(&mut config)?;