ABDiff-Hilfe

Festplattenzugriff für App-Store-Apps

ABDiff ist eine App Store-App, also läuft sie in der Sandbox von Apple. Die Sandbox verhindert, dass die App Dateien liest, es sei denn, Sie gewähren explizit Zugriff (z. B. indem Sie einen Ordner auswählen, Dateien hineinziehen oder ein Zugriffsstammstamm in Einstellungen hinzufügen).

Deshalb sehen Sie manchmal eine Aufforderung wie:

“ABDiff benötigt Zugriff auf diesen Ordner, um von Git übergebene Dateien zu öffnen.”

Warum git difftool eine Eingabeaufforderung für den Festplattenzugriff auslöst

Wenn Sie git difftool ausführen, erstellt Git normalerweise temporäre Kopien der Dateien, die es vergleichen möchte. Diese befinden sich in macOS-Temp-Ordnern wie:

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

Diese Pfade befinden sich ** außerhalb Ihres Repo-Ordners**, daher gilt ein gespeicherter Zugriffsroot wie /Users/you/Developer/code nicht. ABDiff bittet Sie daher, einen Ordner zu genehmigen, der die temporären Dateien abdeckt, damit es sie öffnen kann.

Wenn Sie die Eingabeaufforderung ablehnen, kann ABDiff die temporären Dateien nicht lesen und Sie sehen Fehler wie “Keine Berechtigung zum Lesen …”.

Was zu tun ist

Verwenden Sie eine dieser Optionen:

Sie können gespeicherte Zugriffswurzeln in Einstellungen → Ordnerzugriff überprüfen oder entfernen.

  1. Erlauben Sie den vorgeschlagenen Ordner, wenn Sie dazu aufgefordert werden. ABDiff fügt den ausgewählten Ordner zu Einstellungen → Ordnerzugriff hinzu, damit er ohne Aufforderung wiederverwendet werden kann (es sei denn, Sie deaktivieren “Git-Zugriffsaufforderungen hier speichern”).

  2. Fügen Sie in den Einstellungen ein breiteres Zugriffsroot hinzu, wenn Sie Git difftool häufig verwenden, zum Beispiel:

    • /private/var/folders
  3. Vermeiden Sie temporäre Pfade, indem Sie echte Dateien in Ihrem Repo anstelle von git difftool vergleichen, z.B. ziehen Sie die Dateien in ABDiff.

Warum es wie „Vollzugriff auf die Festplatte„ aussieht

Wenn Git Dateien von verschiedenen Orten aus übergibt (z. B. eine in Ihrem Repo, eine in /private/var/...), kann das einzige gemeinsame übergeordnete / sein. In diesem Fall kann die Systemauswahl wie “die gesamte Festplatte” aussehen, aber ABDiff liest immer noch nur die Dateien, die Sie öffnen.

ABDiff fordert nicht allein vollen Festplattenzugriff an und scannt Ihr Laufwerk nicht. Es liest nur Dateien und Ordner, die Sie explizit öffnen oder auf die Sie Zugriff gewähren.

Verwandte Themen