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