На моём текущем проекте мне прилетела следующая задача: мол, когда-то в проекте были тесты по одной из фич, но когда подчищали неиспользуемый код, поудаляли все неиспользуемые тесты, в том числе и эти. Задача была найти и восстановить все тесты по этой фиче.
Проблема была в том, что я не знал ни названий файлов классов, ни где они лежали, ни кто ух удалил и когда.
Плюс в той версии BitBucket, которая используется на проекте (Atlassian Bitbucket v4.3.2), в веб интерфейсе нет ни омни бара, ни строки поиска. Горячие клавишы вызова поиска также не срабатывали.
Итого я знал только название фичи: Porch
Итак, с чего я начал. Для начала я решил найти в истории гита хотя бы имена нужных мне классов. Делал я это в IDE.
Таким образом я узнал имя одного из файлов и его путь.
Далее на помощь пришёл гугл.
Команда поиска последнего коммита, который связан с указанным файлом, выглядит следующим образом:
git rev-list -n 1 HEAD — src/test/java/products/drs/Porch3rdLevelTests.java
Далее берём полученный id ревизии и подставляем его в адрес для просмотра в браузере — stash.example.org/projects/QAAUTO/repos/content-qa-automation/commits/6bfae38c3378963049fc5b61a02d29c1ec902e72
Автор: Возле ректора