Как узнать, какой форк / оригинал драгоценного камня установлен в моей системе? - PullRequest
4 голосов
/ 01 марта 2011

Когда я добавляю gem 'delayed_job' в свой гемфайл, как узнать, получу ли я colleideidea / delayed_job или tobi / delayed_job ?

Кроме того, есть ли какой-нибудь способ проверить список драгоценных камней, которые я уже установил, относительно того, с какого форка / места эти камни были загружены / установлены?

Ps. Я использую RVM в Ubuntu, Bundler и Rails 3.0.3

Ответы [ 3 ]

2 голосов
/ 01 марта 2011

Нет единого способа узнать, с какого github-форка или ветки вы скачиваете. Для самоцвета delayed_job, который вы загружаете из ветки коллективаidea. На этой странице вы можете указать , где домашняя страница указывает на github fork коллективаidea. Причина, по которой вы не можете сказать, какой именно форк, в частности, заключается в том, что rubygems не связаны с репозиториями github. Это просто пакеты, которые загружаются на сайт. Из всего, что вы знаете, вы можете загружать драгоценный камень из копии чьего-то локального хранилища, которое даже не публикуется в Интернете. Вы также можете загружать данные из репозитория SVN вместо репозитория Git. В целом, сайт rubygems.org должен дать вам представление о том, как найти исходный код для драгоценного камня. Кроме того, большинство гемов github помечают свои коммиты номером версии, чтобы вы могли узнать, какую ревизию вы используете, проверив теги github / git.

1 голос
/ 05 марта 2014

Gemspec содержит атрибут homepage, который часто показывает хранилище исходного кода.Вы можете просмотреть gemspec локально установленного гема с:

gem spec delayed_job

Просмотреть домашнюю страницу с:

gem spec delayed_job | grep homepage

Тем не менее, у gemspec не всегда есть исходный репозиторий.

Чтобы помочь решить эту проблему (и другие), я написал гем под названием gemdiff.Он выполняет проверку gemspec, и если он не содержит URL-адрес github, он ищет github на предмет соответствия.Он включает исключения для драгоценных камней, таких как delayed_job, который является ответвлением исходного хранилища от tobi.

gem install gemdiff
gemdiff find delayed_job
=> http://github.com/collectiveidea/delayed_job

Более ценно, gemdiff проверит комплект вашего проекта и может показать вам разницу между исходным кодом междуверсия установленного вами драгоценного камня и самая высокая версия, которую можно установить, как определено компоновщиком.

https://github.com/teeparham/gemdiff

1 голос
/ 01 марта 2011

Если вы хотите указать местоположение git, вы можете использовать: git param:

gem "delayed_job", :git => "git://github.com/collectiveidea/delayed_job.git"
gem "delayed_job", :git => "git://github.com/tobi/delayed_job.git"

Читать подробнее о Gemfile

...