summaryrefslogtreecommitdiff
path: root/tool/mkrunnable.rb
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2020-05-30 01:15:23 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2020-05-30 01:15:23 +0900
commit0d1f0cd9ccb8c4d237f1eba92254a2ab306ae231 (patch)
treec3ed04dcb2ed58d276b36fa3fac04ea9106cbc96 /tool/mkrunnable.rb
parent0d30f42813716f837ca39d74657f7f715042e820 (diff)
runnable.rb: ignore broken symlink error on Windows [ci skip]
Diffstat (limited to 'tool/mkrunnable.rb')
-rwxr-xr-xtool/mkrunnable.rb8
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