mercurial/localrepo.py
changeset 1353 a0c68981a5f4
parent 1349 c6295d2a361e
child 1375 f2b00be33e2c
equal deleted inserted replaced
1352:bf6c91cb816f 1353:a0c68981a5f4
     7 
     7 
     8 import struct, os, util
     8 import struct, os, util
     9 import filelog, manifest, changelog, dirstate, repo
     9 import filelog, manifest, changelog, dirstate, repo
    10 from node import *
    10 from node import *
    11 from demandload import *
    11 from demandload import *
    12 demandload(globals(), "re lock transaction tempfile stat mdiff")
    12 demandload(globals(), "re lock transaction tempfile stat mdiff errno")
    13 
    13 
    14 class localrepository:
    14 class localrepository:
    15     def __init__(self, ui, path=None, create=0):
    15     def __init__(self, ui, path=None, create=0):
    16         if not path:
    16         if not path:
    17             p = os.getcwd()
    17             p = os.getcwd()
  1219             if f[0] == "/": continue
  1219             if f[0] == "/": continue
  1220             self.ui.note("getting %s\n" % f)
  1220             self.ui.note("getting %s\n" % f)
  1221             t = self.file(f).read(get[f])
  1221             t = self.file(f).read(get[f])
  1222             try:
  1222             try:
  1223                 self.wwrite(f, t)
  1223                 self.wwrite(f, t)
  1224             except IOError:
  1224             except IOError, e:
       
  1225                 if e.errno != errno.ENOENT:
       
  1226                     raise
  1225                 os.makedirs(os.path.dirname(self.wjoin(f)))
  1227                 os.makedirs(os.path.dirname(self.wjoin(f)))
  1226                 self.wwrite(f, t)
  1228                 self.wwrite(f, t)
  1227             util.set_exec(self.wjoin(f), mf2[f])
  1229             util.set_exec(self.wjoin(f), mf2[f])
  1228             if moddirstate:
  1230             if moddirstate:
  1229                 if branch_merge:
  1231                 if branch_merge: