summaryrefslogtreecommitdiff
path: root/Annex/Environment.hs
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2014-04-20 14:17:57 -0400
committerGravatar Joey Hess <joey@kitenet.net>2014-04-20 14:17:57 -0400
commit7ed6a5520cee91fc9ccd6105e938a3dd7b88dca0 (patch)
treec27033b5670cd1db318038055a95239f12a38540 /Annex/Environment.hs
parent91bd27cad38f58c81bb50dbf7d37cc792937463b (diff)
When init detects that git is not configured to commit, and sets user.email to work around the problem, also make it set user.name.
I was able to reproduce git failing to commit despite user.email being set, in a test account on my laptop. The account had no GECOS information.
Diffstat (limited to 'Annex/Environment.hs')
-rw-r--r--Annex/Environment.hs6
1 files changed, 4 insertions, 2 deletions
diff --git a/Annex/Environment.hs b/Annex/Environment.hs
index f22c5f2d4..4b8d38464 100644
--- a/Annex/Environment.hs
+++ b/Annex/Environment.hs
@@ -56,10 +56,12 @@ checkEnvironmentIO =
#endif
{- Runs an action that commits to the repository, and if it fails,
- - sets user.email to a dummy value and tries the action again. -}
+ - sets user.email and user.name to a dummy value and tries the action again. -}
ensureCommit :: Annex a -> Annex a
ensureCommit a = either retry return =<< tryAnnex a
where
retry _ = do
- setConfig (ConfigKey "user.email") =<< liftIO myUserName
+ name <- liftIO myUserName
+ setConfig (ConfigKey "user.name") name
+ setConfig (ConfigKey "user.email") name
a