Звучит вопрос, конечно, немного забавно - почему что-то висит при большой обработке...
Пробуем перевести большой репозиторий Subversion в Git.
~ 50k файлов, 30к коммитов, 10 лет.
Полученный репозиторий в Git клонирую локально, в клиенте Git Extensions запускаю просмотр истории файла — клиент уходит в серое окно, процессор локальной машины уходит в высокую нагрузку. Другие клиенты ведут себя похоже.
В GE выбираю F12 посмотреть команду.
git -c log.showSignature=false log --format="????%H" --name-only --follow --find-renames --find-copies -- "src/filename"
Пробую эту команду в cmd.exe, убираю ключи, оставляю только
git log "src/filename"
— гит быстро (пара секунд) выводит найденные недавние коммиты (попался файл недавний), но не завершается, а висит около 20-30с сек в "Waiting for data... (^X or interrupt to abort)" с той самой нагрузкой процессора — видимо смотрит оставшуюся часть репозитория.
Перебирая клиентов заметил, что клиент Sublime Merge ведет себя немного иначе с историей — отображает получаемую информацию по мере получения коммитов в процессе исполнения команды и не виснет. Видимо, умеет параллельно отображать итоги, не дожидаясь завершения основной команды.
С ходу в Git Extensions не нашел возможности какой-то из настроек повторить такое поведение — "не висеть недоступно до конца выполнения команды".
Не подскажете, можно ли все же Git Extensions попросить не виснуть до завершения базовой команды?
Радость разработчиков от необходимости ожидания 30 сек при необходимости просмотра истории файла трудно описать...