diff -r 67982d3ee76c -r 20da40cc1c73 mercurial/localrepo.py --- a/mercurial/localrepo.py Fri Dec 29 20:04:31 2006 -0600 +++ b/mercurial/localrepo.py Fri Dec 29 20:04:31 2006 -0600 @@ -508,7 +508,10 @@ def wwrite(self, filename, data, flags): data = self._filter("decode", filename, data) if "l" in flags: - os.unlink(self.wjoin(filename)) + try: + os.unlink(self.wjoin(filename)) + except OSError: + pass os.symlink(data, self.wjoin(filename)) else: try: