From 20a497b181f73e29f4e5935126a542dfe05b259c Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 27 Oct 2014 11:24:21 -0400 Subject: [PATCH] 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. --- Assistant/DeleteRemote.hs | 3 ++- Assistant/WebApp/Configurators/XMPP.hs | 4 ++-- Assistant/WebApp/Gpg.hs | 3 ++- Git/Remote.hs | 13 ------------- Git/Remote/Remove.hs | 27 ++++++++++++++++++++++++++ 5 files changed, 33 insertions(+), 17 deletions(-) create mode 100644 Git/Remote/Remove.hs diff --git a/Assistant/DeleteRemote.hs b/Assistant/DeleteRemote.hs index a900753a79..968b214c10 100644 --- a/Assistant/DeleteRemote.hs +++ b/Assistant/DeleteRemote.hs @@ -18,6 +18,7 @@ import Assistant.DaemonStatus import qualified Remote import Remote.List import qualified Git.Remote +import qualified Git.Remote.Remove import Logs.Trust import qualified Annex @@ -34,7 +35,7 @@ disableRemote uuid = do remote <- fromMaybe (error "unknown remote") <$> liftAnnex (Remote.remoteFromUUID uuid) liftAnnex $ do - inRepo $ Git.Remote.remove (Remote.name remote) + inRepo $ Git.Remote.Remove.remove (Remote.name remote) void $ remoteListRefresh updateSyncRemotes return remote diff --git a/Assistant/WebApp/Configurators/XMPP.hs b/Assistant/WebApp/Configurators/XMPP.hs index cabae9dbd3..ab2d183758 100644 --- a/Assistant/WebApp/Configurators/XMPP.hs +++ b/Assistant/WebApp/Configurators/XMPP.hs @@ -25,7 +25,7 @@ import Assistant.WebApp.RepoList import Assistant.WebApp.Configurators import Assistant.XMPP #endif -import qualified Git.Remote +import qualified Git.Remote.Remove import Remote.List import Creds @@ -211,7 +211,7 @@ getDisconnectXMPPR = do rs <- filter Remote.isXMPPRemote . syncRemotes <$> liftAssistant getDaemonStatus liftAnnex $ do - mapM_ (inRepo . Git.Remote.remove . Remote.name) rs + mapM_ (inRepo . Git.Remote.Remove.remove . Remote.name) rs void remoteListRefresh removeCreds xmppCredsFile liftAssistant $ do diff --git a/Assistant/WebApp/Gpg.hs b/Assistant/WebApp/Gpg.hs index e7946d1bb7..fa20db2f4b 100644 --- a/Assistant/WebApp/Gpg.hs +++ b/Assistant/WebApp/Gpg.hs @@ -14,6 +14,7 @@ import Assistant.Gpg import Utility.Gpg import qualified Git.Command import qualified Git.Remote +import qualified Git.Remote.Remove import qualified Git.Construct import qualified Annex.Branch import qualified Git.GCrypt @@ -76,7 +77,7 @@ getGCryptRemoteName u repoloc = do (M.lookup "name" <=< M.lookup u) <$> readRemoteLog , return Nothing ) - void $ inRepo $ Git.Remote.remove tmpremote + void $ inRepo $ Git.Remote.Remove.remove tmpremote maybe missing return mname where missing = error $ "Cannot find configuration for the gcrypt remote at " ++ repoloc diff --git a/Git/Remote.hs b/Git/Remote.hs index 7e8e5f8171..156e30891e 100644 --- a/Git/Remote.hs +++ b/Git/Remote.hs @@ -12,8 +12,6 @@ module Git.Remote where import Common import Git import Git.Types -import qualified Git.Command -import qualified Git.BuildVersion import Data.Char import qualified Data.Map as M @@ -44,17 +42,6 @@ makeLegalName s = case filter legal $ replace "/" "_" s of legal '.' = True 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 remoteLocationIsUrl :: RemoteLocation -> Bool diff --git a/Git/Remote/Remove.hs b/Git/Remote/Remove.hs new file mode 100644 index 0000000000..949019b220 --- /dev/null +++ b/Git/Remote/Remove.hs @@ -0,0 +1,27 @@ +{- git remote stuff + - + - Copyright 2012 Joey Hess + - + - 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 + ]