diff options
Diffstat (limited to 'Command')
-rw-r--r-- | Command/Direct.hs | 7 | ||||
-rw-r--r-- | Command/Indirect.hs | 7 | ||||
-rw-r--r-- | Command/Sync.hs | 18 | ||||
-rw-r--r-- | Command/Unannex.hs | 6 |
4 files changed, 17 insertions, 21 deletions
diff --git a/Command/Direct.hs b/Command/Direct.hs index 9727549b6..a5165a4a2 100644 --- a/Command/Direct.hs +++ b/Command/Direct.hs @@ -12,8 +12,8 @@ import Control.Exception.Extensible import Common.Annex import Command import qualified Git -import qualified Git.Command import qualified Git.LsFiles +import qualified Git.Branch import Config import Annex.Direct import Annex.Exception @@ -33,9 +33,8 @@ perform :: CommandPerform perform = do showStart "commit" "" showOutput - _ <- inRepo $ Git.Command.runBool - [ Param "commit" - , Param "-a" + _ <- inRepo $ Git.Branch.commitCommand Git.Branch.ManualCommit + [ Param "-a" , Param "-m" , Param "commit before switching to direct mode" ] diff --git a/Command/Indirect.hs b/Command/Indirect.hs index acf40c974..4ce4c2c38 100644 --- a/Command/Indirect.hs +++ b/Command/Indirect.hs @@ -12,7 +12,7 @@ import Control.Exception.Extensible import Common.Annex import Command import qualified Git -import qualified Git.Command +import qualified Git.Branch import qualified Git.LsFiles import Git.FileMode import Config @@ -49,9 +49,8 @@ perform = do showStart "commit" "" whenM stageDirect $ do showOutput - void $ inRepo $ Git.Command.runBool - [ Param "commit" - , Param "-m" + void $ inRepo $ Git.Branch.commitCommand Git.Branch.ManualCommit + [ Param "-m" , Param "commit before switching to indirect mode" ] showEndOk diff --git a/Command/Sync.hs b/Command/Sync.hs index 983689118..50c6fbe69 100644 --- a/Command/Sync.hs +++ b/Command/Sync.hs @@ -127,14 +127,12 @@ commit = next $ next $ ifM isDirect showStart "commit" "" void stageDirect void preCommitDirect - commitStaged commitmessage + commitStaged Git.Branch.ManualCommit commitmessage , do showStart "commit" "" Annex.Branch.commit "update" - -- Commit will fail when the tree is clean, so ignore failure. - _ <- inRepo $ tryIO . Git.Command.runQuiet - [ Param "commit" - , Param "-a" + inRepo $ Git.Branch.commitQuiet Git.Branch.ManualCommit + [ Param "-a" , Param "-m" , Param commitmessage ] @@ -143,14 +141,14 @@ commit = next $ next $ ifM isDirect where commitmessage = "git-annex automatic sync" -commitStaged :: String -> Annex Bool -commitStaged commitmessage = go =<< inRepo Git.Branch.currentUnsafe +commitStaged :: Git.Branch.CommitMode -> String -> Annex Bool +commitStaged commitmode commitmessage = go =<< inRepo Git.Branch.currentUnsafe where go Nothing = return False go (Just branch) = do runAnnexHook preCommitAnnexHook parent <- inRepo $ Git.Ref.sha branch - void $ inRepo $ Git.Branch.commit False commitmessage branch + void $ inRepo $ Git.Branch.commit commitmode False commitmessage branch (maybeToList parent) return True @@ -169,7 +167,7 @@ mergeLocal (Just branch) = go =<< needmerge go False = stop go True = do showStart "merge" $ Git.Ref.describe syncbranch - next $ next $ autoMergeFrom syncbranch (Just branch) + next $ next $ autoMergeFrom syncbranch (Just branch) Git.Branch.ManualCommit pushLocal :: Maybe Git.Ref -> CommandStart pushLocal b = do @@ -221,7 +219,7 @@ mergeRemote remote b = case b of Just thisbranch -> and <$> (mapM (merge (Just thisbranch)) =<< tomerge (branchlist b)) where - merge thisbranch = flip autoMergeFrom thisbranch . remoteBranch remote + merge thisbranch br = autoMergeFrom (remoteBranch remote br) thisbranch Git.Branch.ManualCommit tomerge = filterM (changed remote) branchlist Nothing = [] branchlist (Just branch) = [branch, syncBranch branch] diff --git a/Command/Unannex.hs b/Command/Unannex.hs index daa14ce85..9cb88564c 100644 --- a/Command/Unannex.hs +++ b/Command/Unannex.hs @@ -16,6 +16,7 @@ import qualified Annex import Annex.Content import Annex.Content.Direct import qualified Git.Command +import qualified Git.Branch import qualified Git.Ref import qualified Git.DiffTree as DiffTree import Utility.CopyFile @@ -45,9 +46,8 @@ wrapUnannex a = ifM isDirect ) ) where - commit = inRepo $ Git.Command.run - [ Param "commit" - , Param "-q" + commit = inRepo $ Git.Branch.commitCommand Git.Branch.ManualCommit + [ Param "-q" , Param "--allow-empty" , Param "--no-verify" , Param "-m", Param "content removed from git annex" |