mercurial/localrepo.py
changeset 1477 d3566eda2bcb
parent 1473 7d66ce9895fa
child 1480 ae0d8d632b83
equal deleted inserted replaced
1476:17e8c70fb670 1477:d3566eda2bcb
   563         for f in list:
   563         for f in list:
   564             if self.dirstate.state(f) not in  "r":
   564             if self.dirstate.state(f) not in  "r":
   565                 self.ui.warn("%s not removed!\n" % f)
   565                 self.ui.warn("%s not removed!\n" % f)
   566             else:
   566             else:
   567                 t = self.file(f).read(m[f])
   567                 t = self.file(f).read(m[f])
   568                 try:
   568                 self.wwrite(f, t)
   569                     self.wwrite(f, t)
       
   570                 except IOError, e:
       
   571                     if e.errno != errno.ENOENT:
       
   572                         raise
       
   573                     os.makedirs(os.path.dirname(self.wjoin(f)))
       
   574                     self.wwrite(f, t)
       
   575                 util.set_exec(self.wjoin(f), mf[f])
   569                 util.set_exec(self.wjoin(f), mf[f])
   576                 self.dirstate.update([f], "n")
   570                 self.dirstate.update([f], "n")
   577 
   571 
   578     def copy(self, source, dest):
   572     def copy(self, source, dest):
   579         p = self.wjoin(dest)
   573         p = self.wjoin(dest)
  1512         files.sort()
  1506         files.sort()
  1513         for f in files:
  1507         for f in files:
  1514             if f[0] == "/": continue
  1508             if f[0] == "/": continue
  1515             self.ui.note(_("getting %s\n") % f)
  1509             self.ui.note(_("getting %s\n") % f)
  1516             t = self.file(f).read(get[f])
  1510             t = self.file(f).read(get[f])
  1517             try:
  1511             self.wwrite(f, t)
  1518                 self.wwrite(f, t)
       
  1519             except IOError, e:
       
  1520                 if e.errno != errno.ENOENT:
       
  1521                     raise
       
  1522                 os.makedirs(os.path.dirname(self.wjoin(f)))
       
  1523                 self.wwrite(f, t)
       
  1524             util.set_exec(self.wjoin(f), mf2[f])
  1512             util.set_exec(self.wjoin(f), mf2[f])
  1525             if moddirstate:
  1513             if moddirstate:
  1526                 if branch_merge:
  1514                 if branch_merge:
  1527                     self.dirstate.update([f], 'n', st_mtime=-1)
  1515                     self.dirstate.update([f], 'n', st_mtime=-1)
  1528                 else:
  1516                 else: