def run(*args)
registry = optparse(*args).map do |gemfile|
if @use_git
load_git_commit(gemfile)
Registry.all.map {|o| o.path }
else
if load_gem_data(gemfile)
log.info "Found #{gemfile}"
Registry.all.map {|o| o.path }
else
log.error "Cannot find gem #{gemfile}"
nil
end
end
end.compact
return if registry.size != 2
[ ["Added objects", registry[1] - registry[0]],
["Removed objects", registry[0] - registry[1]]].each do |name, objects|
next if objects.empty?
last_object = nil
all_objects_notice = false
puts name + ":"
objects.sort.each do |object|
if !@list_all && last_object && object =~ /#{Regexp.quote last_object}(::|\.|#)/
print " (...)" unless all_objects_notice
all_objects_notice = true
next
else
puts
end
all_objects_notice = false
print " " + object
last_object = object
end
puts
puts
end
end