diff options
Diffstat (limited to 'Git')
-rw-r--r-- | Git/Construct.hs | 3 | ||||
-rw-r--r-- | Git/CurrentRepo.hs | 7 |
2 files changed, 7 insertions, 3 deletions
diff --git a/Git/Construct.hs b/Git/Construct.hs index 3c1cfdbdf..3d39b0801 100644 --- a/Git/Construct.hs +++ b/Git/Construct.hs @@ -227,7 +227,8 @@ checkForRepo dir = catchDefaultIO "" (readFile $ dir </> ".git") return $ if gitdirprefix `isPrefixOf` c then Just $ Local - { gitdir = drop (length gitdirprefix) c + { gitdir = absPathFrom dir $ + drop (length gitdirprefix) c , worktree = Just dir } else Nothing diff --git a/Git/CurrentRepo.hs b/Git/CurrentRepo.hs index f82241ae2..908cc389e 100644 --- a/Git/CurrentRepo.hs +++ b/Git/CurrentRepo.hs @@ -51,8 +51,11 @@ get = do configure (Just d) r = do r' <- Git.Config.read r -- Let GIT_DIR override the default gitdir. - return $ changelocation r' $ - Local { gitdir = d, worktree = worktree (location r') } + absd <- absPath d + return $ changelocation r' $ Local + { gitdir = absd + , worktree = worktree (location r') + } addworktree w r = changelocation r $ Local { gitdir = gitdir (location r), worktree = w } changelocation r l = r { location = l } |