Ответ 1
Если .svn/format
существует, то прочитайте число в нем:
- Версия 7 SVN 1.3
- Версия 8 SVN 1.4
- Версия 9 SVN 1.5
Если .svn/format
не существует, тогда номер версии находится в первой строке в .svn/entries
:
- Версия 10 SVN 1.6
- Версия 12 - SVN 1.7
Subversion 1.6 был первым, кто не использовал .svn/format
. В версии 7 и более ранних версиях использовался XML файл .svn/entries
, в более новых версиях используется менее подробный формат файла.
Начиная с Subversion 1.7 номер версии хранится в базе данных SQLite .svn/wc.db
в поле "user_version". Таким образом, даже если .svn/format
увеличен до версии 12, фактическая версия формата - 29, и будущие версии могут больше не обновлять .svn/format
. Чтобы получить номер версии из .svn/wc.db
есть два метода:
- если у вас есть
sqlite3
на вашем пути,sqlite3.svn/wc.db "PRAGMA user_version"
- если у вас нет
sqlite3
на вашем пути, откройте.svn/wc.db
в шестнадцатеричном редакторе и прочитайте DWORD со смещением 0x3c
Все номера версий формата описаны в wc.h вместе с номерами версий соответствующих выпусков Subversion.