WSL-bash 启动的 Windows 应用程序专门锁定文件

WSL-bash 启动的 Windows 应用程序专门锁定文件

我正在使用 WSL(适用于 Linux 的 Windows 子系统)bash 来处理 Visual Studio 项目上的 git 命令。我已将命令difftool配置为启动 Beyond Compare(Windows 程序)。我看到的是 Beyond Compare 专门锁定了它显示的文件。当 Beyond Compare 关闭时,文件将解锁。直接从 Windows 使用的 Beyond Compare 不会锁定文件。

重现步骤:

  1. 设置 git config difftool 以使用 Beyond Compare 1
  2. 编辑源文件
  3. 运行 difftool ( git difftool &) 启动 Beyond Compare
  4. 对源文件进行另一次编辑(例如,使用 Visual Studio 或 Visual Studio Code)并尝试保存文件
  5. 观察保存文件时的错误

我可以在 Beyond Compare 中进行编辑,但很多时候更喜欢在 Visual Studio 中进行编辑。

有没有什么办法/解决方法可以解决这个问题?

我确实找到了这个文章关于, 我将在将来获得支持它的 Windows 版本(17093 而不是我当前的 16299)时尝试 wls.conf进行设置。是否有 wsl.conf 可以解决我的问题?/etc/wsl.conf [automount] enabled=true options=uid=1000,umask=0022,fmask=0022,dmask=0022

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

答案1

我找到了一个适合我的解决方案,那就是升级到 Windows 1903。1903 版本的 WSL 使用9P协议文件服务器从而解决了问题。

相关内容