hgext/convert/subversion.py
changeset 5536 fdee5d614fcc
parent 5535 7501ef26402b
child 5537 e01c748cb632
equal deleted inserted replaced
5535:7501ef26402b 5536:fdee5d614fcc
   738 
   738 
   739             self.wc = wcpath
   739             self.wc = wcpath
   740         self.opener = util.opener(self.wc)
   740         self.opener = util.opener(self.wc)
   741         self.wopener = util.opener(self.wc)
   741         self.wopener = util.opener(self.wc)
   742         self.childmap = mapfile(ui, self.join('hg-childmap'))
   742         self.childmap = mapfile(ui, self.join('hg-childmap'))
       
   743         self.is_exec = util.checkexec(self.wc) and util.is_exec or None
   743 
   744 
   744         if created:
   745         if created:
   745             hook = os.path.join(created, 'hooks', 'pre-revprop-change')
   746             hook = os.path.join(created, 'hooks', 'pre-revprop-change')
   746             fp = open(hook, 'w')
   747             fp = open(hook, 'w')
   747             fp.write(pre_revprop_change)
   748             fp.write(pre_revprop_change)
   759                 if os.path.islink(self.wjoin(filename)):
   760                 if os.path.islink(self.wjoin(filename)):
   760                     os.unlink(filename)
   761                     os.unlink(filename)
   761             except OSError:
   762             except OSError:
   762                 pass
   763                 pass
   763             self.wopener(filename, 'w').write(data)
   764             self.wopener(filename, 'w').write(data)
   764             was_exec = util.is_exec(self.wjoin(filename))
   765 
       
   766             if self.is_exec:
       
   767                 was_exec = self.is_exec(self.wjoin(filename))
       
   768             else:
       
   769                 # On filesystems not supporting execute-bit, there is no way
       
   770                 # to know if it is set but asking subversion. Setting it
       
   771                 # systematically is just as expensive and much simpler.
       
   772                 was_exec = 'x' not in flags
       
   773 
   765             util.set_exec(self.wjoin(filename), 'x' in flags)
   774             util.set_exec(self.wjoin(filename), 'x' in flags)
   766             if was_exec:
   775             if was_exec:
   767                 if 'x' not in flags:
   776                 if 'x' not in flags:
   768                     self.run0('propdel', 'svn:executable', filename)
   777                     self.run0('propdel', 'svn:executable', filename)
   769             else:
   778             else: