Mercurial > hg-stable
comparison mercurial/hg.py @ 114:82fb6d09f911
Simplify checkout slightly, replace checkdir with os.makedirs
author | mpm@selenic.com |
---|---|
date | Fri, 20 May 2005 17:33:24 -0800 |
parents | 1918852a67a8 |
children | a0e57df96e96 |
comparison
equal
deleted
inserted
replaced
113:1918852a67a8 | 114:82fb6d09f911 |
---|---|
341 | 341 |
342 self.setcurrent(n) | 342 self.setcurrent(n) |
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 = [] |
378 mf = {} | 369 mf = {} |
379 added = [] | 370 added = [] |