diff options
author | 2015-07-07 15:45:41 -0400 | |
---|---|---|
committer | 2015-07-07 15:53:27 -0400 | |
commit | deb66de37f3e590ba70c062399c659b366e1d1f6 (patch) | |
tree | b50cee1e4d6d501c34a58412fbd5c0c8689ed065 /Command/Sync.hs | |
parent | 6621e07eb527098d9a8bc6dd9a3576a1a27b3563 (diff) |
merge: Avoid creating the synced/master branch.
The branch needs to be created when merging from the remote in sync,
since we diff between it and the remote's sync branch. But git annex merge
should not be creating sync branches.
Diffstat (limited to 'Command/Sync.hs')
-rw-r--r-- | Command/Sync.hs | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/Command/Sync.hs b/Command/Sync.hs index 958f034c8..403b463b0 100644 --- a/Command/Sync.hs +++ b/Command/Sync.hs @@ -194,10 +194,10 @@ mergeLocal (Just branch) = go =<< needmerge syncbranch = syncBranch branch needmerge = ifM isBareRepo ( return False - , do - unlessM (inRepo $ Git.Ref.exists syncbranch) $ - inRepo $ updateBranch syncbranch - inRepo $ Git.Branch.changed branch syncbranch + , ifM (inRepo $ Git.Ref.exists syncbranch) + ( inRepo $ Git.Branch.changed branch syncbranch + , return False + ) ) go False = stop go True = do @@ -254,7 +254,8 @@ mergeRemote remote b = ifM isBareRepo Nothing -> do branch <- inRepo Git.Branch.currentUnsafe and <$> mapM (merge Nothing) (branchlist branch) - Just thisbranch -> + Just thisbranch -> do + inRepo $ updateBranch $ syncBranch thisbranch and <$> (mapM (merge (Just thisbranch)) =<< tomerge (branchlist b)) ) where |