浏览代码

Use absolute paths

A circular reference bug occurs when there is a difference in the paths
of the file specified in the extends. So one time it is relative, second
time is absolute thus allowing a further circular reference to occur.

By using absolute paths we can be sure that the service filename check
is correct.

Signed-off-by: Mazz Mosley <[email protected]>
Mazz Mosley 10 年之前
父节点
当前提交
bd7fcd1123
共有 1 个文件被更改,包括 5 次插入2 次删除
  1. 5 2
      compose/config.py

+ 5 - 2
compose/config.py

@@ -140,8 +140,11 @@ def make_service_dict(name, service_dict, working_dir=None):
 
 class ServiceLoader(object):
     def __init__(self, working_dir, filename=None, already_seen=None):
-        self.working_dir = working_dir
-        self.filename = filename
+        self.working_dir = os.path.abspath(working_dir)
+        if filename:
+            self.filename = os.path.abspath(filename)
+        else:
+            self.filename = filename
         self.already_seen = already_seen or []
 
     def make_service_dict(self, name, service_dict):