Mercurial > public > mercurial-scm > hg
comparison mercurial/localrepo.py @ 13113:a98a90023261
localrepo: remove unneeded os.unlink call in wwrite
The opener already unlinks the filename before 'w'riting, for both
the symlink and the normal file case. It also now resets the flags
for normal files on 'w'rite, which makes this os.unlink call completely
redundant.
For Windows, removing this extra unlink call helps to avoid tripping
issue2524 (os.unlink followed by a write).
author | Adrian Buehlmann <adrian@cadifra.com> |
---|---|
date | Fri, 10 Dec 2010 16:10:14 +0100 |
parents | d73c3034deee |
children | c36dad4f6e54 |
comparison
equal
deleted
inserted
replaced
13112:039a964dbbb3 | 13113:a98a90023261 |
---|---|
627 data = self.wopener(filename, 'r').read() | 627 data = self.wopener(filename, 'r').read() |
628 return self._filter(self._encodefilterpats, filename, data) | 628 return self._filter(self._encodefilterpats, filename, data) |
629 | 629 |
630 def wwrite(self, filename, data, flags): | 630 def wwrite(self, filename, data, flags): |
631 data = self._filter(self._decodefilterpats, filename, data) | 631 data = self._filter(self._decodefilterpats, filename, data) |
632 try: | |
633 os.unlink(self.wjoin(filename)) | |
634 except OSError: | |
635 pass | |
636 if 'l' in flags: | 632 if 'l' in flags: |
637 self.wopener.symlink(data, filename) | 633 self.wopener.symlink(data, filename) |
638 else: | 634 else: |
639 self.wopener(filename, 'w').write(data) | 635 self.wopener(filename, 'w').write(data) |
640 if 'x' in flags: | 636 if 'x' in flags: |