diff -r fe04c018eaac -r 65ae54582713 mercurial/context.py --- a/mercurial/context.py Thu Aug 31 11:28:59 2017 -0700 +++ b/mercurial/context.py Thu Aug 31 11:28:59 2017 -0700 @@ -1963,6 +1963,14 @@ self._repo.wwrite(self._path, data, flags, backgroundclose=backgroundclose) + def clearunknown(self): + """Removes conflicting items in the working directory so that + ``write()`` can be called successfully. + """ + wvfs = self._repo.wvfs + if wvfs.isdir(self._path) and not wvfs.islink(self._path): + wvfs.removedirs(self._path) + def setflags(self, l, x): self._repo.wvfs.setflags(self._path, l, x)