import: Changed to honor annex.largefiles settings.
This commit is contained in:
parent
5ec67335f4
commit
dc8099872a
4 changed files with 17 additions and 6 deletions
|
@ -73,8 +73,12 @@ seek o = allowConcurrentOutput $ do
|
||||||
startSmall :: FilePath -> CommandStart
|
startSmall :: FilePath -> CommandStart
|
||||||
startSmall file = do
|
startSmall file = do
|
||||||
showStart "add" file
|
showStart "add" file
|
||||||
|
next $ performSmall file
|
||||||
|
|
||||||
|
performSmall :: FilePath -> CommandPerform
|
||||||
|
performSmall file = do
|
||||||
showNote "non-large file; adding content to git repository"
|
showNote "non-large file; adding content to git repository"
|
||||||
next $ performAdd file
|
performAdd file
|
||||||
|
|
||||||
performAdd :: FilePath -> CommandPerform
|
performAdd :: FilePath -> CommandPerform
|
||||||
performAdd file = do
|
performAdd file = do
|
||||||
|
|
|
@ -19,6 +19,8 @@ import Types.KeySource
|
||||||
import Types.Key
|
import Types.Key
|
||||||
import Annex.CheckIgnore
|
import Annex.CheckIgnore
|
||||||
import Annex.NumCopies
|
import Annex.NumCopies
|
||||||
|
import Types.FileMatcher
|
||||||
|
import Annex.FileMatcher
|
||||||
|
|
||||||
cmd :: Command
|
cmd :: Command
|
||||||
cmd = withGlobalOptions (jobsOption : fileMatchingOptions) $ notBareRepo $
|
cmd = withGlobalOptions (jobsOption : fileMatchingOptions) $ notBareRepo $
|
||||||
|
@ -64,10 +66,11 @@ seek o = allowConcurrentOutput $ do
|
||||||
inrepops <- liftIO $ filter (dirContains repopath) <$> mapM absPath (importFiles o)
|
inrepops <- liftIO $ filter (dirContains repopath) <$> mapM absPath (importFiles o)
|
||||||
unless (null inrepops) $ do
|
unless (null inrepops) $ do
|
||||||
error $ "cannot import files from inside the working tree (use git annex add instead): " ++ unwords inrepops
|
error $ "cannot import files from inside the working tree (use git annex add instead): " ++ unwords inrepops
|
||||||
withPathContents (start (duplicateMode o)) (importFiles o)
|
largematcher <- largeFilesMatcher
|
||||||
|
withPathContents (start largematcher (duplicateMode o)) (importFiles o)
|
||||||
|
|
||||||
start :: DuplicateMode -> (FilePath, FilePath) -> CommandStart
|
start :: FileMatcher Annex -> DuplicateMode -> (FilePath, FilePath) -> CommandStart
|
||||||
start mode (srcfile, destfile) =
|
start largematcher mode (srcfile, destfile) =
|
||||||
ifM (liftIO $ isRegularFile <$> getSymbolicLinkStatus srcfile)
|
ifM (liftIO $ isRegularFile <$> getSymbolicLinkStatus srcfile)
|
||||||
( do
|
( do
|
||||||
ma <- pickaction
|
ma <- pickaction
|
||||||
|
@ -124,7 +127,10 @@ start mode (srcfile, destfile) =
|
||||||
liftIO $ if mode == Duplicate || mode == SkipDuplicates
|
liftIO $ if mode == Duplicate || mode == SkipDuplicates
|
||||||
then void $ copyFileExternal CopyAllMetaData srcfile destfile
|
then void $ copyFileExternal CopyAllMetaData srcfile destfile
|
||||||
else moveFile srcfile destfile
|
else moveFile srcfile destfile
|
||||||
Command.Add.perform destfile
|
ifM (checkFileMatcher largematcher destfile)
|
||||||
|
( Command.Add.perform destfile
|
||||||
|
, Command.Add.performSmall destfile
|
||||||
|
)
|
||||||
notoverwriting why = do
|
notoverwriting why = do
|
||||||
warning $ "not overwriting existing " ++ destfile ++ " " ++ why
|
warning $ "not overwriting existing " ++ destfile ++ " " ++ why
|
||||||
stop
|
stop
|
||||||
|
|
1
debian/changelog
vendored
1
debian/changelog
vendored
|
@ -10,6 +10,7 @@ git-annex (5.20151117) UNRELEASED; urgency=medium
|
||||||
444, since that prevents a user other than the file owner from locking
|
444, since that prevents a user other than the file owner from locking
|
||||||
them. Instead, a mode such as 664 is used in this case.
|
them. Instead, a mode such as 664 is used in this case.
|
||||||
* tahoe: Include tahoe capabilities in whereis display.
|
* tahoe: Include tahoe capabilities in whereis display.
|
||||||
|
* import: Changed to honor annex.largefiles settings.
|
||||||
|
|
||||||
-- Joey Hess <id@joeyh.name> Mon, 16 Nov 2015 16:49:34 -0400
|
-- Joey Hess <id@joeyh.name> Mon, 16 Nov 2015 16:49:34 -0400
|
||||||
|
|
||||||
|
|
|
@ -801,7 +801,7 @@ Here are all the supported configuration settings.
|
||||||
|
|
||||||
annex.largefiles = largerthan=100kb and not (include=*.c or include=*.h)
|
annex.largefiles = largerthan=100kb and not (include=*.c or include=*.h)
|
||||||
|
|
||||||
This setting is used by `git annex add` and the assistant.
|
This setting is used by `git annex add`, `git annex import` and the assistant.
|
||||||
It can be useful to temporarily override it via -c at the command line.
|
It can be useful to temporarily override it via -c at the command line.
|
||||||
For example:
|
For example:
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue