diff options
author | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2020-05-30 01:15:23 +0900 |
---|---|---|
committer | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2020-05-30 01:15:23 +0900 |
commit | 0d1f0cd9ccb8c4d237f1eba92254a2ab306ae231 (patch) | |
tree | c3ed04dcb2ed58d276b36fa3fac04ea9106cbc96 | |
parent | 0d30f42813716f837ca39d74657f7f715042e820 (diff) | |
download | ruby-0d1f0cd9ccb8c4d237f1eba92254a2ab306ae231.tar.gz |
runnable.rb: ignore broken symlink error on Windows [ci skip]
-rwxr-xr-x | tool/mkrunnable.rb | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/tool/mkrunnable.rb b/tool/mkrunnable.rb index 01756a3529..cb211fd474 100755 --- a/tool/mkrunnable.rb +++ b/tool/mkrunnable.rb @@ -45,6 +45,10 @@ end def ln_safe(src, dest) ln_sf(src, dest) +rescue Errno::ENOENT + # Windows disallows to create broken symboic links, probably because + # it is a kind of reparse points. + raise if File.exist?(src) end alias ln_dir_safe ln_safe @@ -64,8 +68,8 @@ def relative_path_from(path, base) base = clean_path(base) path, base = [path, base].map{|s|s.split("/")} until path.empty? or base.empty? or path[0] != base[0] - path.shift - base.shift + path.shift + base.shift end path, base = [path, base].map{|s|s.join("/")} if /(\A|\/)\.\.\// =~ base |