From 557a6e11a6b69eeffab20fe6b35b592ad3835b19 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Mon, 16 Nov 2020 14:31:02 -0400 Subject: [PATCH] avoid spurious blank line when updating adjusted branch git checkout run with --quiet should have no output --- Annex/AdjustedBranch.hs | 21 ++++++++++----------- doc/git-annex.mdwn | 11 ++++++----- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/Annex/AdjustedBranch.hs b/Annex/AdjustedBranch.hs index 14467565aa..4b28b04b85 100644 --- a/Annex/AdjustedBranch.hs +++ b/Annex/AdjustedBranch.hs @@ -223,19 +223,19 @@ enterAdjustedBranch adj = inRepo Git.Branch.current >>= \case , do b <- preventCommits $ const $ adjustBranch adj origbranch - checkoutAdjustedBranch b [] + checkoutAdjustedBranch b False ) -checkoutAdjustedBranch :: AdjBranch -> [CommandParam] -> Annex Bool -checkoutAdjustedBranch (AdjBranch b) checkoutparams = do - showOutput -- checkout can have output in large repos +checkoutAdjustedBranch :: AdjBranch -> Bool -> Annex Bool +checkoutAdjustedBranch (AdjBranch b) quietcheckout = do + -- checkout can have output in large repos + unless quietcheckout + showOutput inRepo $ Git.Command.runBool $ [ Param "checkout" , Param $ fromRef $ Git.Ref.base b - -- always show checkout progress, even if --quiet is used - -- to suppress other messages - , Param "--progress" - ] ++ checkoutparams + , if quietcheckout then Param "--quiet" else Param "--progress" + ] {- Already in a branch with this adjustment, but the user asked to enter it - again. This should have the same result as propagating any commits @@ -265,7 +265,7 @@ updateAdjustedBranch adj (AdjBranch currbranch) origbranch -- Make git checkout quiet to avoid warnings about -- disconnected branch tips being lost. - checkoutAdjustedBranch b [Param "--quiet"] + checkoutAdjustedBranch b True | otherwise = preventCommits $ \commitlck -> do -- Done for consistency. _ <- propigateAdjustedCommits' origbranch adj commitlck @@ -302,7 +302,6 @@ adjustedBranchRefresh _af a = do checkcounter n -- Special case, 1 (or true) refreshes only at shutdown. | n == 1 = pure False - | n == 2 = pure True | otherwise = Annex.withState $ \s -> let !c = Annex.adjustedbranchrefreshcounter s + 1 !enough = c >= pred n @@ -337,7 +336,7 @@ adjustToCrippledFileSystem = do _ -> do let adjbranch = originalToAdjusted currbranch adj ifM (inRepo (Git.Ref.exists $ adjBranch adjbranch)) - ( unlessM (checkoutAdjustedBranch adjbranch []) $ + ( unlessM (checkoutAdjustedBranch adjbranch False) $ failedenter , unlessM (enterAdjustedBranch adj) $ failedenter diff --git a/doc/git-annex.mdwn b/doc/git-annex.mdwn index 1c49bf408b..d19f333c09 100644 --- a/doc/git-annex.mdwn +++ b/doc/git-annex.mdwn @@ -1023,11 +1023,12 @@ Like other git commands, git-annex is configured via `.git/config`. controls how frequently the branch is refreshed. Refreshing the branch takes some time, so doing it after every file - can be too slow. The default value is 0 (or false), which does not - refresh the branch. 1 (or true) will refresh once, after git-annex - has made other changes. Higher values refresh after approximately that - many files need to be updated. Ie, 2 refreshes after every file, - and 100 after every 99 files. + can be too slow. (It also can generate a lot of dangling git objects.) + The default value is 0 (or false), which does not + refresh the branch. Setting 1 (or true) will refresh only once, + after git-annex has made other changes. Setting 2 refreshes after every + file, 3 after every other file, and so on; setting 100 refreshes after + every 99 files. (If git-annex gets faster in the future, refresh rates will increase proportional to the speed improvements.)