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
committerHiroshi SHIBATA <hsbt@ruby-lang.org>2019-08-03 09:29:56 +0900
commit4b1395ab4ae7b6b9e22362ccb08d103bdec744f4 (patch)
treec8d699bba2a01d7b54be6d7a00a5465aaeec2159 /lib/bundler/source
parente405aede09c090c7356bd2986793e0328f498e04 (diff)
[bundler/bundler] Clearer MissingRevision git errors
https://github.com/bundler/bundler/commit/b47d23edf5
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