2015-06-09 5 views
2

У меня есть Ruby gem с тестами, и у него есть зависимость от другого драгоценного камня.Git bisect для зависимости от драгоценных камней?

Недавно был выпущен новый выпуск этого драгоценного камня, который сломал набор тестов моего драгоценного камня из-за изменения поведения.

Я знаю, какая ошибка второстепенных версий другого драгоценного камня виновата, но я хочу узнать точную фиксацию (есть несколько сотен совершений между точечными релизами), чтобы я мог понять, где проблема.

Раньше я использовал git bisect, чтобы сузить плохую фиксацию в моем репо, но могу ли я сделать что-то подобное для зависимости?

ответ

1

Вы можете сделать это с небольшим пустячный:

  1. Clone репо для драгоценного камня на месте
  2. Обновление Gemfile для извлечения драгоценного камня от мерзавца, убедившись, что вы задаете филиал
  3. В каталог приложения запустить

    bundle config --local local.mygem path/to/checkout 
    

Ваше приложение теперь должен загружать этот драгоценный камень из вашей проверки, и вы должны иметь возможность запускать git bisect на этом репо. Такие вещи, как zeus, spring, возможно, придется перезапустить после проверки каждой ревизии - они, как правило, смотрят gemfile.lock, поэтому не могут заметить, что сам камень изменяется.

Когда вы закончите, верните изменение в свой gemfile и отредактируйте .bundle/config, чтобы удалить переопределение.

Смежные вопросы