Jak uzyskać konkretne „zatwierdzenie” klejnotu z github?


155

Używam rails_admin , a ponieważ jest on w (bardzo) aktywnym rozwoju, od czasu do czasu pojawiają się błędy.

O ile wiem, nie ma wersji klejnotu na githubie, więc nie mogę użyć :versionklucza do deklaracji klejnotu w pliku Gemfile.

Czy istnieje sposób na „powiązanie” określonego zatwierdzenia (o którym wiem, że działa dobrze) z plikiem Gemfile?

Obecnie mam w moim Gemfile:

gem 'rails_admin', 
  :git => 'git://github.com/sferik/rails_admin.git'

Chciałbym móc zrobić coś takiego (przykład „commit_id”):

gem 'rails_admin', 
  :git => 'git://github.com/sferik/rails_admin.git',
  :commit_id => "4e7d53e3c5c4c3c5c43c3"

Czy można to zrobić z githubem?

Odpowiedzi:


271

Każdy z nich powinien działać:

gem 'rails', :git => 'git://github.com/rails/rails.git', :ref => '4aded'

gem 'rails', :git => 'git://github.com/rails/rails.git', :branch => '2-3-stable'

gem 'rails', :git => 'git://github.com/rails/rails.git', :tag => 'v2.3.5'

Źródło: Jak zainstalować klejnoty z repozytoriów git


1
Po prostu dlatego, że wszystkie z nich (i .git/HEAD) są referencjami w git :). Więcej: git-scm.com/book/en/v2/Git-Internals-Git-References
medik

63

Krótsza wersja:

gem 'rails', :github => 'rails/rails', :ref => '4aded'

Lub w Rubim 1.9+

gem 'rails', github: 'rails/rails', ref: '4aded'

I ustawiając domyślne źródło githuba na https z tym:git_source(:github) do |repo_name| repo_name = "#{repo_name}/#{repo_name}" unless repo_name.include?("/") "https://github.com/#{repo_name}.git" end
Dorian
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.