From c142696c587100b195accec4e9bfaa26cde73d48 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Fri, 23 Oct 2020 13:36:56 -0400 Subject: [PATCH] pass --git-dir, rather than changing cwd If .git is a gitlink file, setting cwd to it will fail, but --git-dir will succeed. And this is the only place where it sets cwd when running git, everywhere else already uses --git-dir. Note that, git-annex's submodule fixup code usually converts gitlink files to symlinks, so this wasn't usually problem. Still, worth fixing. This commit was sponsored by Svenne Krap on Patreon. --- Git/Config.hs | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/Git/Config.hs b/Git/Config.hs index 45cf4aa8fb..db1bc3c19b 100644 --- a/Git/Config.hs +++ b/Git/Config.hs @@ -61,10 +61,15 @@ read' repo = go repo go _ = assertLocal repo $ error "internal" git_config d = withCreateProcess p (git_config' p) where - params = ["config", "--null", "--list"] + params = + [ "--git-dir" + , fromRawFilePath d + , "config" + , "--null" + , "--list" + ] p = (proc "git" params) - { cwd = Just (fromRawFilePath d) - , env = gitEnv repo + { env = gitEnv repo , std_out = CreatePipe } git_config' p _ (Just hout) _ pid = -- 2.30.2