--- a/mercurial/localrepo.py Sun Aug 10 18:38:43 2008 -0500
+++ b/mercurial/localrepo.py Tue Aug 12 17:47:08 2008 +0200
@@ -544,8 +544,12 @@
os.unlink(self.wjoin(filename))
except OSError:
pass
- self.wopener(filename, 'w').write(data)
- util.set_flags(self.wjoin(filename), flags)
+ if 'l' in flags:
+ self.wopener.symlink(data, filename)
+ else:
+ self.wopener(filename, 'w').write(data)
+ if 'x' in flags:
+ util.set_flags(self.wjoin(filename), False, True)
def wwritedata(self, filename, data):
return self._filter("decode", filename, data)