diff options
Diffstat (limited to 'Command/Sync.hs')
-rw-r--r-- | Command/Sync.hs | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/Command/Sync.hs b/Command/Sync.hs index e7da229a0..ca823c736 100644 --- a/Command/Sync.hs +++ b/Command/Sync.hs @@ -39,6 +39,7 @@ def = [command "sync" (paramOptional (paramRepeating paramRemote)) -- syncing involves several operations, any of which can independently fail seek :: CommandSeek seek rs = do + prepMerge branch <- fromMaybe nobranch <$> inRepo Git.Branch.current remotes <- syncRemotes rs return $ concat @@ -52,6 +53,11 @@ seek rs = do where nobranch = error "no branch is checked out" +{- Merging may delete the current directory, so go to the top + - of the repo. -} +prepMerge :: Annex () +prepMerge = liftIO . setCurrentDirectory =<< fromRepo Git.repoPath + syncBranch :: Git.Ref -> Git.Ref syncBranch = Git.Ref.under "refs/heads/synced/" |