# HG changeset patch # User Alain Leufroy # Date 1615049839 -3600 # Sat Mar 06 17:57:19 2021 +0100 # Node ID 1c7539e31415e64bbb6690b672aa05bcd118e5cf # Parent 6060534cfe2c5b9c03616ff622eb14cd4cdbd751 dump: prevent writting info file on errors diff --git a/overlayctl b/overlayctl --- a/overlayctl +++ b/overlayctl @@ -217,14 +217,11 @@ def dump(self): """Write the given overlay metadata to disk.""" - data = { + info = { 'name': self.name, 'lowers': [lower.name for lower in self.lowers] } - self.infopath.write_text( - json.dumps(data, indent=2), encoding='utf-8' - ) - logger.debug('%s updated', self.infopath) + data = info.copy() data['lowerdir'] = ':'.join( str(lower.lowerdir).replace('\\', '\\\\') for lower in self.get_ascendants() @@ -232,6 +229,10 @@ data['upperdir'] = str(self.upperdir).replace('\\', '\\\\') data['workdir'] = str(self.workdir).replace('\\', '\\\\') data['mountdir'] = str(self.mountdir).replace('\\', '\\\\') + self.infopath.write_text( + json.dumps(info, indent=2), encoding='utf-8' + ) + logger.debug('%s written.', self.infopath) self.upperdir.mkdir(parents=True, exist_ok=True) self.workdir.mkdir(parents=True, exist_ok=True) self.mountdir.mkdir(parents=True, exist_ok=True)