Используя posh-git в powershell, я могу перечислить все элементы в рабочем дереве, которые изменились, с помощью переменной коллекции $ GitStatus.Working, я могу использовать этот список в предложении where для фильтрации списка каталогов, например: так
dir | where {$GitStatus.Working -contains $_.Name}
это действительно хорошо работает для отображения всех файлов в текущем каталоге, которые были изменены, но еще не внесены в индекс, однако, когда я запускаю эту же команду с директивой -recurse, файлы больше не совпадают. Я не понимаю почему. Есть идеи?
(Обратите внимание, Posh-GiTDir от Скотт Хансельман страдает от той же проблемы, что неудивительно, поскольку он использует в основном ту же технику для отображения столбца "Git")
Edit: Это началось, когда я заметил, что столбец Posh-GitDir Git ничего не отображал, когда я делал рекурсивный список каталогов. Полезно иметь возможность быстро увидеть, что изменилось «из этой папки», я посмотрел, как Posh-GitDir получает свою информацию, чтобы попытаться отладить, почему она не работает для рекурса.