Как выполнить поиск по всем коммитам Git и Mercurial в хранилище для определенной строки?

У меня есть Git-репозиторий с несколькими ветками и висячими коммитами. Я хотел бы найти все такие коммиты в хранилище для конкретной строки.

Я знаю, как получить журнал всех коммитов в истории, но они не включают ветки или висячие сгустки, только историю HEAD. Я хочу получить их все, чтобы найти конкретный коммит, который оказался неуместным.

Я также хотел бы знать, как сделать это в Mercurial, так как я рассматриваю переход.