Après une mise à jour de macOS, il arrive que svn ne réponde plus, affiche une erreur étrange, ou semble bloqué sans rien faire. C’est pénible, surtout si vous utilisez Subversion pour publier un plugin sur WordPress.org ou maintenir un vieux dépôt client.
Le problème vient rarement de votre dépôt SVN lui-même. Sur macOS, il vient souvent d’un binaire svn absent, d’un ancien stub Apple dans /usr/bin, de Command Line Tools Xcode cassés, d’un mauvais PATH, ou d’une installation Homebrew incomplète.
Dans ce guide, nous allons diagnostiquer et réparer Subversion sur macOS proprement : vérifier quel svn est lancé, réinstaller SVN avec Homebrew, corriger le PATH, réparer les Command Line Tools, puis tester un dépôt WordPress.org.
Symptômes fréquents
Le souci peut prendre plusieurs formes :
svn: command not foundCode language: HTTP (http)
xcrun: error: invalid active developer pathCode language: HTTP (http)
svn: error: The subversion command line tools are no longer provided by XcodeCode language: HTTP (http)
svn: E170013: Unable to connect to a repository at URLCode language: HTTP (http)
svn: E230001: Server SSL certificate verification failedCode language: HTTP (http)
Ou plus simplement, la commande semble ne rien faire :
svn stat
Et le terminal reste silencieux. Ce silence peut être normal si aucun fichier n’a changé. Toutefois, si svn --version bloque ou échoue, le problème est bien local.
Étape 1 : vérifier quel svn macOS utilise
Commencez par identifier le binaire appelé par votre shell :
command -v svn
type -a svn
svn --version
Sur Apple Silicon avec Homebrew, vous voulez généralement voir :
/opt/homebrew/bin/svn
Sur Mac Intel avec Homebrew, vous verrez plutôt :
/usr/local/bin/svn
Si /usr/bin/svn apparaît en premier, macOS appelle probablement le binaire ou le stub Apple. Ce n’est pas forcément celui que vous voulez. La correction passe souvent par Homebrew et par l’ordre du PATH.
Étape 2 : installer ou réinstaller Subversion avec Homebrew
Si Homebrew est installé, commencez par le mettre à jour :
brew update
Installez Subversion :
brew install subversion
Si Subversion est déjà installé mais ne fonctionne plus correctement :
brew reinstall subversion
En cas de souci avec les dépendances, notamment après une mise à jour majeure de macOS, relancez aussi :
brew reinstall apr
brew reinstall apr-util
brew reinstall serf
brew reinstall subversion
Homebrew fournit une formule subversion, aussi connue sous le nom svn. La formule dépend notamment de apache-serf, apr et apr-util, donc une dépendance cassée peut suffire à faire tousser SVN. :contentReference[oaicite:1]{index=1}
Étape 3 : corriger le PATH sur macOS
Une installation Homebrew correcte ne suffit pas si votre shell appelle encore /usr/bin/svn avant le binaire Homebrew.
Affichez votre PATH :
echo "$PATH"Code language: PHP (php)
Sur Apple Silicon, ajoutez Homebrew dans ~/.zprofile :
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"Code language: PHP (php)
Sur Mac Intel :
echo 'eval "$(/usr/local/bin/brew shellenv)"' >> ~/.zprofile
eval "$(/usr/local/bin/brew shellenv)"Code language: PHP (php)
Ensuite, vérifiez à nouveau :
Besoin d'un coup de main ?
Ce bug qui traîne depuis des semaines, ce plugin qui casse votre mise en page, cette fonctionnalité que personne n'arrive à implémenter proprement — c'est exactement ce que je règle au quotidien depuis 20 ans.
Parlons de votre problème →type -a svn
svn --version
Le binaire Homebrew doit apparaître avant /usr/bin/svn. Sinon, votre terminal continuera d’appeler le mauvais programme avec une obstination très macOS.
Étape 4 : réparer les Command Line Tools Xcode
Certains messages d’erreur viennent des Command Line Tools de Xcode, surtout après une mise à jour macOS.
Vérifiez le chemin actif :
xcode-select -p
Vous devriez voir un chemin comme :
/Library/Developer/CommandLineTools
Si les outils sont absents ou cassés, installez-les :
xcode-select --install
Apple documente l’installation des Command Line Tools via Xcode ou via le terminal, avec installation du paquet dans /Library/Developer/CommandLineTools. :contentReference[oaicite:2]{index=2}
Si le chemin actif est mauvais, vous pouvez le réinitialiser :
sudo xcode-select --reset
Ou sélectionner explicitement les Command Line Tools :
sudo xcode-select --switch /Library/Developer/CommandLineToolsCode language: JavaScript (javascript)
Ensuite, retestez :
svn --version
type -a svn
Solution rapide dans la majorité des cas
Si vous voulez une séquence courte pour réparer SVN sur macOS avec Homebrew :
brew update
brew reinstall apr
brew reinstall apr-util
brew reinstall serf
brew reinstall subversion
type -a svn
svn --version
Sur Apple Silicon, vérifiez aussi que Homebrew est bien chargé dans votre shell :
eval "$(/opt/homebrew/bin/brew shellenv)"
type -a svnCode language: JavaScript (javascript)
Si /opt/homebrew/bin/svn apparaît en premier, vous êtes généralement bon.
Tester SVN dans un dépôt existant
Retournez dans votre copie de travail SVN :
cd /chemin/vers/votre-depot-svn
Testez l’état du dépôt :
svn status
Ou en version courte :
svn st
Si aucun fichier n’a changé, la commande ne retourne rien. C’est normal. Pour vérifier que le dépôt répond vraiment, lancez aussi :
svn info
svn update --dry-run
Si votre copie de travail a été créée avec une très vieille version de SVN, vous pourriez devoir l’actualiser :
svn upgrade
Lancez cette commande uniquement dans une copie de travail sauvegardée ou versionnée correctement. Elle met à jour le format local du working copy.
Tester un dépôt WordPress.org
WordPress.org utilise encore SVN pour publier les plugins. C’est donc un cas très concret où Subversion reste utile, même si votre code source principal vit sur Git.
Dans votre checkout WordPress.org :
cd /chemin/vers/votre-plugin-svn
svn info
svn status
svn update
Exemple de sortie de svn status avec des fichiers modifiés :
M trunk/readme.txt
M trunk/includes/class-plugin.php
M trunk/assets/banner-1544x500.pngCode language: JavaScript (javascript)
Si vous maintenez des plugins WordPress.org, gardez SVN installé même si tout votre développement moderne passe par Git. WordPress.org adore le charme rétro. Nous faisons avec.
Diagnostiquer un blocage réseau SVN
Si svn --version fonctionne, mais qu’un dépôt distant ne répond pas, le problème est probablement réseau, proxy, DNS, TLS ou authentification.
Testez l’URL du dépôt avec curl :
curl -I https://plugins.svn.wordpress.org/Code language: JavaScript (javascript)
Testez aussi la résolution DNS :
dig plugins.svn.wordpress.org
ping plugins.svn.wordpress.orgCode language: CSS (css)
Si vous êtes derrière un proxy d’entreprise, SVN peut avoir besoin d’une configuration proxy dans son fichier servers.
nano ~/.subversion/serversCode language: JavaScript (javascript)
Dans la section [global], vous pouvez définir :
[global]
http-proxy-host = proxy.example.com
http-proxy-port = 8080Code language: PHP (php)
Ne configurez un proxy que si vous en avez réellement besoin. Sinon, vous créerez un problème très propre, très documenté, et complètement inutile.
Corriger les erreurs de certificat SSL
Une erreur de certificat peut apparaître avec certains dépôts HTTPS :
svn: E230001: Server SSL certificate verification failedCode language: HTTP (http)
Commencez par vérifier que macOS, Homebrew et les certificats sont à jour :
brew update
brew upgrade ca-certificates
brew reinstall subversion
Vérifiez aussi la date et l’heure de votre Mac :
date
Une horloge système fausse peut casser la validation TLS. C’est basique, mais étonnamment fréquent.
Évitez les contournements permanents qui désactivent la vérification SSL. Ils masquent le problème et réduisent la sécurité de vos échanges SVN. Corrigez plutôt la chaîne de certificats, le proxy ou l’installation locale.
Nettoyer les credentials SVN enregistrés
Si SVN bloque sur une authentification, vous pouvez nettoyer les identifiants mis en cache.
Listez le dossier de configuration :
ls ~/.subversion/auth/Code language: JavaScript (javascript)
Pour supprimer les credentials SVN mis en cache :
rm -rf ~/.subversion/auth/svn.simple/*
rm -rf ~/.subversion/auth/svn.ssl.server/*Code language: JavaScript (javascript)
Au prochain accès, SVN redemandera les identifiants ou la validation du certificat. C’est utile après un changement de mot de passe, de compte WordPress.org, de certificat ou de serveur.
Réinitialiser la configuration Subversion locale
Si votre configuration SVN locale est très ancienne ou corrompue, vous pouvez la renommer pour repartir proprement :
mv ~/.subversion ~/.subversion.backup.$(date +%F-%H%M%S)Code language: JavaScript (javascript)
Puis relancez :
svn --version
svn info
Subversion recréera un dossier ~/.subversion propre au besoin. Gardez l’ancien dossier quelques jours si vous aviez une configuration proxy ou des réglages personnalisés.
Créer un nouveau checkout propre
Si une copie de travail locale est corrompue, il est souvent plus rapide de repartir d’un checkout propre que d’essayer de réparer pendant une heure.
Exemple avec un plugin WordPress.org :
svn checkout https://plugins.svn.wordpress.org/mon-plugin/ mon-plugin-svnCode language: JavaScript (javascript)
Ensuite, copiez vos modifications depuis votre dossier de travail, puis vérifiez :
cd mon-plugin-svn
svn status
svn diff
Ne supprimez pas l’ancienne copie avant d’avoir récupéré vos modifications locales. SVN ne vous sauvera pas d’un rm -rf enthousiaste. Personne ne le fera.
Commandes de diagnostic rapides
Voici la checklist terminal à lancer quand SVN ne répond plus sur macOS :
sw_vers
uname -m
command -v svn
type -a svn
svn --version
brew --version
brew info subversion
xcode-select -p
echo "$PATH"Code language: PHP (php)
Pour un dépôt précis :
svn info
svn status
svn update --dry-run
Si le problème semble réseau :
curl -I https://plugins.svn.wordpress.org/
dig plugins.svn.wordpress.orgCode language: JavaScript (javascript)
Faut-il encore utiliser SVN aujourd’hui ?
Pour la plupart des projets modernes, Git est devenu le standard. Cependant, SVN reste utile dans quelques contextes :
- publication de plugins sur WordPress.org ;
- maintenance d’anciens projets clients ;
- dépôts internes hérités ;
- scripts de déploiement historiques ;
- archives techniques non migrées.
Si vous ne dépendez plus de SVN, migrez vers Git. Si vous publiez sur WordPress.org, gardez SVN fonctionnel, même si votre dépôt principal reste sur GitHub, GitLab ou Bitbucket.
Pour aller plus loin avec macOS, WordPress et les outils développeur
Si vous réparez SVN pour maintenir un plugin ou administrer un projet WordPress, ces guides complètent bien votre environnement de développement.
- Installer Composer et PHP sous macOS
- Créer une clé SSH pour se connecter sans mot de passe
- Mettre à jour WordPress en SSH avec WP-CLI
- Sauvegarder, archiver et installer des extensions WordPress par lots avec WP-CLI
- Migrer WordPress avec WP-CLI vers un nouveau serveur
Besoin d’un environnement WordPress plus fiable ?
Je peux auditer votre environnement de développement WordPress, corriger vos outils macOS, fiabiliser vos déploiements et mettre en place une maintenance propre pour vos plugins ou sites clients.
- Configuration macOS pour WordPress : Homebrew, PHP, Composer, SVN, Git et WP-CLI.
- Publication et maintenance de plugins WordPress.org avec SVN et workflows Git.
- Automatisation des sauvegardes, migrations, installations et mises à jour avec WP-CLI.
- Diagnostic des erreurs serveur, SSH, permissions, dépendances et outils développeur.
- Maintenance WordPress, WooCommerce, performance, sécurité et documentation technique.
Pour remettre votre workflow WordPress d’équerre, contactez-moi ici.
FAQ
Pourquoi svn ne répond plus après une mise à jour macOS ?
macOS peut changer les Command Line Tools, casser le chemin développeur actif ou appeler un vieux binaire Apple. Vérifiez type -a svn, xcode-select -p et réinstallez Subversion avec Homebrew.
Subversion est-il encore fourni par macOS ?
Ne comptez pas dessus pour un workflow moderne. Installez plutôt SVN avec Homebrew, puis assurez-vous que /opt/homebrew/bin ou /usr/local/bin passe avant /usr/bin dans votre PATH.
Quelle commande utiliser pour installer SVN sur macOS ?
Avec Homebrew, utilisez brew install subversion. Si l’installation est déjà présente mais cassée, utilisez brew reinstall subversion.
Pourquoi svn status ne retourne rien ?
Si la commande fonctionne et ne retourne rien, cela signifie souvent qu’aucun fichier n’a changé. Testez svn info et svn update --dry-run pour vérifier que le dépôt répond bien.
Dois-je utiliser SVN ou Git pour mes plugins WordPress ?
Développez avec Git si possible. Mais pour publier sur WordPress.org, vous aurez encore besoin de SVN, ou d’un workflow qui synchronise votre dépôt Git vers SVN.
Puis-je supprimer ~/.subversion ?
Vous pouvez le renommer pour repartir proprement. Cela supprime la configuration locale et les credentials mis en cache. Gardez une copie si vous aviez un proxy ou des réglages spécifiques.
Conclusion
Quand Subversion ne répond plus sur macOS, commencez par vérifier le binaire appelé. Dans beaucoup de cas, le problème vient d’un mauvais PATH, d’un ancien binaire Apple ou d’une installation Homebrew à réparer.
La solution propre consiste à installer Subversion avec Homebrew, s’assurer que le bon binaire est appelé, réparer les Command Line Tools si nécessaire, puis tester votre dépôt avec svn info, svn status et svn update --dry-run.
SVN n’est plus l’outil le plus glamour du monde, mais il reste utile. Surtout quand WordPress.org vous rappelle gentiment que votre plugin moderne en PHP 8.3 passe encore par une publication Subversion. Charmant paradoxe, mais au moins, ça marche.
Sources
- Apple Developer Documentation : Installing the command-line tools
- Homebrew Formulae : subversion
- Apache Subversion
Marre des agences qui sous-traitent ?
Avec moi, vous parlez directement au développeur qui fait le travail. Pas d'intermédiaire, pas de promesses creuses. Juste du code propre et un interlocuteur joignable.
Travaillons directement ensemble →