diff --git a/rust/rhgitaly/src/service/ref.rs b/rust/rhgitaly/src/service/ref.rs index d7b89af65ac037a9991cdeb092683cff081a7269_cnVzdC9yaGdpdGFseS9zcmMvc2VydmljZS9yZWYucnM=..293f7a90d6030863658454ebc743ac25b92d3f4d_cnVzdC9yaGdpdGFseS9zcmMvc2VydmljZS9yZWYucnM= 100644 --- a/rust/rhgitaly/src/service/ref.rs +++ b/rust/rhgitaly/src/service/ref.rs @@ -14,7 +14,7 @@ use crate::gitaly::{RefExistsRequest, RefExistsResponse}; use crate::gitlab::revision::{map_full_ref, RefError}; use crate::metadata::correlation_id; -use crate::repository::{default_repo_spec_error_status, repo_path}; +use crate::repository::{default_repo_spec_error_status, repo_store_vfs}; #[derive(Debug)] pub struct RefServiceImpl { @@ -56,8 +56,8 @@ ) -> Result<Response<RefExistsResponse>, Status> { info!("Processing"); - if let Some(gl_repo) = &request.repository { - let repo_path = - repo_path(&self.config, gl_repo).map_err(default_repo_spec_error_status)?; - let store_path = repo_path.join(".hg/store"); + { + let store_vfs = repo_store_vfs(&self.config, &request.repository) + .await + .map_err(default_repo_spec_error_status)?; @@ -63,5 +63,5 @@ - let value = match map_full_ref(&store_path, &request.r#ref, |_tr| (), |_ka| ()).await { + let value = match map_full_ref(&store_vfs, &request.r#ref, |_tr| (), |_ka| ()).await { Ok(()) => Ok(true), Err(RefError::NotFound) => Ok(false), Err(RefError::MissingRefName) => Ok(false), @@ -69,5 +69,5 @@ Err(RefError::GitLabStateFileError(e)) => Err(Status::internal(format!("{:?}", e))), }?; - return Ok(Response::new(RefExistsResponse { value })); + Ok(Response::new(RefExistsResponse { value })) } @@ -73,7 +73,4 @@ } - Err(Status::invalid_argument( - "GetStorageByName: no such storage: \"\"", - )) } }