move remote removal into separate module
This allows using Git.Remote w/o needing to have Git.BuildVersion, which requires configure. It will simplify github-backup when these libraries are used there.
This commit is contained in:
parent
9ca3e14481
commit
20a497b181
5 changed files with 33 additions and 17 deletions
|
@ -18,6 +18,7 @@ import Assistant.DaemonStatus
|
||||||
import qualified Remote
|
import qualified Remote
|
||||||
import Remote.List
|
import Remote.List
|
||||||
import qualified Git.Remote
|
import qualified Git.Remote
|
||||||
|
import qualified Git.Remote.Remove
|
||||||
import Logs.Trust
|
import Logs.Trust
|
||||||
import qualified Annex
|
import qualified Annex
|
||||||
|
|
||||||
|
@ -34,7 +35,7 @@ disableRemote uuid = do
|
||||||
remote <- fromMaybe (error "unknown remote")
|
remote <- fromMaybe (error "unknown remote")
|
||||||
<$> liftAnnex (Remote.remoteFromUUID uuid)
|
<$> liftAnnex (Remote.remoteFromUUID uuid)
|
||||||
liftAnnex $ do
|
liftAnnex $ do
|
||||||
inRepo $ Git.Remote.remove (Remote.name remote)
|
inRepo $ Git.Remote.Remove.remove (Remote.name remote)
|
||||||
void $ remoteListRefresh
|
void $ remoteListRefresh
|
||||||
updateSyncRemotes
|
updateSyncRemotes
|
||||||
return remote
|
return remote
|
||||||
|
|
|
@ -25,7 +25,7 @@ import Assistant.WebApp.RepoList
|
||||||
import Assistant.WebApp.Configurators
|
import Assistant.WebApp.Configurators
|
||||||
import Assistant.XMPP
|
import Assistant.XMPP
|
||||||
#endif
|
#endif
|
||||||
import qualified Git.Remote
|
import qualified Git.Remote.Remove
|
||||||
import Remote.List
|
import Remote.List
|
||||||
import Creds
|
import Creds
|
||||||
|
|
||||||
|
@ -211,7 +211,7 @@ getDisconnectXMPPR = do
|
||||||
rs <- filter Remote.isXMPPRemote . syncRemotes
|
rs <- filter Remote.isXMPPRemote . syncRemotes
|
||||||
<$> liftAssistant getDaemonStatus
|
<$> liftAssistant getDaemonStatus
|
||||||
liftAnnex $ do
|
liftAnnex $ do
|
||||||
mapM_ (inRepo . Git.Remote.remove . Remote.name) rs
|
mapM_ (inRepo . Git.Remote.Remove.remove . Remote.name) rs
|
||||||
void remoteListRefresh
|
void remoteListRefresh
|
||||||
removeCreds xmppCredsFile
|
removeCreds xmppCredsFile
|
||||||
liftAssistant $ do
|
liftAssistant $ do
|
||||||
|
|
|
@ -14,6 +14,7 @@ import Assistant.Gpg
|
||||||
import Utility.Gpg
|
import Utility.Gpg
|
||||||
import qualified Git.Command
|
import qualified Git.Command
|
||||||
import qualified Git.Remote
|
import qualified Git.Remote
|
||||||
|
import qualified Git.Remote.Remove
|
||||||
import qualified Git.Construct
|
import qualified Git.Construct
|
||||||
import qualified Annex.Branch
|
import qualified Annex.Branch
|
||||||
import qualified Git.GCrypt
|
import qualified Git.GCrypt
|
||||||
|
@ -76,7 +77,7 @@ getGCryptRemoteName u repoloc = do
|
||||||
(M.lookup "name" <=< M.lookup u) <$> readRemoteLog
|
(M.lookup "name" <=< M.lookup u) <$> readRemoteLog
|
||||||
, return Nothing
|
, return Nothing
|
||||||
)
|
)
|
||||||
void $ inRepo $ Git.Remote.remove tmpremote
|
void $ inRepo $ Git.Remote.Remove.remove tmpremote
|
||||||
maybe missing return mname
|
maybe missing return mname
|
||||||
where
|
where
|
||||||
missing = error $ "Cannot find configuration for the gcrypt remote at " ++ repoloc
|
missing = error $ "Cannot find configuration for the gcrypt remote at " ++ repoloc
|
||||||
|
|
|
@ -12,8 +12,6 @@ module Git.Remote where
|
||||||
import Common
|
import Common
|
||||||
import Git
|
import Git
|
||||||
import Git.Types
|
import Git.Types
|
||||||
import qualified Git.Command
|
|
||||||
import qualified Git.BuildVersion
|
|
||||||
|
|
||||||
import Data.Char
|
import Data.Char
|
||||||
import qualified Data.Map as M
|
import qualified Data.Map as M
|
||||||
|
@ -44,17 +42,6 @@ makeLegalName s = case filter legal $ replace "/" "_" s of
|
||||||
legal '.' = True
|
legal '.' = True
|
||||||
legal c = isAlphaNum c
|
legal c = isAlphaNum c
|
||||||
|
|
||||||
remove :: RemoteName -> Repo -> IO ()
|
|
||||||
remove remotename = Git.Command.run
|
|
||||||
[ Param "remote"
|
|
||||||
-- name of this subcommand changed
|
|
||||||
, Param $
|
|
||||||
if Git.BuildVersion.older "1.8.0"
|
|
||||||
then "rm"
|
|
||||||
else "remove"
|
|
||||||
, Param remotename
|
|
||||||
]
|
|
||||||
|
|
||||||
data RemoteLocation = RemoteUrl String | RemotePath FilePath
|
data RemoteLocation = RemoteUrl String | RemotePath FilePath
|
||||||
|
|
||||||
remoteLocationIsUrl :: RemoteLocation -> Bool
|
remoteLocationIsUrl :: RemoteLocation -> Bool
|
||||||
|
|
27
Git/Remote/Remove.hs
Normal file
27
Git/Remote/Remove.hs
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
{- git remote stuff
|
||||||
|
-
|
||||||
|
- Copyright 2012 Joey Hess <joey@kitenet.net>
|
||||||
|
-
|
||||||
|
- Licensed under the GNU GPL version 3 or higher.
|
||||||
|
-}
|
||||||
|
|
||||||
|
{-# LANGUAGE CPP #-}
|
||||||
|
|
||||||
|
module Git.Remote.Remove where
|
||||||
|
|
||||||
|
import Common
|
||||||
|
import Git
|
||||||
|
import Git.Types
|
||||||
|
import qualified Git.Command
|
||||||
|
import qualified Git.BuildVersion
|
||||||
|
|
||||||
|
remove :: RemoteName -> Repo -> IO ()
|
||||||
|
remove remotename = Git.Command.run
|
||||||
|
[ Param "remote"
|
||||||
|
-- name of this subcommand changed
|
||||||
|
, Param $
|
||||||
|
if Git.BuildVersion.older "1.8.0"
|
||||||
|
then "rm"
|
||||||
|
else "remove"
|
||||||
|
, Param remotename
|
||||||
|
]
|
Loading…
Reference in a new issue