git-annex/Command/Merge.hs
Joey Hess 7c20bf6e7a
make sync aware of adjusted branches
So, it will pull and push the original branch, not the adjusted one.

And, for merging, it will use updateAdjustedBranch (not implemented yet).

Note that remaining uses of Git.Branch.current need to be checked too;
for things that should act on the original branch, and not the adjusted
branch.
2016-02-29 15:23:08 -04:00

36 lines
818 B
Haskell

{- git-annex command
-
- Copyright 2011, 2013 Joey Hess <id@joeyh.name>
-
- Licensed under the GNU GPL version 3 or higher.
-}
module Command.Merge where
import Command
import qualified Annex.Branch
import Command.Sync (prepMerge, mergeLocal, getCurrBranch)
cmd :: Command
cmd = command "merge" SectionMaintenance
"automatically merge changes from remotes"
paramNothing (withParams seek)
seek :: CmdParams -> CommandSeek
seek ps = do
withNothing mergeBranch ps
withNothing mergeSynced ps
mergeBranch :: CommandStart
mergeBranch = do
showStart "merge" "git-annex"
next $ do
Annex.Branch.update
-- commit explicitly, in case no remote branches were merged
Annex.Branch.commit "update"
next $ return True
mergeSynced :: CommandStart
mergeSynced = do
prepMerge
mergeLocal =<< join getCurrBranch