Git с ExamDiff Pro запрашивает изменения файлов во время сравнения каталогов
Я использую ExamDiff Pro с git для Windows под Windows 10.
Когда я бегу
git difftool --dir-diff <branch1> <branch2>
, открывается экран сравнения каталогов EDP, показывающий разные файлы, но затем я начинаю получать всплывающие окна о том, что файлы изменились, предлагая мне провести повторное сравнение.
Я не знаю, связана ли проблема с моими настройками git (ниже), с ExamDiff или с Windows.
[core]
autocrlf = true
fscache = true
symlinks = false
useBuiltinFSMonitor = true
compression = 0
[diff]
tool = edp
guitool = edp
[difftool "edp"]
path = "C:\\Program Files\\ExamDiff Pro\\ExamDiff.exe"
cmd = "\"C:\\Program Files\\ExamDiff Pro\\ExamDiff.exe\" \"$LOCAL\" \"$REMOTE\" -nh -r2"
trustExitCode = false
1 ответ
Я понял, что происходит.
Я использовал SysInternals Process Monitor, чтобы увидеть, какие процессы обращаются к файлам. Оказалось, что к файлам обращаются два процесса: Защитник Windows и (очевидно) ExamDiff.
Происходит следующее: как только git копирует файлы во временную папку, Защитник Windows начинает их сканирование в фоновом режиме.
Теперь и антивирус не должен изменять файлы, которые он сканирует, но, по-видимому, он это делает, изменяя расширенные атрибуты файлов:
MsSense.exe,6168,SetEAFile,C:\Temp\git-difftool.a35220\right\Dir1\Dir2\Dir3\File.cpp,SUCCESS,
Это никак не должно повлиять на сравнение, но, по-видимому, вызывает уведомление об изменении каталога.
ExamDiff.exe,22236,NotifyChangeDirectory,C:\Temp\git-difftool.a35220\right,SUCCESS,"Filter: FILE_NOTIFY_CHANGE_FILE_NAME, FILE_NOTIFY_CHANGE_DIR_NAME, FILE_NOTIFY_CHANGE_ATTRIBUTES, FILE_NOTIFY_CHANGE_SIZE, FILE_NOTIFY_CHANGE_LAST_WRITE, FILE_NOTIFY_CHANGE_CREATION, FILE_NOTIFY_CHANGE_SECURITY"
И вот что у нас есть:ExamDiff прослушивает изменения каталога (содержимого файла или метаданных), чтобы предупредить пользователя об изменении каталога. Он не заботится об изменении расширенных атрибутов NTFS, не фильтрует (или не может) их.
Интересно, есть ли способ в Win32 проверить, не повлияло ли изменение на что-либо, кроме расширенных атрибутов (без сохранения состояния папки и сравнения), но это другой вопрос.
Изменить: нашел ссылку:https://social.technet.microsoft.com/Forums/en-US/c900b28d-4281-4a98-b6ca-418cf84f3cab/microsoft-defender-atp-mssenseexe-is-creating-extended-attributes