Mercurial > public > mercurial-scm > hg-stable
comparison mercurial/localrepo.py @ 4276:cb6107f78b92
Merge with crew
author | Matt Mackall <mpm@selenic.com> |
---|---|
date | Sat, 24 Mar 2007 02:57:27 -0500 |
parents | f38f90a177dc 81402b2b294d |
children | f4a1eac52d43 |
comparison
equal
deleted
inserted
replaced
4269:73c918c71300 | 4276:cb6107f78b92 |
---|---|
99 self.tagscache = None | 99 self.tagscache = None |
100 self.branchcache = None | 100 self.branchcache = None |
101 self.nodetagscache = None | 101 self.nodetagscache = None |
102 self.filterpats = {} | 102 self.filterpats = {} |
103 self.transhandle = None | 103 self.transhandle = None |
104 | |
105 self._link = lambda x: False | |
106 if util.checklink(self.root): | |
107 r = self.root # avoid circular reference in lambda | |
108 self._link = lambda x: util.is_link(os.path.join(r, x)) | |
109 | 104 |
110 self.dirstate = dirstate.dirstate(self.opener, self.ui, self.root) | 105 self.dirstate = dirstate.dirstate(self.opener, self.ui, self.root) |
111 | 106 |
112 def url(self): | 107 def url(self): |
113 return 'file:' + self.root | 108 return 'file:' + self.root |
503 return self.dirstate.getcwd() | 498 return self.dirstate.getcwd() |
504 | 499 |
505 def wfile(self, f, mode='r'): | 500 def wfile(self, f, mode='r'): |
506 return self.wopener(f, mode) | 501 return self.wopener(f, mode) |
507 | 502 |
503 def _link(self, f): | |
504 return os.path.islink(self.wjoin(f)) | |
505 | |
508 def _filter(self, filter, filename, data): | 506 def _filter(self, filter, filename, data): |
509 if filter not in self.filterpats: | 507 if filter not in self.filterpats: |
510 l = [] | 508 l = [] |
511 for pat, cmd in self.ui.configitems(filter): | 509 for pat, cmd in self.ui.configitems(filter): |
512 mf = util.matcher(self.root, "", [pat], [], [])[1] | 510 mf = util.matcher(self.root, "", [pat], [], [])[1] |
1050 self.wwrite(f, t, m.flags(f)) | 1048 self.wwrite(f, t, m.flags(f)) |
1051 self.dirstate.update([f], "n") | 1049 self.dirstate.update([f], "n") |
1052 | 1050 |
1053 def copy(self, source, dest, wlock=None): | 1051 def copy(self, source, dest, wlock=None): |
1054 p = self.wjoin(dest) | 1052 p = self.wjoin(dest) |
1055 if not os.path.exists(p): | 1053 if not (os.path.exists(p) or os.path.islink(p)): |
1056 self.ui.warn(_("%s does not exist!\n") % dest) | 1054 self.ui.warn(_("%s does not exist!\n") % dest) |
1057 elif not os.path.isfile(p): | 1055 elif not (os.path.isfile(p) or os.path.islink(p)): |
1058 self.ui.warn(_("copy failed: %s is not a file\n") % dest) | 1056 self.ui.warn(_("copy failed: %s is not a file or a " |
1057 "symbolic link\n") % dest) | |
1059 else: | 1058 else: |
1060 if not wlock: | 1059 if not wlock: |
1061 wlock = self.wlock() | 1060 wlock = self.wlock() |
1062 if self.dirstate.state(dest) == '?': | 1061 if self.dirstate.state(dest) == '?': |
1063 self.dirstate.update([dest], "a") | 1062 self.dirstate.update([dest], "a") |