##// END OF EJS Templates
Simplify checkout slightly, replace checkdir with os.makedirs
mpm@selenic.com -
r114:82fb6d09 default
parent child Browse files
Show More
@@ -343,35 +343,26 b' class localrepository:'
343 self.dircache.update(new)
343 self.dircache.update(new)
344 self.dircache.remove(remove)
344 self.dircache.remove(remove)
345
345
346 def checkdir(self, path):
347 d = os.path.dirname(path)
348 if not d: return
349 if not os.path.isdir(d):
350 self.checkdir(d)
351 os.mkdir(d)
352
353 def checkout(self, node):
346 def checkout(self, node):
354 # checkout is really dumb at the moment
347 # checkout is really dumb at the moment
355 # it ought to basically merge
348 # it ought to basically merge
356 change = self.changelog.read(node)
349 change = self.changelog.read(node)
357 mmap = self.manifest.read(change[0])
350 l = self.manifest.read(change[0]).items()
358
359 l = mmap.keys()
360 l.sort()
351 l.sort()
361 stats = []
352
362 for f in l:
353 for f,n in l:
363 self.ui.note(f + "\n")
354 if f[0] == "/": continue
364 r = self.file(f)
355 self.ui.note(f, "\n")
365 t = r.revision(mmap[f])
356 t = self.file(f).revision(n)
366 try:
357 try:
367 file(f, "w").write(t)
358 file(f, "w").write(t)
368 except:
359 except IOError:
369 self.checkdir(f)
360 os.makedirs(os.path.dirname(f))
370 file(f, "w").write(t)
361 file(f, "w").write(t)
371
362
372 self.setcurrent(node)
363 self.setcurrent(node)
373 self.dircache.clear()
364 self.dircache.clear()
374 self.dircache.update(l)
365 self.dircache.update([f for f,n in l])
375
366
376 def diffdir(self, path, changeset):
367 def diffdir(self, path, changeset):
377 changed = []
368 changed = []
General Comments 0
You need to be logged in to leave comments. Login now