--- a/hgext3rd/evolve/stablesort.py Thu Sep 13 19:09:48 2018 +0200
+++ b/hgext3rd/evolve/stablesort.py Thu Sep 13 19:22:39 2018 +0200
@@ -634,21 +634,24 @@
"""
if self._cachekey is None or self._cachekey == self._ondiskkey:
return
- cachevfs = compat.getcachevfs(repo)
- cachefile = cachevfs(self._filepath, 'w', atomictemp=True)
+ try:
+ cachevfs = compat.getcachevfs(repo)
+ cachefile = cachevfs(self._filepath, 'w', atomictemp=True)
- # data to write
- headerdata = self._serializecachekey()
- indexdata = self._index.tostring()
- data = self._data.tostring()
- indexsize = S_INDEXSIZE.pack(len(indexdata))
+ # data to write
+ headerdata = self._serializecachekey()
+ indexdata = self._index.tostring()
+ data = self._data.tostring()
+ indexsize = S_INDEXSIZE.pack(len(indexdata))
- # writing
- cachefile.write(headerdata)
- cachefile.write(indexsize)
- cachefile.write(indexdata)
- cachefile.write(data)
- cachefile.close()
+ # writing
+ cachefile.write(headerdata)
+ cachefile.write(indexsize)
+ cachefile.write(indexdata)
+ cachefile.write(data)
+ cachefile.close()
+ except (IOError, OSError) as exc:
+ repo.ui.debug('stablesortcache: could not write update %s\n' % exc)
@eh.reposetup
def setupcache(ui, repo):