diff options
Diffstat (limited to 'project.py')
-rw-r--r-- | project.py | 13 |
1 files changed, 7 insertions, 6 deletions
@@ -233,14 +233,14 @@ class _CopyFile(object): | |||
233 | _error('Cannot copy file %s to %s', src, dest) | 233 | _error('Cannot copy file %s to %s', src, dest) |
234 | 234 | ||
235 | class _LinkFile(object): | 235 | class _LinkFile(object): |
236 | def __init__(self, src, dest, abssrc, absdest): | 236 | def __init__(self, src, dest, relsrc, absdest): |
237 | self.src = src | 237 | self.src = src |
238 | self.dest = dest | 238 | self.dest = dest |
239 | self.abs_src = abssrc | 239 | self.src_rel_to_dest = relsrc |
240 | self.abs_dest = absdest | 240 | self.abs_dest = absdest |
241 | 241 | ||
242 | def _Link(self): | 242 | def _Link(self): |
243 | src = self.abs_src | 243 | src = self.src_rel_to_dest |
244 | dest = self.abs_dest | 244 | dest = self.abs_dest |
245 | # link file if it does not exist or is out of date | 245 | # link file if it does not exist or is out of date |
246 | if not os.path.islink(dest) or os.readlink(dest) != src: | 246 | if not os.path.islink(dest) or os.readlink(dest) != src: |
@@ -1359,9 +1359,10 @@ class Project(object): | |||
1359 | 1359 | ||
1360 | def AddLinkFile(self, src, dest, absdest): | 1360 | def AddLinkFile(self, src, dest, absdest): |
1361 | # dest should already be an absolute path, but src is project relative | 1361 | # dest should already be an absolute path, but src is project relative |
1362 | # make src an absolute path | 1362 | # make src relative path to dest |
1363 | abssrc = os.path.join(self.worktree, src) | 1363 | absdestdir = os.path.dirname(absdest) |
1364 | self.linkfiles.append(_LinkFile(src, dest, abssrc, absdest)) | 1364 | relsrc = os.path.relpath(os.path.join(self.worktree, src), absdestdir) |
1365 | self.linkfiles.append(_LinkFile(src, dest, relsrc, absdest)) | ||
1365 | 1366 | ||
1366 | def AddAnnotation(self, name, value, keep): | 1367 | def AddAnnotation(self, name, value, keep): |
1367 | self.annotations.append(_Annotation(name, value, keep)) | 1368 | self.annotations.append(_Annotation(name, value, keep)) |