diff --git a/hgext/git/dirstate.py b/hgext/git/dirstate.py --- a/hgext/git/dirstate.py +++ b/hgext/git/dirstate.py @@ -301,8 +301,10 @@ def drop(self, f): index = self.git.index index.read() - index.remove(pycompat.fsdecode(f)) - index.write() + fs = pycompat.fsdecode(f) + if fs in index: + index.remove(fs) + index.write() def remove(self, f): index = self.git.index diff --git a/tests/test-git-interop.t b/tests/test-git-interop.t --- a/tests/test-git-interop.t +++ b/tests/test-git-interop.t @@ -270,3 +270,8 @@ +++ b/beta Mon Jan 01 00:00:11 2007 +0000 @@ -0,0 +1,1 @@ +beta + + +Deleting files should also work (this was issue6398) + $ hg rm beta + $ hg ci -m 'remove beta'