diff options
author | Joey Hess <joeyh@joeyh.name> | 2017-08-29 13:51:00 -0400 |
---|---|---|
committer | Joey Hess <joeyh@joeyh.name> | 2017-08-29 13:57:42 -0400 |
commit | b0836c1a8ce6edb0604648c1fcf4396f43ebd998 (patch) | |
tree | f46c3b981ae1493d0d2758757b1231fe2fa01133 /Remote | |
parent | 119f951d4b91fef9cad0d1ce76d3a430510bfdc1 (diff) |
provide file with content to export
Rather than providing the key to export, provide the file.
When exporting a treeish that contains files that are not annexed,
this will let the content of those files also be exported.
There's still a Key in the interface; it will be used by the external
special remote protocol. A SHA1 key can be used when exporting
non-annexed files.
This commit was sponsored by Brock Spratlen on Patreon.
Diffstat (limited to 'Remote')
-rw-r--r-- | Remote/Directory.hs | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/Remote/Directory.hs b/Remote/Directory.hs index a371a1951..342b5bc57 100644 --- a/Remote/Directory.hs +++ b/Remote/Directory.hs @@ -233,15 +233,13 @@ checkPresentGeneric d ps = liftIO $ exportPath :: FilePath -> ExportLocation -> FilePath exportPath d (ExportLocation loc) = d </> loc -storeExportDirectory :: FilePath -> Key -> ExportLocation -> MeterUpdate -> Annex Bool -storeExportDirectory d k loc p = sendAnnex k rollback send +storeExportDirectory :: FilePath -> FilePath -> Key -> ExportLocation -> MeterUpdate -> Annex Bool +storeExportDirectory d src _k loc p = liftIO $ catchBoolIO $ do + createDirectoryIfMissing True dest + withMeteredFile src p (L.writeFile dest) + return True where dest = exportPath d loc - send src = liftIO $ catchBoolIO $ do - createDirectoryIfMissing True dest - withMeteredFile src p (L.writeFile dest) - return True - rollback = liftIO $ nukeFile dest retrieveExportDirectory :: FilePath -> Key -> ExportLocation -> FilePath -> MeterUpdate -> Annex (Bool, Verification) retrieveExportDirectory d _k loc dest p = unVerified $ liftIO $ catchBoolIO $ do |