mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
Fix file/directory name parameter for git command.
This commit is contained in:
@@ -24,6 +24,14 @@ module MRuby
|
||||
target
|
||||
end
|
||||
|
||||
def shellquote(s)
|
||||
if ENV['OS'] == 'Windows_NT'
|
||||
"\"#{s}\""
|
||||
else
|
||||
"#{s}"
|
||||
end
|
||||
end
|
||||
|
||||
NotFoundCommands = {}
|
||||
|
||||
private
|
||||
@@ -278,9 +286,9 @@ module MRuby
|
||||
@command = 'git'
|
||||
@flags = %w[]
|
||||
@clone_options = "clone %{flags} %{url} %{dir}"
|
||||
@pull_options = "--git-dir '%{repo_dir}/.git' --work-tree '%{repo_dir}' pull"
|
||||
@checkout_options = "--git-dir '%{repo_dir}/.git' --work-tree '%{repo_dir}' checkout %{checksum_hash}"
|
||||
@reset_options = "--git-dir '%{repo_dir}/.git' --work-tree '%{repo_dir}' reset %{checksum_hash}"
|
||||
@pull_options = "--git-dir #{shellquote("%{repo_dir}/.git")} --work-tree #{shellquote("%{repo_dir}")} pull"
|
||||
@checkout_options = "--git-dir #{shellquote("%{repo_dir}/.git")} --work-tree #{shellquote("%{repo_dir}")} checkout %{checksum_hash}"
|
||||
@reset_options = "--git-dir #{shellquote("%{repo_dir}/.git")} --work-tree #{shellquote("%{repo_dir}")} reset %{checksum_hash}"
|
||||
end
|
||||
|
||||
def run_clone(dir, url, _flags = [])
|
||||
@@ -304,11 +312,11 @@ module MRuby
|
||||
end
|
||||
|
||||
def commit_hash(dir)
|
||||
`#{@command} --git-dir '#{dir}/.git' --work-tree '#{dir}' rev-parse --verify HEAD`.strip
|
||||
`#{@command} --git-dir #{shellquote(dir +'/.git')} --work-tree #{shellquote(dir)} rev-parse --verify HEAD`.strip
|
||||
end
|
||||
|
||||
def current_branch(dir)
|
||||
`#{@command} --git-dir '#{dir}/.git' --work-tree '#{dir}' rev-parse --abbrev-ref HEAD`.strip
|
||||
`#{@command} --git-dir #{shellquote(dir + '/.git')} --work-tree #{shellquote(dir)} rev-parse --abbrev-ref HEAD`.strip
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@@ -54,6 +54,14 @@ module MRuby
|
||||
end
|
||||
end
|
||||
|
||||
def shellquote(s)
|
||||
if ENV['OS'] == 'Windows_NT'
|
||||
"\"#{s}\""
|
||||
else
|
||||
"'#{s}'"
|
||||
end
|
||||
end
|
||||
|
||||
def mruby
|
||||
mruby = {
|
||||
'version' => MRuby::Source::MRUBY_VERSION,
|
||||
@@ -62,7 +70,7 @@ module MRuby
|
||||
|
||||
git_dir = "#{MRUBY_ROOT}/.git"
|
||||
if File.directory?(git_dir)
|
||||
mruby['git_commit'] = `git --git-dir '#{git_dir}' --work-tree '#{MRUBY_ROOT}' rev-parse --verify HEAD`.strip
|
||||
mruby['git_commit'] = `git --git-dir #{shellquote(git_dir)} --work-tree #{shellquote(MRUBY_ROOT)} rev-parse --verify HEAD`.strip
|
||||
end
|
||||
|
||||
mruby
|
||||
|
||||
Reference in New Issue
Block a user