Я использую WSL (Windows Subsystem для Linux) bash для обработки команд git в моих проектах Visual Studio. У меня настроена команда difftool для запуска Beyond Compare (программа Windows). То, что я вижу, это Beyond Compare, который блокирует только те файлы, которые он показывает. Файл разблокируется, когда Beyond Compare закрыто. Beyond Compare, используемый непосредственно из Windows, не блокирует файлы.

Репро шаги

  1. Настройте git config difftool для использования Beyond Compare 1
  2. Внесите изменения в исходный файл
  3. Запустите difftool (git difftool &), чтобы запустить Beyond Compare
  4. Сделайте еще одно редактирование исходного файла (например, с использованием кода Visual Studio или Visual Studio) и попытайтесь сохранить файл
  5. Наблюдайте за ошибкой сохранения файла

Я могу вносить изменения в Beyond Compare, но часто я предпочитаю вносить изменения в Visual Studio.

Есть ли способ / способ обойти эту проблему?

Я нашел эту статью о wls.conf и попробую настроить /etc/wsl.conf как [automount] enabled=true options=uid=1000,umask=0022,fmask=0022,dmask=0022 когда я получу сборку Windows версия, которая его поддерживает (17093 против моей нынешней 16299) в будущем. Есть ли wsl.conf, который исправит мою проблему?

1 [difftool "bcomp"]
cmd = \"/mnt/c/Program Files/Beyond Compare 4/BComp.exe \" \"$(winpath \" $ LOCAL \")\" \"$(winpath \" $ REMOTE \")\" /lefttitle = \"$(winpath \" $ LOCAL \")\" /righttitle = \"$(winpath \" $ REMOTE \")\"

0