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 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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
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