Comment déterminer la version de mise en page de la copie de travail SVN?

Par exemple, le client SVN 1.5 a une disposition pour les copies de travail et le client SVN 1.6 a une disposition différente. Je comprends que la mise en page est automatiquement mise à niveau lorsqu’elle est touchée par un client plus récent.

Si j’ai une copie de travail sur mon système, comment puis-je trouver la version de la mise en page utilisée?

Si .svn/format existe, lisez le numéro:

  • La version 7 est SVN 1.3
  • La version 8 est SVN 1.4
  • La version 9 est SVN 1.5

Si .svn/format n’existe pas, le numéro de version est sur la première ligne de .svn/ensortinges :

  • La version 10 est SVN 1.6
  • La version 12 est SVN 1.7

Subversion 1.6 était le premier à ne pas utiliser .svn/format . La version 7 et les versions antérieures utilisaient le fichier .svn/ensortinges basé sur XML, les versions plus récentes utilisent un format de fichier basé sur les lignes moins détaillé.

Depuis Subversion 1.7, le numéro de version est stocké dans la firebase database SQLite .svn/wc.db dans le champ “user_version”. Donc, même si .svn/format est renvoyé à la version 12, la version actuelle du format est 29 et les futures versions risquent de ne plus mettre à jour le .svn/format .

Tous les numéros de version du format sont décrits dans wc.h ainsi que les numéros de version des versions respectives de Subversion.

De la question Stack Overflow Découvrez la version de la copie de travail SVN (1.7 ou 1.8) :

On peut utiliser sqlite3 .svn/wc.db "PRAGMA user_version" sur SVN 1.7 ou version ultérieure (ou od -An -j63 -N1 -t dC .svn/wc.db si vous ne disposez que des bibliothèques SQLite 3.0 , YMMV).