From 242c5256598d14da8841b518e85c07ec58c69401 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Fri, 30 Aug 2024 10:48:10 -0400 Subject: [PATCH] lookupkey: Allow using --ref in a bare repository. --- CHANGELOG | 1 + Command/LookupKey.hs | 10 ++++++---- ...ey_--ref_refuses_to_run_in_bare_repository.mdwn | 1 + ...ent_3_d88061641439dd029939584cc5679a40._comment | 14 ++++++++++++++ 4 files changed, 22 insertions(+), 4 deletions(-) create mode 100644 doc/bugs/lookupkey_--ref_refuses_to_run_in_bare_repository/comment_3_d88061641439dd029939584cc5679a40._comment diff --git a/CHANGELOG b/CHANGELOG index 37b3688b86..db03e5af79 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -18,6 +18,7 @@ git-annex (10.20240831) UNRELEASED; urgency=medium * The config versioning=true is now reserved for use by versioned special remotes. External special remotes should not use that config for their own purposes. + * lookupkey: Allow using --ref in a bare repository. -- Joey Hess Wed, 31 Jul 2024 15:52:03 -0400 diff --git a/Command/LookupKey.hs b/Command/LookupKey.hs index f191aa1e8b..32df886532 100644 --- a/Command/LookupKey.hs +++ b/Command/LookupKey.hs @@ -15,7 +15,7 @@ import Utility.Terminal import Utility.SafeOutput cmd :: Command -cmd = notBareRepo $ noCommit $ noMessages $ +cmd = noCommit $ noMessages $ command "lookupkey" SectionPlumbing "looks up key used for file" (paramRepeating paramFile) @@ -35,9 +35,11 @@ optParser = LookupKeyOptions run :: LookupKeyOptions -> SeekInput -> String -> Annex Bool run o _ file | refOption o = catKey (Ref (toRawFilePath file)) >>= display - | otherwise = seekSingleGitFile file >>= \case - Nothing -> return False - Just file' -> catKeyFile file' >>= display + | otherwise = do + checkNotBareRepo + seekSingleGitFile file >>= \case + Nothing -> return False + Just file' -> catKeyFile file' >>= display display :: Maybe Key -> Annex Bool display (Just k) = do diff --git a/doc/bugs/lookupkey_--ref_refuses_to_run_in_bare_repository.mdwn b/doc/bugs/lookupkey_--ref_refuses_to_run_in_bare_repository.mdwn index 7c11340b57..b30487ec90 100644 --- a/doc/bugs/lookupkey_--ref_refuses_to_run_in_bare_repository.mdwn +++ b/doc/bugs/lookupkey_--ref_refuses_to_run_in_bare_repository.mdwn @@ -37,3 +37,4 @@ git-annex: You cannot run this command in a bare repository. ### Have you had any luck using git-annex before? (Sometimes we get tired of reading bug reports all day and a lil' positive end note does wonders) +> [[fixed|done]] --[[Joey]] diff --git a/doc/bugs/lookupkey_--ref_refuses_to_run_in_bare_repository/comment_3_d88061641439dd029939584cc5679a40._comment b/doc/bugs/lookupkey_--ref_refuses_to_run_in_bare_repository/comment_3_d88061641439dd029939584cc5679a40._comment new file mode 100644 index 0000000000..e191890c70 --- /dev/null +++ b/doc/bugs/lookupkey_--ref_refuses_to_run_in_bare_repository/comment_3_d88061641439dd029939584cc5679a40._comment @@ -0,0 +1,14 @@ +[[!comment format=mdwn + username="joey" + subject="""comment 3""" + date="2024-08-30T14:47:41Z" + content=""" +Fixed that. + +It kind of seems like metadata could have an option to get the metadata for +a specific ref as well, but since it already has --branch which takes a +branch ref, adding a --ref which takes a file ref seems confusing. Maybe +--fileref? There are a decent number of other commands that also use +parseKeyOptions to support --branch/--key/--all that would also get the new +option if it were implemented. +"""]]