ABDiff 帮助

App Store 应用的磁盘访问

ABDiff是一个App Store应用程序,因此它在苹果的沙盒中运行。 沙盒会阻止应用程序读取文件,除非您明确授予访问权限(例如,通过选择文件夹、拖动文件或在设置中添加访问根)。

这就是为什么你有时会看到这样的提示:

“ABDiff需要访问此文件夹才能打开Git传递的文件。”

为什么git difftool会触发磁盘访问提示

当您运行git difftool时,Git通常会创建它想要比较的文件的临时副本。 这些位于macOS临时文件夹中,例如:

/private/var/folders/.../T/...

这些路径在您的回购文件夹之外,因此像/Users/you/Developer/code这样的已保存访问根不适用。 因此,ABDiff要求您批准一个包含临时文件的文件夹,以便可以打开它们。

如果您拒绝提示,ABDiff将无法读取临时文件,您将看到“无权限读取…”等错误。

怎么办

使用以下选项之一:

您可以在设置→文件夹访问中查看或删除已保存的访问根。

  1. 提示时允许建议的文件夹。 ABDiff将所选文件夹添加到设置→文件夹访问,以便无需提示即可重复使用(除非您禁用“在此处保存Git访问提示”)。

  2. 如果您经常使用Git difftool,在设置中添加更广泛的访问根,例如:

    • /private/var/folders
  3. 通过比较repo中的真实文件而不是git difftool来避免临时路径,例如将文件拖到ABDiff中。

为什么它看起来像“全磁盘访问”

如果Git从不同位置传递文件(例如,一个在你的repo中,一个在/private/var/…),唯一的公共父可能是/。 在这种情况下,系统选择器可以看起来像“整个磁盘”,但ABDiff仍然只读取您打开的文件。

ABDiff不自行请求全磁盘访问,也不扫描您的驱动器。 它只读取您明确选择打开或授予访问权限的文件和文件夹。

相关主题