aboutsummaryrefslogtreecommitdiffstats
path: root/spec/bundler/support
diff options
context:
space:
mode:
authorKazuhiro NISHIYAMA <zn@mbf.nifty.com>2020-05-25 20:00:50 +0900
committerKazuhiro NISHIYAMA <zn@mbf.nifty.com>2020-05-25 20:08:30 +0900
commit67d2a715ca35090fbb3ab13df5b7348b1807dd47 (patch)
treec8150022f9b2db8a209146ac0c8a02e1dacbf67e /spec/bundler/support
parent45ffab365d14625d972bddd8b2c79e7036a3713d (diff)
downloadruby-67d2a715ca35090fbb3ab13df5b7348b1807dd47.tar.gz
Fix a error in a `before(:suite)` hook
https://github.com/ruby/actions/runs/703745101?check_suite_focus=true#step:16:27 ``` An error occurred in a `before(:suite)` hook. Failure/Error: contents = File.read(version_file) Errno::ENOENT: No such file or directory @ rb_sysopen - /home/runner/work/actions/actions/snapshot-master/tmp/1/bundler-2.2.0.dev/lib/bundler/version.rb ```
Diffstat (limited to 'spec/bundler/support')
-rw-r--r--spec/bundler/support/path.rb18
1 files changed, 18 insertions, 0 deletions
diff --git a/spec/bundler/support/path.rb b/spec/bundler/support/path.rb
index a810f0735f..4cf604a267 100644
--- a/spec/bundler/support/path.rb
+++ b/spec/bundler/support/path.rb
@@ -235,6 +235,24 @@ module Spec
def git_ls_files(glob)
sys_exec("git ls-files -z -- #{glob}", :dir => source_root).split("\x0")
+ ensure
+ if err == "fatal: not a git repository (or any of the parent directories): .git"
+ @command_executions.pop # Remove failed "git ls-files"
+ Dir.chdir(source_root) do
+ files = []
+ Dir.glob(glob.shellsplit) do |path|
+ if File.directory?(path)
+ Dir.glob("#{path}/**/{*,.*}") do |sub_path|
+ next if File.directory?(sub_path)
+ files << sub_path
+ end
+ else
+ files << path
+ end
+ end
+ return files.uniq
+ end
+ end
end
def tracked_files_glob