summaryrefslogtreecommitdiff
path: root/Command/Sync.hs
diff options
context:
space:
mode:
Diffstat (limited to 'Command/Sync.hs')
-rw-r--r--Command/Sync.hs18
1 files changed, 9 insertions, 9 deletions
diff --git a/Command/Sync.hs b/Command/Sync.hs
index 103f93e32..130693909 100644
--- a/Command/Sync.hs
+++ b/Command/Sync.hs
@@ -174,15 +174,15 @@ commitMsg = do
return $ "git-annex in " ++ fromMaybe "unknown" (M.lookup u m)
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 commitmode False commitmessage branch
- (maybeToList parent)
- return True
+commitStaged commitmode commitmessage = do
+ runAnnexHook preCommitAnnexHook
+ mb <- inRepo Git.Branch.currentUnsafe
+ let (getparent, branch) = case mb of
+ Just b -> (Git.Ref.sha b, b)
+ Nothing -> (Git.Ref.headSha, Git.Ref.headRef)
+ parents <- maybeToList <$> inRepo getparent
+ void $ inRepo $ Git.Branch.commit commitmode False commitmessage branch parents
+ return True
mergeLocal :: Maybe Git.Ref -> CommandStart
mergeLocal Nothing = stop