Mercurial > hg > mercurial-crew-with-dirclash
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: |