fix LsFiles.typeChanged paths

Passing absolute paths to Command.Add used to work, but after recent
changes doesn't. All LsFiles should use relative paths anyway, so fix it
there.
This commit is contained in:
Joey Hess 2012-02-14 00:22:42 -04:00
parent cbaebf538a
commit a2f241d503
3 changed files with 8 additions and 5 deletions

View file

@ -19,7 +19,6 @@ import System.Posix.Files
import Common.Annex import Common.Annex
import qualified Git.Config import qualified Git.Config
import qualified Git.CheckAttr
import qualified Annex import qualified Annex
import Annex.CheckAttr import Annex.CheckAttr
import Types.Key import Types.Key

View file

@ -65,7 +65,13 @@ typeChanged :: [FilePath] -> Repo -> IO [FilePath]
typeChanged = typeChanged' [] typeChanged = typeChanged' []
typeChanged' :: [CommandParam] -> [FilePath] -> Repo -> IO [FilePath] typeChanged' :: [CommandParam] -> [FilePath] -> Repo -> IO [FilePath]
typeChanged' ps l = pipeNullSplit $ prefix ++ ps ++ suffix typeChanged' ps l repo = do
fs <- pipeNullSplit (prefix ++ ps ++ suffix) repo
-- git diff returns filenames relative to the top of the git repo;
-- convert to filenames relative to the cwd, like git ls-files.
let top = workTree repo
cwd <- getCurrentDirectory
return $ map (\f -> relPathDirToFile cwd $ top </> f) fs
where where
prefix = [Params "diff --name-only --diff-filter=T -z"] prefix = [Params "diff --name-only --diff-filter=T -z"]
suffix = Param "--" : map File l suffix = Param "--" : map File l

View file

@ -58,10 +58,8 @@ withFilesUnlockedToBeCommitted = withFilesUnlocked' LsFiles.typeChangedStaged
withFilesUnlocked' :: ([FilePath] -> Git.Repo -> IO [FilePath]) -> (FilePath -> CommandStart) -> CommandSeek withFilesUnlocked' :: ([FilePath] -> Git.Repo -> IO [FilePath]) -> (FilePath -> CommandStart) -> CommandSeek
withFilesUnlocked' typechanged a params = do withFilesUnlocked' typechanged a params = do
-- unlocked files have changed type from a symlink to a regular file -- unlocked files have changed type from a symlink to a regular file
top <- fromRepo Git.workTree
typechangedfiles <- seekHelper typechanged params typechangedfiles <- seekHelper typechanged params
let unlockedfiles = liftIO $ filterM notSymlink $ let unlockedfiles = liftIO $ filterM notSymlink typechangedfiles
map (\f -> top ++ "/" ++ f) typechangedfiles
prepFiltered a unlockedfiles prepFiltered a unlockedfiles
withKeys :: (Key -> CommandStart) -> CommandSeek withKeys :: (Key -> CommandStart) -> CommandSeek