diff --git a/Annex/AdjustedBranch.hs b/Annex/AdjustedBranch.hs index a2b606ef66..bb5321d90a 100644 --- a/Annex/AdjustedBranch.hs +++ b/Annex/AdjustedBranch.hs @@ -613,12 +613,12 @@ checkAdjustedClone = ifM isBareRepo Just (adj, origbranch) -> do let basis@(BasisBranch bb) = basisBranch (originalToAdjusted origbranch adj) unlessM (inRepo $ Git.Ref.exists bb) $ do - unlessM (inRepo $ Git.Ref.exists origbranch) $ do - let remotebranch = Git.Ref.underBase "refs/remotes/origin" origbranch - inRepo $ Git.Branch.update' origbranch remotebranch aps <- fmap commitParent <$> findAdjustingCommit (AdjBranch currbranch) case aps of - Just [p] -> setBasisBranch basis p + Just [p] -> do + unlessM (inRepo $ Git.Ref.exists origbranch) $ + inRepo $ Git.Branch.update' origbranch p + setBasisBranch basis p _ -> giveup $ "Unable to clean up from clone of adjusted branch; perhaps you should check out " ++ Git.Ref.describe origbranch return InAdjustedClone diff --git a/CHANGELOG b/CHANGELOG index c626a14f07..cdbf2c004f 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -10,6 +10,8 @@ git-annex (8.20210331) UNRELEASED; urgency=medium * fsck: When downloading content from a remote, if the content is able to be verified during the transfer, skip checksumming it a second time. * directory: When cp supports reflinks, use it. + * init: Fix a crash when the repo's was cloned from a repo that had an + adjusted branch checked out, and the origin remote is not named "origin". -- Joey Hess Thu, 01 Apr 2021 12:17:26 -0400 diff --git a/doc/bugs/crippledfs__58___annex-init_crash_when_remote_name_is.mdwn b/doc/bugs/crippledfs__58___annex-init_crash_when_remote_name_is.mdwn index 1a4ba82657..42e433d0b0 100644 --- a/doc/bugs/crippledfs__58___annex-init_crash_when_remote_name_is.mdwn +++ b/doc/bugs/crippledfs__58___annex-init_crash_when_remote_name_is.mdwn @@ -51,3 +51,5 @@ overriding `annex.crippledfilesystem`. Entering an adjusted branch in `a` is sufficient to trigger this. [[!tag projects/datalad]] + +> [[fixed|done]] --[[Joey]]