diff -r 1b914de8d0ba -r 14789f30ac11 mercurial/localrepo.py --- a/mercurial/localrepo.py Thu Dec 27 22:27:45 2007 -0600 +++ b/mercurial/localrepo.py Thu Dec 27 22:27:47 2007 -0600 @@ -505,16 +505,12 @@ def wwrite(self, filename, data, flags): data = self._filter("decode", filename, data) - if "l" in flags: - self.wopener.symlink(data, filename) - else: - try: - if self._link(filename): - os.unlink(self.wjoin(filename)) - except OSError: - pass - self.wopener(filename, 'w').write(data) - util.set_exec(self.wjoin(filename), "x" in flags) + try: + os.unlink(self.wjoin(filename)) + except OSError: + pass + self.wopener(filename, 'w').write(data) + util.set_flags(self.wjoin(filename), flags) def wwritedata(self, filename, data): return self._filter("decode", filename, data)