From a1e95c48b8be0ab36e3631b582a11d6894551d48 Mon Sep 17 00:00:00 2001 From: Max Audron Date: Wed, 26 Mar 2025 13:36:23 +0100 Subject: fix wrong ref being updated on checkout if branch contained slash --- src/repo/git/mod.rs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/repo/git/mod.rs b/src/repo/git/mod.rs index 65f4022..b88a13f 100644 --- a/src/repo/git/mod.rs +++ b/src/repo/git/mod.rs @@ -57,8 +57,10 @@ impl Repo { debug!("got ref to origin: {:?}", origin_ref); if let Some(origin_ref) = origin_ref.target().try_name() { - let shortened = origin_ref.shorten().to_owned(); - Ok(shortened.split(|x| *x == b'/').last().unwrap().into()) + let shortened = origin_ref.shorten().to_string(); + + let strip: String = format!("{}/", remote_name.as_bstr()); + Ok(shortened.strip_prefix(&strip).unwrap().into()) } else { Err(RepoError::NoDefaultBranch) } -- cgit v1.2.3