From f9cd3f6ad18ca04a1da7082c6c10215dc5435154 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 12 Dec 2011 02:31:07 -0400 Subject: [PATCH] optimisation avoids a useless diff from git-annex..refs/heads/git-annex --- Annex/Branch.hs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Annex/Branch.hs b/Annex/Branch.hs index b108281ce7..e6c92fbe54 100644 --- a/Annex/Branch.hs +++ b/Annex/Branch.hs @@ -213,7 +213,7 @@ update = onceonly $ do create -- check what needs updating before taking the lock dirty <- journalDirty - c <- filterM (changedBranch name . snd) =<< siblingBranches + c <- filterM (changedBranch fullname . snd) =<< siblingBranches let (refs, branches) = unzip c if (not dirty && null refs) then simpleupdate @@ -244,7 +244,9 @@ update = onceonly $ do {- Checks if the second branch has any commits not present on the first - branch. -} changedBranch :: Git.Branch -> Git.Branch -> Annex Bool -changedBranch origbranch newbranch = not . L.null <$> diffs +changedBranch origbranch newbranch + | origbranch == newbranch = return False + | otherwise = not . L.null <$> diffs where diffs = inRepo $ Git.pipeRead [ Param "log"