added progress bars
clean up old todo item I checked earlier, see commit
dec30d2b14
This commit is contained in:
parent
e412129523
commit
6149a3b9bd
2 changed files with 16 additions and 21 deletions
|
@ -35,7 +35,7 @@ import Backend
|
|||
import Config
|
||||
import Types.Key
|
||||
import Types.KeySource
|
||||
import Utility.Metered
|
||||
import Messages.Progress
|
||||
import Utility.DataUnits
|
||||
import Logs.Export
|
||||
import Logs.Location
|
||||
|
@ -255,7 +255,7 @@ downloadImport remote importtreeconfig importablecontents = do
|
|||
(k:_) -> return $ Left $ Just (loc, k)
|
||||
[] -> do
|
||||
job <- liftIO $ newEmptyTMVarIO
|
||||
let rundownload = do
|
||||
let downloadaction = do
|
||||
showStart "import" (fromImportLocation loc)
|
||||
next $ tryNonAsync (download cidmap db i) >>= \case
|
||||
Left e -> next $ do
|
||||
|
@ -270,24 +270,25 @@ downloadImport remote importtreeconfig importablecontents = do
|
|||
commandAction $ bracket_
|
||||
(waitstart downloading cid)
|
||||
(signaldone downloading cid)
|
||||
rundownload
|
||||
downloadaction
|
||||
return (Right job)
|
||||
|
||||
download cidmap db (loc, (cid, sz)) =
|
||||
download cidmap db (loc, (cid, sz)) = do
|
||||
let rundownload tmpfile p =
|
||||
Remote.retrieveExportWithContentIdentifier ia loc cid tmpfile (mkkey loc tmpfile) p >>= \case
|
||||
Just k -> tryNonAsync (moveAnnex k tmpfile) >>= \case
|
||||
Right True -> do
|
||||
recordcidkey cidmap db cid k
|
||||
logStatus k InfoPresent
|
||||
logChange k (Remote.uuid remote) InfoPresent
|
||||
return $ Just (loc, k)
|
||||
_ -> return Nothing
|
||||
Nothing -> return Nothing
|
||||
checkDiskSpaceToGet tmpkey Nothing $
|
||||
withTmp tmpkey $ \tmpfile ->
|
||||
Remote.retrieveExportWithContentIdentifier ia loc cid tmpfile (mkkey loc tmpfile) p >>= \case
|
||||
Just k -> tryNonAsync (moveAnnex k tmpfile) >>= \case
|
||||
Right True -> do
|
||||
recordcidkey cidmap db cid k
|
||||
logStatus k InfoPresent
|
||||
logChange k (Remote.uuid remote) InfoPresent
|
||||
return $ Just (loc, k)
|
||||
_ -> return Nothing
|
||||
Nothing -> return Nothing
|
||||
metered Nothing tmpkey (return Nothing) $
|
||||
const (rundownload tmpfile)
|
||||
where
|
||||
-- TODO progress bar
|
||||
p = nullMeterUpdate
|
||||
ia = Remote.importActions remote
|
||||
tmpkey = importKey cid sz
|
||||
|
||||
|
|
|
@ -13,8 +13,6 @@ this.
|
|||
* Need to support annex-tracking-branch configuration, which documentation
|
||||
says makes git-annex sync and assistant do imports.
|
||||
|
||||
* progress bars when downloading from import
|
||||
|
||||
* When on an adjusted unlocked branch, need to import the files unlocked.
|
||||
Also, the tracking branch code needs to know about such branches,
|
||||
currently it will generate the wrong tracking branch.
|
||||
|
@ -30,10 +28,6 @@ this.
|
|||
(like eg a way to merge a specified branch and update the adjustment)
|
||||
would thus benefit both uses cases.
|
||||
|
||||
* What if the remote lists importable filenames that are absolute paths,
|
||||
or contain a "../" attack? Does git already guard against merging such
|
||||
trees?
|
||||
|
||||
* Need to support annex.largefiles when importing.
|
||||
|
||||
* If a tree containing a non-annexed file is exported,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue