improved OsPath conversion
This commit is contained in:
parent
2fa1631041
commit
27a0bacc49
1 changed files with 7 additions and 8 deletions
|
@ -16,8 +16,7 @@ import Git.Construct
|
|||
import qualified Git.Config
|
||||
import Utility.Env
|
||||
import Utility.Env.Set
|
||||
|
||||
import qualified Data.ByteString as B
|
||||
import qualified Utility.OsString as OS
|
||||
|
||||
{- Gets the current git repository.
|
||||
-
|
||||
|
@ -40,7 +39,7 @@ import qualified Data.ByteString as B
|
|||
get :: IO Repo
|
||||
get = do
|
||||
gd <- getpathenv "GIT_DIR"
|
||||
r <- configure (fmap toOsPath gd) =<< fromCwd
|
||||
r <- configure gd =<< fromCwd
|
||||
prefix <- getpathenv "GIT_PREFIX"
|
||||
wt <- maybe (worktree (location r)) Just
|
||||
<$> getpathenvprefix "GIT_WORK_TREE" prefix
|
||||
|
@ -57,17 +56,17 @@ get = do
|
|||
case v of
|
||||
Just d -> do
|
||||
unsetEnv s
|
||||
return (Just (toRawFilePath d))
|
||||
return (Just (toOsPath d))
|
||||
Nothing -> return Nothing
|
||||
|
||||
getpathenvprefix s (Just prefix) | not (B.null prefix) =
|
||||
getpathenvprefix s (Just prefix) | not (OS.null prefix) =
|
||||
getpathenv s >>= \case
|
||||
Nothing -> return Nothing
|
||||
Just d
|
||||
| d == "." -> return (Just (toOsPath d))
|
||||
| d == literalOsPath "." -> return (Just d)
|
||||
| otherwise -> Just
|
||||
<$> absPath (toOsPath prefix </> toOsPath d)
|
||||
getpathenvprefix s _ = fmap toOsPath <$> getpathenv s
|
||||
<$> absPath (prefix </> d)
|
||||
getpathenvprefix s _ = getpathenv s
|
||||
|
||||
configure Nothing (Just r) = Git.Config.read r
|
||||
configure (Just d) _ = do
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue