Mercurial > public > mercurial-scm > hg
comparison mercurial/localrepo.py @ 5703:14789f30ac11
wwrite: simplify with util.set_flags
- always attempt to delete the file (gets rid of read-only message)
- always write as a normal file
- use set_flags to convert to link or set exec
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Thu, 27 Dec 2007 22:27:47 -0600 |
parents | 883d887c6408 |
children | f75ca1b0c81e |
comparison
equal
deleted
inserted
replaced
5702:1b914de8d0ba | 5703:14789f30ac11 |
---|---|
503 data = self.wopener(filename, 'r').read() | 503 data = self.wopener(filename, 'r').read() |
504 return self._filter("encode", filename, data) | 504 return self._filter("encode", filename, data) |
505 | 505 |
506 def wwrite(self, filename, data, flags): | 506 def wwrite(self, filename, data, flags): |
507 data = self._filter("decode", filename, data) | 507 data = self._filter("decode", filename, data) |
508 if "l" in flags: | 508 try: |
509 self.wopener.symlink(data, filename) | 509 os.unlink(self.wjoin(filename)) |
510 else: | 510 except OSError: |
511 try: | 511 pass |
512 if self._link(filename): | 512 self.wopener(filename, 'w').write(data) |
513 os.unlink(self.wjoin(filename)) | 513 util.set_flags(self.wjoin(filename), flags) |
514 except OSError: | |
515 pass | |
516 self.wopener(filename, 'w').write(data) | |
517 util.set_exec(self.wjoin(filename), "x" in flags) | |
518 | 514 |
519 def wwritedata(self, filename, data): | 515 def wwritedata(self, filename, data): |
520 return self._filter("decode", filename, data) | 516 return self._filter("decode", filename, data) |
521 | 517 |
522 def transaction(self): | 518 def transaction(self): |