Réparer Subversion sur macOS quand svn ne répond plus

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 :

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.

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

Demandez à l'IA son opinion
Gravatar for Matt Biscay

Je suis Matt Biscay, développeur WordPress & WooCommerce certifié chez Codeable, administrateur système et enseignant.

J’aide les entreprises à créer, optimiser et fiabiliser leurs sites WordPress avec une approche technique propre : performance, sécurité, maintenance, développement sur mesure et résolution de problèmes complexes.

Sur Skyminds, je partage des tutoriels WordPress, WooCommerce, Linux et administration système, avec des solutions testées sur des cas réels et pensées pour durer.

Découvrez mes services WordPress et WooCommerce.

Opinions