Gemäß dieser QA können wir safe.directory
ein Argument verwenden, um ein Verzeichnis hinzuzufügen, das aufgrund des neuesten CVE, das auf Git gefunden wurde, als Whitelist markiert werden soll. Aber es scheint, dass es keine Möglichkeit gibt, bestimmte Verzeichnisse rekursiv hinzuzufügen.
Ich muss so viele Repositories hinzufügen, also möchte ich stattdessen rekursives Hinzufügen verwenden, wenn die Funktion vorhanden ist. Die Repositorys befinden sich hauptsächlich auf meiner gemounteten NTFS-Festplatte unter Ubuntu, sodass der Eigentümer der darin enthaltenen Dateien immer root ist. Es sieht so aus, als ob das neueste Update Git-Operationen einschränkt, wenn der angemeldete Benutzer nicht mit dem Besitzer des Git-Verzeichnisses übereinstimmt, indem ein Fehler wie fatal: unsafe repository ('/media/data1/project1/si/project' is owned by someone else
.
Lösung des Problems
Was ich vorerst getan habe, aber möglicherweise nicht die perfekte Lösung ist, ist, alle Ordner zu finden und sie über einen Befehl .git
hinzuzufügen.find
find /full/path -name '.git' -type d -exec bash -c 'git config --global --add safe.directory ${0%/.git}' {} \;
Ich möchte daran erinnern, dass es notwendig ist, den vollständigen Pfad im Find-Befehl hinzuzufügen, damit der vollständige Pfad aufgelöst wird.
Keine Kommentare:
Kommentar veröffentlichen