make storeKey throw exceptions
When storing content on remote fails, always display a reason why. Since the Storer used by special remotes already did, this mostly affects git remotes, but not entirely. For example, if git-lfs failed to connect to the endpoint, it used to silently return False.
This commit is contained in:
parent
b50ee9cd0c
commit
c1cd402081
34 changed files with 214 additions and 197 deletions
|
@ -84,7 +84,8 @@ data RemoteA a = Remote
|
|||
-- Transfers a key's contents from disk to the remote.
|
||||
-- The key should not appear to be present on the remote until
|
||||
-- all of its contents have been transferred.
|
||||
, storeKey :: Key -> AssociatedFile -> MeterUpdate -> a Bool
|
||||
-- Throws exception on failure.
|
||||
, storeKey :: Key -> AssociatedFile -> MeterUpdate -> a ()
|
||||
-- Retrieves a key's contents to a file.
|
||||
-- (The MeterUpdate does not need to be used if it writes
|
||||
-- sequentially to the file.)
|
||||
|
|
|
@ -23,7 +23,7 @@ isByteContent (FileContent _) = False
|
|||
|
||||
-- Action that stores a Key's content on a remote.
|
||||
-- Can throw exceptions.
|
||||
type Storer = Key -> ContentSource -> MeterUpdate -> Annex Bool
|
||||
type Storer = Key -> ContentSource -> MeterUpdate -> Annex ()
|
||||
|
||||
-- Action that retrieves a Key's content from a remote, passing it to a
|
||||
-- callback, which will fully consume the content before returning.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue