diff --git a/Remote/Adb.hs b/Remote/Adb.hs index 8e99f1f749..13c1ebcbd4 100644 --- a/Remote/Adb.hs +++ b/Remote/Adb.hs @@ -71,6 +71,7 @@ gen r u c gc = do , remotetype = remote , availability = LocallyAvailable , readonly = False + , appendonly = False , mkUnavailable = return Nothing , getInfo = return [ ("androidserial", fromAndroidSerial serial) diff --git a/Remote/BitTorrent.hs b/Remote/BitTorrent.hs index 841166e86b..d4ccf87305 100644 --- a/Remote/BitTorrent.hs +++ b/Remote/BitTorrent.hs @@ -76,6 +76,7 @@ gen r _ c gc = do , localpath = Nothing , getRepo = return r , readonly = True + , appendonly = False , availability = GloballyAvailable , remotetype = remote , mkUnavailable = return Nothing diff --git a/Remote/Bup.hs b/Remote/Bup.hs index 024e06a1b5..b912783903 100644 --- a/Remote/Bup.hs +++ b/Remote/Bup.hs @@ -79,6 +79,7 @@ gen r u c gc = do , remotetype = remote , availability = if bupLocal buprepo then LocallyAvailable else GloballyAvailable , readonly = False + , appendonly = True , mkUnavailable = return Nothing , getInfo = return [("repo", buprepo)] , claimUrl = Nothing diff --git a/Remote/Ddar.hs b/Remote/Ddar.hs index 4a6af3e451..da4db9865e 100644 --- a/Remote/Ddar.hs +++ b/Remote/Ddar.hs @@ -78,6 +78,7 @@ gen r u c gc = do , remotetype = remote , availability = if ddarLocal ddarrepo then LocallyAvailable else GloballyAvailable , readonly = False + , appendonly = False , mkUnavailable = return Nothing , getInfo = return [("repo", ddarRepoLocation ddarrepo)] , claimUrl = Nothing diff --git a/Remote/Directory.hs b/Remote/Directory.hs index 2fcb05d93a..c8e41ea166 100644 --- a/Remote/Directory.hs +++ b/Remote/Directory.hs @@ -81,6 +81,7 @@ gen r u c gc = do , gitconfig = gc , localpath = Just dir , readonly = False + , appendonly = False , availability = LocallyAvailable , remotetype = remote , mkUnavailable = gen r u c $ diff --git a/Remote/External.hs b/Remote/External.hs index 1427d61456..292c716271 100644 --- a/Remote/External.hs +++ b/Remote/External.hs @@ -127,6 +127,7 @@ gen r u c gc , getRepo = return r , gitconfig = gc , readonly = False + , appendonly = False , availability = avail , remotetype = remote { exportSupported = cheapexportsupported } diff --git a/Remote/GCrypt.hs b/Remote/GCrypt.hs index 20c47334d4..e1bc92b103 100644 --- a/Remote/GCrypt.hs +++ b/Remote/GCrypt.hs @@ -127,6 +127,7 @@ gen' r u c gc = do , getRepo = return r , gitconfig = gc , readonly = Git.repoIsHttp r + , appendonly = False , availability = availabilityCalc r , remotetype = remote , mkUnavailable = return Nothing diff --git a/Remote/Git.hs b/Remote/Git.hs index 979e8db44d..295c1132c9 100644 --- a/Remote/Git.hs +++ b/Remote/Git.hs @@ -179,6 +179,7 @@ gen r u c gc , getRepo = getRepoFromState st , gitconfig = gc , readonly = Git.repoIsHttp r + , appendonly = False , availability = availabilityCalc r , remotetype = remote , mkUnavailable = unavailable r u c gc diff --git a/Remote/Glacier.hs b/Remote/Glacier.hs index ad5f2e24a7..c31edf249c 100644 --- a/Remote/Glacier.hs +++ b/Remote/Glacier.hs @@ -73,6 +73,7 @@ gen r u c gc = new <$> remoteCost gc veryExpensiveRemoteCost , gitconfig = gc , localpath = Nothing , readonly = False + , appendonly = False , availability = GloballyAvailable , remotetype = remote , mkUnavailable = return Nothing diff --git a/Remote/Hook.hs b/Remote/Hook.hs index a6e5339732..fb81a7e094 100644 --- a/Remote/Hook.hs +++ b/Remote/Hook.hs @@ -65,6 +65,7 @@ gen r u c gc = do , getRepo = return r , gitconfig = gc , readonly = False + , appendonly = False , availability = GloballyAvailable , remotetype = remote , mkUnavailable = gen r u c $ diff --git a/Remote/P2P.hs b/Remote/P2P.hs index c47a9e6327..3b3b0bf194 100644 --- a/Remote/P2P.hs +++ b/Remote/P2P.hs @@ -67,6 +67,7 @@ chainGen addr r u c gc = do , getRepo = return r , gitconfig = gc , readonly = False + , appendonly = False , availability = GloballyAvailable , remotetype = remote , mkUnavailable = return Nothing diff --git a/Remote/Rsync.hs b/Remote/Rsync.hs index 8f4e8ac55a..216fd0f7e4 100644 --- a/Remote/Rsync.hs +++ b/Remote/Rsync.hs @@ -95,6 +95,7 @@ gen r u c gc = do then Just $ rsyncUrl o else Nothing , readonly = False + , appendonly = False , availability = if islocal then LocallyAvailable else GloballyAvailable , remotetype = remote , mkUnavailable = return Nothing diff --git a/Remote/S3.hs b/Remote/S3.hs index 6de43a3ea2..a318e23229 100644 --- a/Remote/S3.hs +++ b/Remote/S3.hs @@ -110,6 +110,7 @@ gen r u c gc = do , gitconfig = gc , localpath = Nothing , readonly = False + , appendonly = False , availability = GloballyAvailable , remotetype = remote , mkUnavailable = gen r u (M.insert "host" "!dne!" c) gc diff --git a/Remote/Tahoe.hs b/Remote/Tahoe.hs index 5615c4849d..527121dc99 100644 --- a/Remote/Tahoe.hs +++ b/Remote/Tahoe.hs @@ -88,6 +88,7 @@ gen r u c gc = do , gitconfig = gc , localpath = Nothing , readonly = False + , appendonly = False , availability = GloballyAvailable , remotetype = remote , mkUnavailable = return Nothing diff --git a/Remote/Web.hs b/Remote/Web.hs index da849bcb85..047bb6ce3f 100644 --- a/Remote/Web.hs +++ b/Remote/Web.hs @@ -66,6 +66,7 @@ gen r _ c gc = do , localpath = Nothing , getRepo = return r , readonly = True + , appendonly = False , availability = GloballyAvailable , remotetype = remote , mkUnavailable = return Nothing diff --git a/Remote/WebDAV.hs b/Remote/WebDAV.hs index d8fc8bee4f..81ffc72d49 100644 --- a/Remote/WebDAV.hs +++ b/Remote/WebDAV.hs @@ -96,6 +96,7 @@ gen r u c gc = new <$> remoteCost gc expensiveRemoteCost , gitconfig = gc , localpath = Nothing , readonly = False + , appendonly = False , availability = GloballyAvailable , remotetype = remote , mkUnavailable = gen r u (M.insert "url" "http://!dne!/" c) gc diff --git a/Types/Remote.hs b/Types/Remote.hs index 65b353ed57..2097e25270 100644 --- a/Types/Remote.hs +++ b/Types/Remote.hs @@ -122,6 +122,9 @@ data RemoteA a = Remote , localpath :: Maybe FilePath -- a Remote can be known to be readonly , readonly :: Bool + -- a Remote can allow writes but not have a way to delete content + -- from it + , appendonly :: Bool -- a Remote can be globally available. (Ie, "in the cloud".) , availability :: Availability -- the type of the remote