summaryrefslogtreecommitdiffstats
path: root/project.py
diff options
context:
space:
mode:
Diffstat (limited to 'project.py')
-rw-r--r--project.py13
1 files changed, 7 insertions, 6 deletions
diff --git a/project.py b/project.py
index a41d26a8..610dd5a7 100644
--- a/project.py
+++ b/project.py
@@ -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
235class _LinkFile(object): 235class _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))