find: New subcommand.
This commit is contained in:
parent
54d0f73e67
commit
a5c4dd9743
5 changed files with 47 additions and 0 deletions
|
@ -28,6 +28,7 @@ import qualified Command.Fsck
|
||||||
import qualified Command.Unlock
|
import qualified Command.Unlock
|
||||||
import qualified Command.Lock
|
import qualified Command.Lock
|
||||||
import qualified Command.PreCommit
|
import qualified Command.PreCommit
|
||||||
|
import qualified Command.Find
|
||||||
|
|
||||||
subCmds :: [SubCommand]
|
subCmds :: [SubCommand]
|
||||||
subCmds =
|
subCmds =
|
||||||
|
@ -61,6 +62,8 @@ subCmds =
|
||||||
"fix up symlinks to point to annexed content"
|
"fix up symlinks to point to annexed content"
|
||||||
, SubCommand "fsck" maybepath Command.Fsck.seek
|
, SubCommand "fsck" maybepath Command.Fsck.seek
|
||||||
"check for problems"
|
"check for problems"
|
||||||
|
, SubCommand "find" maybepath Command.Find.seek
|
||||||
|
"lists available files"
|
||||||
]
|
]
|
||||||
where
|
where
|
||||||
path = "PATH ..."
|
path = "PATH ..."
|
||||||
|
|
|
@ -158,6 +158,13 @@ withAll w a params = do
|
||||||
w a [Git.workTree g]
|
w a [Git.workTree g]
|
||||||
else w a params
|
else w a params
|
||||||
|
|
||||||
|
{- Provides a default parameter to a with search. -}
|
||||||
|
withDefault :: String-> SubCmdSeekStrings -> SubCmdSeekStrings
|
||||||
|
withDefault d w a params = do
|
||||||
|
if null params
|
||||||
|
then w a [d]
|
||||||
|
else w a params
|
||||||
|
|
||||||
{- filter out files from the state directory -}
|
{- filter out files from the state directory -}
|
||||||
notState :: FilePath -> Bool
|
notState :: FilePath -> Bool
|
||||||
notState f = stateLoc /= take (length stateLoc) f
|
notState f = stateLoc /= take (length stateLoc) f
|
||||||
|
|
24
Command/Find.hs
Normal file
24
Command/Find.hs
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
{- git-annex command
|
||||||
|
-
|
||||||
|
- Copyright 2010 Joey Hess <joey@kitenet.net>
|
||||||
|
-
|
||||||
|
- Licensed under the GNU GPL version 3 or higher.
|
||||||
|
-}
|
||||||
|
|
||||||
|
module Command.Find where
|
||||||
|
|
||||||
|
import Control.Monad (when)
|
||||||
|
import Control.Monad.State (liftIO)
|
||||||
|
|
||||||
|
import Command
|
||||||
|
import Core
|
||||||
|
|
||||||
|
seek :: [SubCmdSeek]
|
||||||
|
seek = [withDefault "." withFilesInGit start]
|
||||||
|
|
||||||
|
{- Output a list of files. -}
|
||||||
|
start :: SubCmdStartString
|
||||||
|
start file = isAnnexed file $ \(key, _) -> do
|
||||||
|
exists <- inAnnex key
|
||||||
|
when (exists) $ liftIO $ putStrLn file
|
||||||
|
return Nothing
|
6
debian/changelog
vendored
6
debian/changelog
vendored
|
@ -1,3 +1,9 @@
|
||||||
|
git-annex (0.07) UNRELEASED; urgency=low
|
||||||
|
|
||||||
|
* find: New subcommand.
|
||||||
|
|
||||||
|
-- Joey Hess <joeyh@debian.org> Sun, 14 Nov 2010 12:34:49 -0400
|
||||||
|
|
||||||
git-annex (0.06) unstable; urgency=low
|
git-annex (0.06) unstable; urgency=low
|
||||||
|
|
||||||
* fsck: Check if annex.numcopies is satisfied.
|
* fsck: Check if annex.numcopies is satisfied.
|
||||||
|
|
|
@ -166,6 +166,13 @@ Many git-annex subcommands will stage changes for later `git commit` by you.
|
||||||
|
|
||||||
With parameters, only the specified files are checked.
|
With parameters, only the specified files are checked.
|
||||||
|
|
||||||
|
* find [path ...]
|
||||||
|
|
||||||
|
Outputs a list of annexed files whose content is currently present.
|
||||||
|
|
||||||
|
With no parameters, defaults to finding all files in the current directory
|
||||||
|
and its subdirectories.
|
||||||
|
|
||||||
# OPTIONS
|
# OPTIONS
|
||||||
|
|
||||||
* --force
|
* --force
|
||||||
|
|
Loading…
Reference in a new issue