So aktualisieren Sie SVN unter OSX 10.11 El Capitan mit aktiviertem SIP

Ich versuche, meine SVN-Version auf OSX 10.11 El Capitan zu aktualisieren. Ich habe die neueste SVN-Version von installiert brew install svn. Wenn ich tippe svn --versionbekomme ich immer noch die alte Version. Durch viel Lesen verstehe ich, dass ich den symbolischen Link vom alten SVN zum neuen SVN ändern muss, das mit Brew installiert wurde. Dies geschieht, indem die alte symbolische Verknüpfung mit gelöscht sudo rm /usr/bin/svnund die neue mit erstellt wird sudo ln -s /usr/local/lib/svn /usr/lib/svn. Das Problem ist, dass der neue "System Integrity Protection" von OS X El Capitan den Zugriff auf das /usr/bin-Verzeichnis blockiert. Ich habe eine einfache Möglichkeit gefunden, SIP zu deaktivieren, aber ich suche nach einer Möglichkeit, dies zu tun, ohne SIP zu deaktivieren. Gibt es eine Möglichkeit, dies zu tun? Was wird die beste Praxis sein?

Antworten (1)

Anstatt eine geschützte Datei zu ändern, warum ändern Sie nicht Ihren Pfad, sodass das neuere SVN von Ihren Skripten und Benutzern aufgerufen wird?

Das ist die bewährte Methode, da Sie nicht das Betriebssystem, sondern die Umgebung kontrollieren. Zweitbeste wäre, SIP zu deaktivieren und die gewünschte Datei zu überschreiben, dann SIP wieder zu aktivieren. Der Grund, warum es das zweitbeste ist, ist, dass es länger dauert, Sie das Deaktivieren von SIP lernen müssen und das nächste Mal, wenn Apple das Tool patcht, Ihre Arbeit rückgängig gemacht wird.

Das Ändern des Pfads wird nicht rückgängig gemacht, wenn Apple das Betriebssystem aktualisiert. Das gilt auch vor SIP :

Ersetzen Sie in den obigen Beispielen einfach git durch svn.

Danke! Ich glaube, ich fange an, dieses neue SIP-Ding zu akzeptieren und zu verstehen.
Ich auch, @AmitOS, ich auch. Apple kommt nicht heraus und erklärt, warum es im Detail funktioniert, aber es ist etwas, an dem wir in Zukunft arbeiten können.