Как использовать инструменты поиска черепах?
Я хочу найти определенную фразу (т.е. "comma_delimited" ) в определенном файле (т.е. "index.php" ) в конкретной ветке (например, "ABC-123" ). Причина этого заключается в том, что текст больше не находится в файле, и я хочу видеть, на какой фиксации он был вынут, не глядя на каждую ревизию этого файла в этой ветке.
Есть ли способ сделать это в черепахе? Я вижу, что есть кнопка "Поиск", в которой отображается панель поиска, где вы можете вводить шаблоны, но я не знаю, как ее использовать (и не знаю, как писать шаблоны), и после поиска в течение некоторого времени не нашел полезной информацию об этом.
Спасибо
Ответы
Ответ 1
Есть две кнопки поиска - одна для поиска в репозитории, а другая - для фильтрации графика ревизии. Может быть, вы нажали на неправильный?
Если вы используете меню для выбора "Просмотр/поиск", это позволяет выбрать желаемый вид поиска.
Он должен показать вам большую панель под графиком ревизии с количеством элементов управления, которые нужно заполнить.
- Введите "comma_delimited" в первый элемент управления редактированием (в той же строке, что и кнопки поиска и остановки справа)
- Выберите переключатель "Все истории" ниже этого элемента управления редактирования.
- Введите
**index.php
в элемент управления редактирования с надписью "Включает" (или полный путь к index.php
, если у вас более одного и вы хотите ограничить поиск определенным файлом)
- Нажмите кнопку поиска
В нижней части окна должен быть указан список изменений, которые включают эту фразу. Он покажет, когда он был добавлен (с префиксом "+" ), и когда он был удален (с префиксом "-" )
Вот пример окна поиска:
![Example search window]()
Ответ 2
Поле поиска TortoiseHg поддерживает revsets. Похоже, существует функция grep(regex)
, но похоже, что это всего лишь вариант регулярного выражения функции ключевого слова, который ищет только "сообщение фиксации, имя пользователя и имена измененных файлов". Облом. Похоже, вы единственный выбор - использовать Mercurial grep
команда:
> hg grep -r ABC-123 'comma_delimited' index.php