summaryrefslogtreecommitdiff
path: root/lib/bundler/source
diff options
context:
space:
mode:
authorDavid Rodríguez <deivid.rodriguez@riseup.net>2019-04-10 11:58:30 +0200
committerDavid Rodríguez <deivid.rodriguez@riseup.net>2019-06-27 13:16:41 +0200
commitb47d23edf5fd7a0c7236c2bc66e5b132a5aa55ae (patch)
tree78461ecc0778724764e02e728966e82b1688c89c /lib/bundler/source
parent391b11966efb140a9ba204ca4e05ec7694296ce0 (diff)
downloadbundler-b47d23edf5fd7a0c7236c2bc66e5b132a5aa55ae.tar.gz
Clearer MissingRevision git errors
Diffstat (limited to 'lib/bundler/source')
-rw-r--r--lib/bundler/source/git/git_proxy.rb18
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