set up git email config in clone repos too when running test

This fixes the problem of the environment variables apparently not being
seen on Windows. I could probably remove the setting of the env vars from
Test.hs now as this covers it better.

Note that outside the test suite, git-annex on windows seems to manage to
configure the repo so commits work on its own.
This commit is contained in:
Joey Hess 2014-02-04 14:23:41 -04:00
parent 83e6fb7319
commit 5d7777cbe2
2 changed files with 9 additions and 9 deletions

13
Test.hs
View file

@ -948,7 +948,8 @@ test_rsync_remote env = intmpclonerepo env $ do
not <$> git_annex env "drop" [annexedfile, "--numcopies=2"] @? "drop failed to fail"
annexed_present annexedfile
#else
-- this test doesn't work in Windows TODO
-- Rsync remotes with a rsyncurl of a directory do not currently
-- work on Windows.
noop
#endif
@ -1140,9 +1141,7 @@ setuprepo env dir = do
cleanup dir
ensuretmpdir
boolSystem "git" [Params "init -q", File dir] @? "git init failed"
indir env dir $ do
boolSystem "git" [Params "config user.name", Param "Test User"] @? "git config failed"
boolSystem "git" [Params "config user.email test@example.com"] @? "git config failed"
configrepo env dir
return dir
-- clones are always done as local clones; we cannot test ssh clones
@ -1154,11 +1153,17 @@ clonerepo env old new bare = do
boolSystem "git" [Params ("clone -q" ++ b), File old, File new] @? "git clone failed"
indir env new $
git_annex env "init" ["-q", new] @? "git annex init failed"
configrepo env new
when (not bare) $
indir env new $
handleforcedirect env
return new
configrepo :: TestEnv -> FilePath -> IO ()
configrepo env dir = indir env dir $ do
boolSystem "git" [Params "config user.name", Param "Test User"] @? "git config failed"
boolSystem "git" [Params "config user.email test@example.com"] @? "git config failed"
handleforcedirect :: TestEnv -> IO ()
handleforcedirect env = when (M.lookup "FORCEDIRECT" env == Just "1") $
git_annex env "direct" ["-q"] @? "git annex direct failed"