diff --git a/Command/Sync.hs b/Command/Sync.hs index 958f034c86..403b463b0c 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 diff --git a/debian/changelog b/debian/changelog index e8264a4a94..45619ea2ab 100644 --- a/debian/changelog +++ b/debian/changelog @@ -22,6 +22,7 @@ git-annex (5.20150618) UNRELEASED; urgency=medium * On linux, pass --as-needed to linker to avoid linking with unused shared libraries including libyaml. * import: Fix failure of cross-device import on Windows. + * merge: Avoid creating the synced/master branch. -- Joey Hess Thu, 02 Jul 2015 12:31:14 -0400 diff --git a/doc/forum/annex_merge_creates___34__synced__47____42____34___branches/comment_5_39009651c3f65e2ecd225e17d157c8d8._comment b/doc/forum/annex_merge_creates___34__synced__47____42____34___branches/comment_5_39009651c3f65e2ecd225e17d157c8d8._comment new file mode 100644 index 0000000000..488f3ae7b3 --- /dev/null +++ b/doc/forum/annex_merge_creates___34__synced__47____42____34___branches/comment_5_39009651c3f65e2ecd225e17d157c8d8._comment @@ -0,0 +1,10 @@ +[[!comment format=mdwn + username="joey" + subject="""comment 5""" + date="2015-07-07T19:20:17Z" + content=""" +So, I was wrong about `git annex merge` creating the synced/master branch. + +There's no good reason for it to do that, so I've fixed it not to create +it. +"""]]