aboutsummaryrefslogtreecommitdiff
path: root/Annex/Environment.hs
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2013-05-03 11:52:04 -0400
committerGravatar Joey Hess <joey@kitenet.net>2013-05-03 11:52:04 -0400
commit34f5e310d92904fe4ca0e802d73f7fdaae9673b6 (patch)
treef43e1f6cee64c176403e6526272ef0bb89be4899 /Annex/Environment.hs
parentda6faf0f3aa315d8d3c8b83fa59bba2d3beae28a (diff)
set EMAIL when GECOS workaround is needed
Git fails on Android, because it gets some weird domain for local host like "localhost.(none)". This works around that. I made it always set EMAIL when GECOS workaround was needed (unless EMAIL is already set). It might be nicer to try to get the hostname.domain as git does, and only set it if that fails. But I don't want to be stuck trying to exactly duplicate whatever git is doing.
Diffstat (limited to 'Annex/Environment.hs')
-rw-r--r--Annex/Environment.hs5
1 files changed, 4 insertions, 1 deletions
diff --git a/Annex/Environment.hs b/Annex/Environment.hs
index 357ad6958..9e5945360 100644
--- a/Annex/Environment.hs
+++ b/Annex/Environment.hs
@@ -1,6 +1,6 @@
{- git-annex environment
-
- - Copyright 2012 Joey Hess <joey@kitenet.net>
+ - Copyright 2012, 2013 Joey Hess <joey@kitenet.net>
-
- Licensed under the GNU GPL version 3 or higher.
-}
@@ -12,6 +12,7 @@ import Utility.UserInfo
import qualified Git.Config
import System.Posix.Env
+import Network.BSD
{- Checks that the system's environment allows git to function.
- Git requires a GECOS username, or suitable git configuration, or
@@ -29,3 +30,5 @@ checkEnvironmentIO = do
-- existing environment is not overwritten
setEnv "GIT_AUTHOR_NAME" username False
setEnv "GIT_COMMITTER_NAME" username False
+ hostname <- getHostName
+ setEnv "EMAIL" (username ++ "@" ++ hostname) False