diff options
author | David RodrÃguez <deivid.rodriguez@riseup.net> | 2019-04-10 11:58:30 +0200 |
---|---|---|
committer | Hiroshi SHIBATA <hsbt@ruby-lang.org> | 2019-08-03 09:29:56 +0900 |
commit | 4b1395ab4ae7b6b9e22362ccb08d103bdec744f4 (patch) | |
tree | c8d699bba2a01d7b54be6d7a00a5465aaeec2159 /lib/bundler | |
parent | e405aede09c090c7356bd2986793e0328f498e04 (diff) |
[bundler/bundler] Clearer MissingRevision git errors
https://github.com/bundler/bundler/commit/b47d23edf5
Diffstat (limited to 'lib/bundler')
-rw-r--r-- | lib/bundler/source/git/git_proxy.rb | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/lib/bundler/source/git/git_proxy.rb b/lib/bundler/source/git/git_proxy.rb index f5af10f206..c383c5ecbb 100644 --- a/lib/bundler/source/git/git_proxy.rb +++ b/lib/bundler/source/git/git_proxy.rb @@ -26,7 +26,11 @@ module Bundler end class GitCommandError < GitError + attr_reader :command + def initialize(command, path = nil, extra_info = nil) + @command = command + msg = String.new msg << "Git error: command `git #{command}` in directory #{SharedHelpers.pwd} has failed." msg << "\n#{extra_info}" if extra_info @@ -35,10 +39,10 @@ module Bundler end end - class MissingGitRevisionError < GitError - def initialize(ref, repo) + class MissingGitRevisionError < GitCommandError + def initialize(command, path, ref, repo) msg = "Revision #{ref} does not exist in the repository #{repo}. Maybe you misspelled it?" - super msg + super command, path, msg end end @@ -63,8 +67,8 @@ module Bundler begin @revision ||= find_local_revision - rescue GitCommandError - raise MissingGitRevisionError.new(ref, URICredentialsFilter.credential_filtered_uri(uri)) + rescue GitCommandError => e + raise MissingGitRevisionError.new(e.command, path, ref, URICredentialsFilter.credential_filtered_uri(uri)) end @revision @@ -135,8 +139,8 @@ module Bundler begin git "reset --hard #{@revision}" - rescue GitCommandError - raise MissingGitRevisionError.new(@revision, URICredentialsFilter.credential_filtered_uri(uri)) + rescue GitCommandError => e + raise MissingGitRevisionError.new(e.command, path, @revision, URICredentialsFilter.credential_filtered_uri(uri)) end if submodules |