stage deletions directly using update-index
no need to run git-rm separately
This commit is contained in:
parent
7f39415600
commit
5308b51ec0
2 changed files with 16 additions and 3 deletions
|
@ -13,6 +13,7 @@ module Git.UpdateIndex (
|
|||
streamUpdateIndex,
|
||||
lsTree,
|
||||
updateIndexLine,
|
||||
unstageFile,
|
||||
stageSymlink
|
||||
) where
|
||||
|
||||
|
@ -24,6 +25,7 @@ import Git.Types
|
|||
import Git.Command
|
||||
import Git.FilePath
|
||||
import Git.HashObject
|
||||
import Git.Sha
|
||||
|
||||
{- Streamers are passed a callback and should feed it lines in the form
|
||||
- read by update-index, and generated by ls-tree. -}
|
||||
|
@ -61,6 +63,12 @@ updateIndexLine :: Sha -> BlobType -> TopFilePath -> String
|
|||
updateIndexLine sha filetype file =
|
||||
show filetype ++ " blob " ++ show sha ++ "\t" ++ getTopFilePath 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
|
||||
|
||||
{- A streamer that adds a symlink to the index. -}
|
||||
stageSymlink :: FilePath -> String -> Repo -> IO Streamer
|
||||
stageSymlink file linktext repo = do
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue