equal
deleted
inserted
replaced
118 self.branchcache = None |
118 self.branchcache = None |
119 self.nodetagscache = None |
119 self.nodetagscache = None |
120 self.encodepats = None |
120 self.encodepats = None |
121 self.decodepats = None |
121 self.decodepats = None |
122 self.transhandle = None |
122 self.transhandle = None |
|
123 |
|
124 self._link = lambda x: False |
|
125 if util.checklink(self.root): |
|
126 r = self.root # avoid circular reference in lambda |
|
127 self._link = lambda x: util.is_link(os.path.join(r, x)) |
123 |
128 |
124 self.dirstate = dirstate.dirstate(self.opener, self.ui, self.root) |
129 self.dirstate = dirstate.dirstate(self.opener, self.ui, self.root) |
125 |
130 |
126 def url(self): |
131 def url(self): |
127 return 'file:' + self.root |
132 return 'file:' + self.root |
484 for pat, cmd in self.ui.configitems("encode"): |
489 for pat, cmd in self.ui.configitems("encode"): |
485 mf = util.matcher(self.root, "", [pat], [], [])[1] |
490 mf = util.matcher(self.root, "", [pat], [], [])[1] |
486 l.append((mf, cmd)) |
491 l.append((mf, cmd)) |
487 self.encodepats = l |
492 self.encodepats = l |
488 |
493 |
489 data = self.wopener(filename, 'r').read() |
494 if self._link(filename): |
|
495 data = os.readlink(self.wjoin(filename)) |
|
496 else: |
|
497 data = self.wopener(filename, 'r').read() |
490 |
498 |
491 for mf, cmd in self.encodepats: |
499 for mf, cmd in self.encodepats: |
492 if mf(filename): |
500 if mf(filename): |
493 self.ui.debug(_("filtering %s through %s\n") % (filename, cmd)) |
501 self.ui.debug(_("filtering %s through %s\n") % (filename, cmd)) |
494 data = util.filter(data, cmd) |
502 data = util.filter(data, cmd) |
717 for f in commit: |
725 for f in commit: |
718 self.ui.note(f + "\n") |
726 self.ui.note(f + "\n") |
719 try: |
727 try: |
720 new[f] = self.filecommit(f, m1, m2, linkrev, tr, changed) |
728 new[f] = self.filecommit(f, m1, m2, linkrev, tr, changed) |
721 m1.set(f, is_exec(f), is_link(f)) |
729 m1.set(f, is_exec(f), is_link(f)) |
722 except IOError: |
730 except OSError: |
723 if use_dirstate: |
731 if use_dirstate: |
724 self.ui.warn(_("trouble committing %s!\n") % f) |
732 self.ui.warn(_("trouble committing %s!\n") % f) |
725 raise |
733 raise |
726 else: |
734 else: |
727 remove.append(f) |
735 remove.append(f) |