rclone special remote
Added rclone special remote, which can be used without needing to install the git-annex-remote-rclone program. This needs a new version of rclone, which supports "rclone gitannex". This is implemented as a variant of an external special remote, that runs "rclone gitannex" instead of the usual git-annex-remote- command. Parameterized Remote.External to support that. Sponsored-by: Luke T. Shumaker on Patreon
This commit is contained in:
parent
5c542c0382
commit
d372553540
10 changed files with 114 additions and 48 deletions
31
Remote/Rclone.hs
Normal file
31
Remote/Rclone.hs
Normal file
|
@ -0,0 +1,31 @@
|
|||
{- Rclone special remote, using "rclone gitannex"
|
||||
-
|
||||
- Copyright 2024 Joey Hess <id@joeyh.name>
|
||||
-
|
||||
- Licensed under the GNU AGPL version 3 or higher.
|
||||
-}
|
||||
|
||||
module Remote.Rclone (remote) where
|
||||
|
||||
import Types
|
||||
import Types.Remote
|
||||
import Remote.Helper.Special
|
||||
import Remote.Helper.ExportImport
|
||||
import Utility.SafeCommand
|
||||
import qualified Remote.External as External
|
||||
import Remote.External.Types
|
||||
|
||||
remote :: RemoteType
|
||||
remote = specialRemoteType $ RemoteType
|
||||
{ typename = "rclone"
|
||||
, enumerate = const (findSpecialRemotes "rclone")
|
||||
, generate = External.gen remote p
|
||||
, configParser = External.remoteConfigParser p
|
||||
, setup = External.externalSetup p setgitconfig
|
||||
, exportSupported = External.checkExportSupported p
|
||||
, importSupported = importUnsupported
|
||||
, thirdPartyPopulated = False
|
||||
}
|
||||
where
|
||||
p = Just $ ExternalCommand "rclone" [Param "gitannex"]
|
||||
setgitconfig = Just ("rclone", "true")
|
Loading…
Add table
Add a link
Reference in a new issue