lfs: fix committing deleted files caused by
e0a1b9ee93cd
e0a1b9ee93cd (lfs: add a repo requirement for this extension once an lfs
file is committed) introduced a regression that prevents committing file
deletion. This patch fixes that.
Differential Revision: https://phab.mercurial-scm.org/D1717
--- a/hgext/lfs/__init__.py Mon Dec 18 13:15:10 2017 -0500
+++ b/hgext/lfs/__init__.py Mon Dec 18 14:37:00 2017 -0800
@@ -124,7 +124,7 @@
if 'lfs' not in repo.requirements:
ctx = repo[kwargs['node']]
# TODO: is there a way to just walk the files in the commit?
- if any(ctx[f].islfs() for f in ctx.files()):
+ if any(ctx[f].islfs() for f in ctx.files() if f in ctx):
repo.requirements.add('lfs')
repo._writerequirements()
--- a/tests/test-lfs.t Mon Dec 18 13:15:10 2017 -0500
+++ b/tests/test-lfs.t Mon Dec 18 14:37:00 2017 -0800
@@ -680,3 +680,12 @@
$ hg -R convert_lfs2 config --debug extensions | grep lfs
$TESTTMP/convert_lfs2/.hg/hgrc:*: extensions.lfs= (glob)
+
+Committing deleted files works:
+
+ $ hg init $TESTTMP/repo-del
+ $ cd $TESTTMP/repo-del
+ $ echo 1 > A
+ $ hg commit -m 'add A' -A A
+ $ hg rm A
+ $ hg commit -m 'rm A'