add --branch option to git-annex find and mildly deprecate findref in favor of it

No deprecation warning at run time, just one on the man page.

One thing findref remains able to do that find cannot is to run in a bare
repo. Find was made to refuse to run in a bare repo because it seemed
confusing for it to not list any files ever in that situation. It would be
better for find --branch to work in a bare repo but not without --branch
but I don't currently have a way to do that.

Probably a better solution would be to make git-annex in a bare repo
default to --branch master or something like that instead of --all.

This commit was sponsored by Denis Dzyubenko on Patreon.
This commit is contained in:
Joey Hess 2018-12-09 14:10:37 -04:00
parent 029ae8d4db
commit 904be4e6be
No known key found for this signature in database
GPG key ID: DB12DB0FF05F8F38
8 changed files with 41 additions and 31 deletions

View file

@ -1,6 +1,6 @@
{- git-annex command
-
- Copyright 2014 Joey Hess <id@joeyh.name>
- Copyright 2014-2018 Joey Hess <id@joeyh.name>
-
- Licensed under the GNU GPL version 3 or higher.
-}
@ -14,9 +14,14 @@ import qualified Git
cmd :: Command
cmd = withGlobalOptions [annexedMatchingOptions] $ Find.mkCommand $
command "findref" SectionPlumbing
"lists files in a git ref"
"lists files in a git ref (deprecated)"
paramRef (seek <$$> Find.optParser)
seek :: Find.FindOptions -> CommandSeek
seek o = (commandAction . uncurry (Find.start o))
`withFilesInRefs` (map Git.Ref $ Find.findThese o)
seek o = Find.seek o'
where
o' = o
{ Find.keyOptions = Just $ WantBranchKeys $
map Git.Ref (Find.findThese o)
, Find.findThese = []
}