Как искать историю репозитория мерзавца для нахождения ошибки слияния?

Вы можете перечислить все шаги и отметить текущую ревизию, выполнив flask db history.

  • Добавьте переключатель -i / --indicate-current, чтобы отметить «текущее» состояние базы данных.
  • Используйте -v / --verbose, чтобы добавить информацию, например полный путь для миграции скрипт и заголовок скрипта.
$ flask db history --help
Usage: flask db history [OPTIONS]

  List changeset scripts in chronological order.

Options:
  -d, --directory TEXT    migration script directory (default is "migrations")
  -r, --rev-range TEXT    Specify a revision range; format is [start]:[end]
  -v, --verbose           Use more verbose output
  -i, --indicate-current  Indicate current version (Alembic 0.9.9 or greater
                          is required)
  --help                  Show this message and exit.
8
задан Atlas1j 8 July 2009 в 03:03
поделиться

3 ответа

Если Вы знаете строку в файле, который был изменен слиянием ответвления мерзавца, можно сделать 'мерзавца, обвиняют file.txt' и определяют число хеша фиксации и фиксируют автора строки в файле. Затем можно пройти журнал мерзавца и потянуть точную фиксацию, связанную с плохим слиянием ответвления.

Править: В ответ на комментарии автора при поиске исчезновения определенной строки затем, 'разность мерзавца', объединенная с grep и двоичным поиском, могла быть тем, что Вы хотите. скажем, у Вас есть числа фиксации 0,1,2,3,4,5,6. Вы знаете, что строка существовала в пересмотре 0, но исчезла в пересмотре 6. Используйте 'разность мерзавца' плюс grep для поиска исчезновения.

git diff 0 6 | grep '- line I care about'

Первое повторение, Вы будете видеть строку, о которой Вы заботитесь об исчезновении. Затем Вы сокращаете число пересмотра в половине и попробовали еще раз

git diff 0 3 | grep '- line I care about'

Если grep все еще показывает исчезновение строки (с '-' знак), то Вы знаете, что строка исчезла в пересмотре от 0 до 3. Если grep не показывает исчезновение строки, то строка исчезла в изменениях 4-6.

Продолжайте сокращать изменения в половине, пока Вы не найдете преступника.

7
ответ дан 3 November 2019 в 12:57
поделиться

Без большего количества деталей я могу только намекнуть на возможные решения. Если Вы знаете файл или затронутую строку, можно попробовать любую вину мерзавца (git blame *file*, или git blame *revision* *file*), или можно попробовать так называемый 'поиск кирки' журналом мерзавца, т.е. git log -S'*line* попытка найти пересмотр, который представил данную строку или удалил данную строку. Можно найти и исследовать все слияния, например, через git log -p -m --grep=Merge, и исследуйте, как они касаются своих родителей (-m покажите diffs всем родителям; альтернативно -c шоу объединили разность, но не показывают тривиальные изменения слияния, т.е. если одна сторона была взята).

10
ответ дан 3 November 2019 в 12:57
поделиться

Может мерзавец - делить пополам справку в своем случае?

9
ответ дан 3 November 2019 в 12:57
поделиться
Другие вопросы по тегам:

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