From 66eb63dd820ade940b26b8eb00759d1b0f9242a0 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Tue, 4 Apr 2023 14:56:44 -0400 Subject: [PATCH] override rather than setting user.name and user.email Avoid setting user.name and user.email in the git config when git is unable to detect them. git-annex has good reason to want to ensure git commit succeeds when eg committing to the git-annex branch. But it's not playing nice to set these values where other commands can see them. Sponsored-by: Brett Eisenberg on Patreon --- Annex/Environment.hs | 11 ++++++----- CHANGELOG | 2 ++ 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/Annex/Environment.hs b/Annex/Environment.hs index 3da7ce980b..e0586ae78b 100644 --- a/Annex/Environment.hs +++ b/Annex/Environment.hs @@ -1,6 +1,6 @@ {- git-annex environment - - - Copyright 2012, 2013 Joey Hess + - Copyright 2012-2023 Joey Hess - - Licensed under the GNU AGPL version 3 or higher. -} @@ -10,9 +10,9 @@ module Annex.Environment where import Annex.Common +import qualified Annex import Utility.UserInfo import qualified Git.Config -import Config import Utility.Env.Set {- Checks that the system's environment allows git to function. @@ -41,12 +41,13 @@ checkEnvironmentIO = whenM (isNothing <$> myUserGecos) $ do ensureEnv var val = setEnv var val False {- Runs an action that commits to the repository, and if it fails, - - sets user.email and user.name to a dummy value and tries the action again. -} + - overrides user.email and user.name to a dummy value and tries + - the action again. -} ensureCommit :: Annex a -> Annex a ensureCommit a = either retry return =<< tryNonAsync a where retry _ = do name <- liftIO $ either (const "unknown") id <$> myUserName - setConfig "user.name" name - setConfig "user.email" name + Annex.addGitConfigOverride ("user.name=" ++ name) + Annex.addGitConfigOverride ("user.email=" ++ name) a diff --git a/CHANGELOG b/CHANGELOG index 2304c747c3..b8973b6636 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -5,6 +5,8 @@ git-annex (10.20230330) UNRELEASED; urgency=medium * Sped up sqlite inserts 2x when built with persistent 2.14.5.0 * Fix laziness bug introduced in last release that breaks use of --unlock-present and --hide-missing adjusted branches. + * Avoid setting user.name and user.email in the git config + when git is unable to detect them. -- Joey Hess Fri, 31 Mar 2023 12:48:54 -0400 -- 2.30.2