[Bf-extensions-cvs] [2155eb5] master: Fix T48187: Packing files on MS-Windows fails
Campbell Barton
noreply at git.blender.org
Tue Jul 19 19:51:45 CEST 2016
Commit: 2155eb58531f97fef7f5e60b612d6436d083ebff
Author: Campbell Barton
Date: Wed Jul 20 03:52:59 2016 +1000
Branches: master
https://developer.blender.org/rBA2155eb58531f97fef7f5e60b612d6436d083ebff
Fix T48187: Packing files on MS-Windows fails
Using paths on different drives caused packing to fail
since its not possible to make one path relative to another.
===================================================================
M io_blend_utils/blendfile_pack.py
===================================================================
diff --git a/io_blend_utils/blendfile_pack.py b/io_blend_utils/blendfile_pack.py
index 225a941..dee2bfa 100755
--- a/io_blend_utils/blendfile_pack.py
+++ b/io_blend_utils/blendfile_pack.py
@@ -55,7 +55,18 @@ def _relpath_remap(
raise Exception("Internal error 'path_src' -> %r must be absolute" % path_src)
path_src = os.path.normpath(path_src)
- path_dst = os.path.relpath(path_src, base_dir_src)
+ if os.name != "nt":
+ path_dst = os.path.relpath(path_src, base_dir_src)
+ else:
+ # exception for windows, we need to support mapping between drives
+ try:
+ path_dst = os.path.relpath(path_src, base_dir_src)
+ except ValueError:
+ # include the absolute path when the file is on a different drive.
+ path_dst = os.path.relpath(
+ os.path.join(base_dir_src, b'__' + path_src.replace(b':', b'\\')),
+ base_dir_src,
+ )
if blendfile_src_dir_fakeroot is None:
# /foo/../bar.png --> /foo/__/bar.png
More information about the Bf-extensions-cvs
mailing list