mercurial/localrepo.py
changeset 5703 14789f30ac11
parent 5688 883d887c6408
child 5747 f75ca1b0c81e
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):