diff --git a/hgext/largefiles/overrides.py b/hgext/largefiles/overrides.py --- a/hgext/largefiles/overrides.py +++ b/hgext/largefiles/overrides.py @@ -169,6 +169,8 @@ def removelargefiles(ui, repo, *pats, ** # function handle this. if not getattr(repo, "_isaddremove", False): lfutil.reporemove(repo, remove, unlink=True) + else: + lfutil.reporemove(repo, remove, unlink=False) finally: wlock.release() diff --git a/hgext/largefiles/reposetup.py b/hgext/largefiles/reposetup.py --- a/hgext/largefiles/reposetup.py +++ b/hgext/largefiles/reposetup.py @@ -340,8 +340,9 @@ def reposetup(ui, repo): lfdirstate.normal(lfile) for lfile in lfdirstate: if lfile in modifiedfiles: - if not os.path.exists( - repo.wjoin(lfutil.standin(lfile))): + if (not os.path.exists(repo.wjoin( + lfutil.standin(lfile)))) or \ + (not os.path.exists(repo.wjoin(lfile))): lfdirstate.drop(lfile) result = orig(text=text, user=user, date=date, match=match,