comparison mercurial/localrepo.py @ 4137:26596a6b6518

Create the parent directory when checking out symlinks.
author Giorgos Keramidas <keramida@ceid.upatras.gr>
date Fri, 23 Feb 2007 17:54:34 +0200
parents 9dc64c8414ca
children b4bd2f3ea347
comparison
equal deleted inserted replaced
4136:eb5d4fec1487 4137:26596a6b6518
523 return self._filter("encode", filename, data) 523 return self._filter("encode", filename, data)
524 524
525 def wwrite(self, filename, data, flags): 525 def wwrite(self, filename, data, flags):
526 data = self._filter("decode", filename, data) 526 data = self._filter("decode", filename, data)
527 if "l" in flags: 527 if "l" in flags:
528 f = self.wjoin(filename)
528 try: 529 try:
529 os.unlink(self.wjoin(filename)) 530 os.unlink(f)
530 except OSError: 531 except OSError:
531 pass 532 pass
532 os.symlink(data, self.wjoin(filename)) 533 d = os.path.dirname(f)
534 if not os.path.exists(d):
535 os.makedirs(d)
536 os.symlink(data, f)
533 else: 537 else:
534 try: 538 try:
535 if self._link(filename): 539 if self._link(filename):
536 os.unlink(self.wjoin(filename)) 540 os.unlink(self.wjoin(filename))
537 except OSError: 541 except OSError: