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
This commit is contained in:
parent
68a0491f83
commit
66eb63dd82
2 changed files with 8 additions and 5 deletions
|
@ -1,6 +1,6 @@
|
||||||
{- git-annex environment
|
{- git-annex environment
|
||||||
-
|
-
|
||||||
- Copyright 2012, 2013 Joey Hess <id@joeyh.name>
|
- Copyright 2012-2023 Joey Hess <id@joeyh.name>
|
||||||
-
|
-
|
||||||
- Licensed under the GNU AGPL version 3 or higher.
|
- Licensed under the GNU AGPL version 3 or higher.
|
||||||
-}
|
-}
|
||||||
|
@ -10,9 +10,9 @@
|
||||||
module Annex.Environment where
|
module Annex.Environment where
|
||||||
|
|
||||||
import Annex.Common
|
import Annex.Common
|
||||||
|
import qualified Annex
|
||||||
import Utility.UserInfo
|
import Utility.UserInfo
|
||||||
import qualified Git.Config
|
import qualified Git.Config
|
||||||
import Config
|
|
||||||
import Utility.Env.Set
|
import Utility.Env.Set
|
||||||
|
|
||||||
{- Checks that the system's environment allows git to function.
|
{- 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
|
ensureEnv var val = setEnv var val False
|
||||||
|
|
||||||
{- Runs an action that commits to the repository, and if it fails,
|
{- 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 :: Annex a -> Annex a
|
||||||
ensureCommit a = either retry return =<< tryNonAsync a
|
ensureCommit a = either retry return =<< tryNonAsync a
|
||||||
where
|
where
|
||||||
retry _ = do
|
retry _ = do
|
||||||
name <- liftIO $ either (const "unknown") id <$> myUserName
|
name <- liftIO $ either (const "unknown") id <$> myUserName
|
||||||
setConfig "user.name" name
|
Annex.addGitConfigOverride ("user.name=" ++ name)
|
||||||
setConfig "user.email" name
|
Annex.addGitConfigOverride ("user.email=" ++ name)
|
||||||
a
|
a
|
||||||
|
|
|
@ -5,6 +5,8 @@ git-annex (10.20230330) UNRELEASED; urgency=medium
|
||||||
* Sped up sqlite inserts 2x when built with persistent 2.14.5.0
|
* Sped up sqlite inserts 2x when built with persistent 2.14.5.0
|
||||||
* Fix laziness bug introduced in last release that breaks use
|
* Fix laziness bug introduced in last release that breaks use
|
||||||
of --unlock-present and --hide-missing adjusted branches.
|
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 <id@joeyh.name> Fri, 31 Mar 2023 12:48:54 -0400
|
-- Joey Hess <id@joeyh.name> Fri, 31 Mar 2023 12:48:54 -0400
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue