How do I determine the SVN working copy layout version?
For example, the SVN 1.5 client has one layout for working copies, and the SVN 1.6 client has a different layout. I understand that the layout automatically gets upgraded when it gets touched by a newer client.
If I have a working copy on my system, how can I find out the version of the layout it’s using?
2 Solutions collect form web for “How do I determine the SVN working copy layout version?”
.svn/format exists, then read the number in it:
- Version 7 is SVN 1.3
- Version 8 is SVN 1.4
- Version 9 is SVN 1.5
.svn/format doesn’t exist then the version number is on the first line in
- Version 10 is SVN 1.6
- Version 12 is SVN 1.7
Subversion 1.6 was the first one not to use
.svn/format. Version 7 and older used XML-based
.svn/entries file, newer versions use less verbose line-based file format.
Since Subversion 1.7 the version number is stored in the
.svn/wc.db SQLite database in the “user_version” field. So even though
.svn/format is bumped to version 12 the actual format version is 29 and future versions may not update
All the format version numbers are described in wc.h along with the version numbers of respective Subversion releases.
From Stack Overflow question Find out SVN working copy version (1.7 or 1.8):
One can use
sqlite3 .svn/wc.db "PRAGMA user_version" on SVN 1.7 or later (or
od -An -j63 -N1 -t dC .svn/wc.db if you only have the SQLite 3.0 libraries, YMMV).