git: fix index handling of removed files during commit (
issue6398)
Other changes in this series also changed the behavior here in
positive ways, but this was the final step that actually fixed things.
Differential Revision: https://phab.mercurial-scm.org/D8999
--- a/hgext/git/dirstate.py Mon Sep 07 17:14:59 2020 -0400
+++ b/hgext/git/dirstate.py Mon Sep 07 17:16:16 2020 -0400
@@ -303,8 +303,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
--- a/tests/test-git-interop.t Mon Sep 07 17:14:59 2020 -0400
+++ b/tests/test-git-interop.t Mon Sep 07 17:16:16 2020 -0400
@@ -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'