aboutsummaryrefslogtreecommitdiff
path: root/Git/DiffTree.hs
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2014-06-09 18:01:30 -0400
committerGravatar Joey Hess <joey@kitenet.net>2014-06-09 19:40:28 -0400
commit7ce9a3793d91c210343a1e5ea60053dccab5a12c (patch)
tree5a5c262770118d790b0851e4ff6f1df4fddfaa39 /Git/DiffTree.hs
parent3eeba159f25cd53773c48d131cae796b366a43a4 (diff)
avoid bad commits after interrupted direct mode sync (or merge)
It was possible for a interrupted sync or merge in direct mode to leave the work tree out of sync with the last recorded commit. This would result in the next commit seeing files missing from the work tree, and committing their removal. Now, a direct mode merge happens not only in a throwaway work tree, but using a temporary index file, and without any commits or index changes being made until the real work tree has been updated. If the merge is interrupted, the work tree may have some updated files, but worst case a commit will redundantly commit changes that come from the merge. This commit was sponsored by Tony Cantor.
Diffstat (limited to 'Git/DiffTree.hs')
-rw-r--r--Git/DiffTree.hs2
1 files changed, 1 insertions, 1 deletions
diff --git a/Git/DiffTree.hs b/Git/DiffTree.hs
index 9e4fef9d6..59de60871 100644
--- a/Git/DiffTree.hs
+++ b/Git/DiffTree.hs
@@ -49,7 +49,7 @@ diffIndex :: Ref -> Repo -> IO ([DiffTreeItem], IO Bool)
diffIndex ref = diffIndex' ref [Param "--cached"]
{- Diffs between a tree and the working tree. Does nothing if there is not
- - yet a commit in the repository, of if the repository is bare. -}
+ - yet a commit in the repository, or if the repository is bare. -}
diffWorkTree :: Ref -> Repo -> IO ([DiffTreeItem], IO Bool)
diffWorkTree ref repo =
ifM (Git.Ref.headExists repo)