lib/git_bundle/cli.rb in git-bundle-1.0.1 vs lib/git_bundle/cli.rb in git-bundle-1.0.2
- old
+ new
@@ -10,42 +10,23 @@
def invoke(args)
case args[0]
when nil, '--help', 'help'
puts `git #{args.join(' ')}`.gsub('git', 'gitb')
when 'push'
- push = GitBundle::Push.new(@repositories, args[1..-1])
- push.invoke if push.prompt_confirm
+ GitBundle::Commands::Push.new(@repositories, args[1..-1]).invoke
else
- exec_all(args)
+ GitBundle::Commands::Generic.new(@repositories, args).invoke
end
-
- puts_error @errors.join('\n') unless @errors.empty?
end
- def exec_all(*argv)
- exec_errors = []
- @repositories.each do |repo|
- puts_repo_heading(repo)
- puts repo.execute_git(argv.join(' '))
- exec_errors << repo.name unless $?.exitstatus == 0
- end
-
- @errors << "Command failed in #{exec_errors.join(', ')}." unless exec_errors.empty?
- end
-
private
def load_repositories
@repositories = []
- begin
- lockfile_content = Bundler.read_file(Bundler.default_lockfile)
- all_specs = Bundler::LockfileParser.new(lockfile_content).specs
+ if Bundler.locked_gems
Bundler.settings.local_overrides.each do |name, path|
- spec = all_specs.find { |s| s.name == name }
+ spec = Bundler.locked_gems.specs.find { |s| s.name == name }
@repositories << GitBundle::Repository.new_dependant(spec.name, path, spec.source.branch, spec.source.revision) if spec
end
-
- rescue Bundler::LockfileError
- @errors << "Error reading #{Bundler.default_lockfile}: \n\t#{error.message}."
end
@repositories << GitBundle::Repository.new_main(File.basename(Dir.getwd), Dir.getwd)
end
end