From b91cf7fe0ba5472d197f65ecc307c5e7961b78b1 Mon Sep 17 00:00:00 2001 From: Max Audron Date: Wed, 4 Sep 2024 08:54:02 +0200 Subject: i do not know what i did anymore --- src/repo/git/mod.rs | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'src/repo/git/mod.rs') diff --git a/src/repo/git/mod.rs b/src/repo/git/mod.rs index 7370ee8..7513ca5 100644 --- a/src/repo/git/mod.rs +++ b/src/repo/git/mod.rs @@ -9,8 +9,10 @@ use gix::{ }, remote, Id, ObjectId, Remote, }; +use tracing::debug; mod checkout; +mod ffmerge; mod fetch; impl Repo { @@ -52,8 +54,11 @@ impl Repo { .find_reference(&format!("remotes/{}/HEAD", remote_name.as_bstr())) .context("the remotes HEAD references does not exist")?; + debug!("got ref to origin: {:?}", origin_ref); + if let Some(origin_ref) = origin_ref.target().try_name() { - Ok(origin_ref.shorten().to_owned()) + let shortened = origin_ref.shorten().to_owned(); + Ok(shortened.split(|x| *x == b'/').last().unwrap().into()) } else { Err(RepoError::NoDefaultBranch) } @@ -77,19 +82,23 @@ impl Repo { pub fn update_default_branch_ref( &self, - remote: remote::Name, + remote: &remote::Name, head: Id, ) -> Result<(), RepoError> { let default_branch = self.default_branch()?; + debug!("default branch: {:?}", default_branch); + let repo = self.repo()?; - repo.edit_reference(Repo::refedit( + let edits = repo.edit_reference(Repo::refedit( head.into(), - &format!("heads/{}", default_branch), + &format!("refs/heads/{}", default_branch), &format!("checkout: {}/HEAD with gtree", remote.as_bstr()), )) .context("checkout: failed to edit ref")?; + debug!("ref edits: {:?}", edits); + Ok(()) } -- cgit v1.2.3