module Dependabot::SharedHelpers
def self.with_git_configured(credentials:, &_block)
def self.with_git_configured(credentials:, &_block) safe_directories = find_safe_directories FileUtils.mkdir_p(Utils::BUMP_TMP_DIR_PATH) previous_config = ENV.fetch("GIT_CONFIG_GLOBAL", nil) # adding a random suffix to avoid conflicts when running in parallel # some package managers like bundler will modify the global git config git_config_global_path = File.expand_path("#{SecureRandom.hex(16)}.gitconfig", Utils::BUMP_TMP_DIR_PATH) previous_terminal_prompt = ENV.fetch("GIT_TERMINAL_PROMPT", nil) begin ENV["GIT_CONFIG_GLOBAL"] = git_config_global_path ENV["GIT_TERMINAL_PROMPT"] = "false" configure_git_to_use_https_with_credentials(credentials, safe_directories, git_config_global_path) yield ensure ENV["GIT_CONFIG_GLOBAL"] = previous_config ENV["GIT_TERMINAL_PROMPT"] = previous_terminal_prompt end rescue Errno::ENOSPC => e raise Dependabot::OutOfDisk, e.message ensure FileUtils.rm_f(T.must(git_config_global_path)) end