Commits

Georg Brandl committed f1294ee

#82: Determine the correct path for dependencies noted by
docutils. This fixes behavior where a source with dependent
files was always reported as changed.

  • Participants
  • Parent commits 00817e3

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.
 

File 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_images(self, docname, doctree):
         """