Commits

Georg Brandl committed 7086adf Merge

merge with 0.5

Comments (0)

Files changed (2)

 Release 0.5.2 (in development)
 ==============================
 
+* #82: Determine the correct path for dependencies noted by
+  docutils.  This fixes behavior where a source with dependent
+  files was always reported as changed.
+
 * Recognize toctree directives that are not on section toplevel,
   but within block items, such as tables.
 

sphinx/environment.py

         """
         Process docutils-generated dependency info.
         """
+        cwd = os.getcwd()
         deps = doctree.settings.record_dependencies
         if not deps:
             return
         docdir = path.dirname(self.doc2path(docname, base=None))
         for dep in deps.list:
-            dep = path.join(docdir, dep)
-            self.dependencies.setdefault(docname, set()).add(dep)
+            # the dependency path is relative to the working dir, so get
+            # one relative to the srcdir
+            fullpath = path.normpath(path.join(cwd, dep))
+            relpath = fullpath[len(path.normpath(self.srcdir))+len(path.sep):]
+            self.dependencies.setdefault(docname, set()).add(relpath)
 
     def process_downloads(self, docname, doctree):
         """