мерзавец делит пополам, не работает, никакая продукция

Я пытался использовать git bisect в последнее время, но это просто не работало. Дерево осталось во владельце, и я не видел продукции от git bisect безотносительно. Вот то, что я попробовал:

git bisect start
git bisect bad   # no output, tried a couple of times
git bisect good  # no output
git bisect reset #-> Already on 'master'

Я попробовал это на двух различных repos. Не работал. мерзавец - версия 1.6.3.3 на Ubuntu 9.10 Какие-либо идеи?

11
задан snitko 12 January 2010 в 06:05
поделиться

1 ответ

Ответ Сэма - это лучшее до сих пор, но я думаю, что карта будет лучшим выбором, чем каждый в этом случае. Вы преобразуете список элементов в список их ценностей, и это именно такого рода карта .

var list = $("td.title_listing input:checked")
    .map(function() { return $(this).val(); })
    .get().join(', ');

Отредактируйте: Упс, я пропустил, что CMS избил меня к использованию карта , он только что скрыл его под нарезанием , что я пропустил.

-121--1342323-

Введение в Git Bisect

«GIT Bisect» может быть вначале с толку. Как только вы понимаете, что это делает, это будет легко.

Типичный сценарий для «GIT Bisect»: ошибка была просто обнаружена. Вы хотите выяснить, какой REV представил ошибку. Вы знаете, что ошибка существует в последнем Rev, но она была введена в предыдущем деле. Вам понадобится способ узнать, существует ли ошибка. Это может быть автоматическим тестом, или это может быть тест, который вы работаете вручную.

Давайте начнем. Начиная с последнего обследования в вашей ветке, выпуск:

git bisect start

, а затем скажите git, что текущая версия известна, что она плохой:

git bisect bad

Теперь нам нужно найти хорошую рев. Проверьте одну вещь, достаточно старого, чтобы не иметь ошибок. Если вы думаете, что 32 Revs назад должны быть хорошими, то:

git checkout HEAD~32

и запустите свой тест, чтобы увидеть, имеет ли он ошибкой. Если у него есть ошибка, вам нужно будет попробовать даже более старый Rev (просто выдать »Git Checkout Head ~ 32" снова). Как только вы приземлитесь на REV, который не имеет ошибки, то:

git bisect good

, что говорит Git, что текущая версия хороша. Git немедленно проверит рев. Между хорошей обследованием и плохой редкой; Вы увидите вывод, например:

$ git bisect good
Bisecting: 7 revisions left to test after this (roughly 3 steps)
[909ba8cd7698720d00b2d10738f6d970a8955be4] Added convenience delegators to Cache

Запустите свой тест, и в зависимости от результатов теста, выпустите одну из этих команд:

  • GIT Bisect Хороший # Тест прошел
  • GIT BISECT BAD # не удалось
  • GIT Bisect Skip # мы не можем запустить тест на эту общую передачу по какой-то причине (не скомпилируется и т. Д.)

Git будет продолжать меняться на разные Revs, и вы продолжаете рассказывать это хорошо, плохо или пропустить. Когда Git наконец-то обнаруживает, какая редакция начала все проблемы, вы получите что-то подобное:

b25ab3cee963f4738264c9c9b5a8d1a344a94623 is the first bad commit
commit b25ab3cee963f4738264c9c9b5a8d1a344a94623
Author: Wayne Conrad <wconrad@yagni.com>
Date:   Fri Dec 25 18:20:54 2009 -0700

    More tests and refactoring

:040000 040000 6ff7502d5828598af55c7517fd9626ba019b16aa 39f346cb5a289cdb0955fcbba552f40e704b7e65 M      routecalc

И ваша текущая редакция будет там, на первом плохом комбинере.

Запуск Git Bisect «руки выключить»

, если ваш тест автоматически, то вы можете позволить Git сделать всю работу. Делайте все, что вы сделали, чтобы начать выше:

git bisect start
git bisect bad
git checkout HEAD~32    # or however far back it takes to find a good rev
git bisect good

и теперь для магии. Все, что вам нужно, это тестовая программа, которая возвращает код выхода «0» для успеха и 1 (например) для сбоя. Скажите Git о вашем тесте:

git bisect run tests/mytest.rb

GIT теперь будет запустить тест, используя результаты для автоматического выполнения «GIT Bisect Good» или «GIT BISECT BAND». Он продолжит делать это, пока не будет найден конфиг, который не будет найден. Все, что вам нужно сделать, это сесть назад и смотреть.

Когда вы закончите

, когда вы закончите, выпуск:

git bisect reset

Git вернет вас, где вы начали.

18
ответ дан 3 December 2019 в 06:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: