summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons/Script/SConscript.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine/SCons/Script/SConscript.py')
-rw-r--r--src/engine/SCons/Script/SConscript.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/engine/SCons/Script/SConscript.py b/src/engine/SCons/Script/SConscript.py
index 0fe0d64..df86853 100644
--- a/src/engine/SCons/Script/SConscript.py
+++ b/src/engine/SCons/Script/SConscript.py
@@ -265,7 +265,13 @@ def SConscript(*ls, **kw):
frame = stack.pop()
default_fs.chdir(frame.prev_dir)
if old_dir:
- default_fs.chdir(old_dir, change_os_dir=sconscript_chdir)
+ try:
+ default_fs.chdir(old_dir, change_os_dir=sconscript_chdir)
+ except OSError:
+ # There was no local directory, so chdir to the
+ # Repository directory. Like above, we do this
+ # directly.
+ os.chdir(old_dir.rdir().abspath)
results.append(frame.retval)