summaryrefslogtreecommitdiff
path: root/Git/UpdateIndex.hs
diff options
context:
space:
mode:
authorGravatar Joey Hess <id@joeyh.name>2013-05-12 17:18:48 -0500
committerGravatar Joey Hess <id@joeyh.name>2013-05-12 17:29:49 -0500
commitb02c68304aa5051086e29a0cb6547fdf856aa93d (patch)
tree104139431d5e4df6258a7b7f000ecd605a3bf096 /Git/UpdateIndex.hs
parentac86f7dbae96c5b813147bf8de5fe40df002671e (diff)
deal with git using / internally, even on DOS
Diffstat (limited to 'Git/UpdateIndex.hs')
-rwxr-xr-x[-rw-r--r--]Git/UpdateIndex.hs11
1 files changed, 7 insertions, 4 deletions
diff --git a/Git/UpdateIndex.hs b/Git/UpdateIndex.hs
index aa65b4429..5d07e2011 100644..100755
--- a/Git/UpdateIndex.hs
+++ b/Git/UpdateIndex.hs
@@ -1,11 +1,11 @@
{- git-update-index library
-
- - Copyright 2011, 2012 Joey Hess <joey@kitenet.net>
+ - Copyright 2011-2013 Joey Hess <joey@kitenet.net>
-
- Licensed under the GNU GPL version 3 or higher.
-}
-{-# LANGUAGE BangPatterns #-}
+{-# LANGUAGE BangPatterns, CPP #-}
module Git.UpdateIndex (
Streamer,
@@ -59,13 +59,13 @@ lsTree (Ref x) repo streamer = do
- a given file with a given sha. -}
updateIndexLine :: Sha -> BlobType -> TopFilePath -> String
updateIndexLine sha filetype file =
- show filetype ++ " blob " ++ show sha ++ "\t" ++ getTopFilePath file
+ show filetype ++ " blob " ++ show sha ++ "\t" ++ indexPath file
{- A streamer that removes a file from the index. -}
unstageFile :: FilePath -> Repo -> IO Streamer
unstageFile file repo = do
p <- toTopFilePath file repo
- return $ pureStreamer $ "0 " ++ show nullSha ++ "\t" ++ getTopFilePath p
+ return $ pureStreamer $ "0 " ++ show nullSha ++ "\t" ++ indexPath p
{- A streamer that adds a symlink to the index. -}
stageSymlink :: FilePath -> Sha -> Repo -> IO Streamer
@@ -75,3 +75,6 @@ stageSymlink file sha repo = do
<*> pure SymlinkBlob
<*> toTopFilePath file repo
return $ pureStreamer line
+
+indexPath :: TopFilePath -> InternalGitPath
+indexPath = toInternalGitPath . getTopFilePath