Mercurial > public > mercurial-scm > hg-stable
diff 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 |
line wrap: on
line diff
--- a/mercurial/localrepo.py Sat Mar 24 02:47:33 2007 -0500 +++ b/mercurial/localrepo.py Sat Mar 24 02:57:27 2007 -0500 @@ -102,11 +102,6 @@ self.filterpats = {} self.transhandle = None - self._link = lambda x: False - if util.checklink(self.root): - r = self.root # avoid circular reference in lambda - self._link = lambda x: util.is_link(os.path.join(r, x)) - self.dirstate = dirstate.dirstate(self.opener, self.ui, self.root) def url(self): @@ -505,6 +500,9 @@ def wfile(self, f, mode='r'): return self.wopener(f, mode) + def _link(self, f): + return os.path.islink(self.wjoin(f)) + def _filter(self, filter, filename, data): if filter not in self.filterpats: l = [] @@ -1052,10 +1050,11 @@ def copy(self, source, dest, wlock=None): p = self.wjoin(dest) - if not os.path.exists(p): + if not (os.path.exists(p) or os.path.islink(p)): self.ui.warn(_("%s does not exist!\n") % dest) - elif not os.path.isfile(p): - self.ui.warn(_("copy failed: %s is not a file\n") % dest) + elif not (os.path.isfile(p) or os.path.islink(p)): + self.ui.warn(_("copy failed: %s is not a file or a " + "symbolic link\n") % dest) else: if not wlock: wlock = self.wlock()