diff --git a/hggit/git_handler.py b/hggit/git_handler.py index 9c6bd4102ef5b7572a04969dc5bdfd39b0402284_aGdnaXQvZ2l0X2hhbmRsZXIucHk=..81e5e8e0185c2308c639780c54f6d08287f99454_aGdnaXQvZ2l0X2hhbmRsZXIucHk= 100644 --- a/hggit/git_handler.py +++ b/hggit/git_handler.py @@ -207,5 +207,5 @@ self._remote_refs.update([(name, bin(sha)) for sha, name in td]) def save_remote_refs(self): - tf = open(self.repo.join(self.remote_refs_file), 'wb') + file = self.repo.opener(self.remote_refs_file, 'w+', atomictemp=True) for tag, node in self.remote_refs.iteritems(): @@ -211,6 +211,7 @@ for tag, node in self.remote_refs.iteritems(): - tf.write('%s %s\n' % (hex(node), tag)) - tf.close() + file.write('%s %s\n' % (hex(node), tag)) + # If this complains, atomictempfile no longer has close + file.close() ## END FILE LOAD AND SAVE METHODS