Как узнать, какая версия текущего svn-репозитория? - PullRequest
3 голосов
/ 14 мая 2009

Недавно я принял решение обновить мой репозиторий SVN с версии 1.5 до версии 1.6. После того, как я запустил команду обновления, я увидел сообщение, оставленное в окнах CMD.

D:\svn>svnadmin upgrade repo
Repository lock acquired. 
Please wait; upgrading the repository may take some time...

Upgrade completed.

D:\svn>_

Ya !! Это кажется великолепным ... но .... Как узнать, какая версия текущего репозитория? Это обновление до v1.6 или до версии v1.5. У меня есть несколько репозиториев. Как я могу узнать их версию?

Ответы [ 3 ]

9 голосов
/ 14 мая 2009

Посмотрите на файл 'format' в вашем пути к хранилищу. Он должен содержать схему вашего хранилища. Начиная с Subversion 1.4, которая равна 5 и, вероятно, не изменится до Subversion 2. Пока схема не изменяется, «svnadmin upgrade» не требуется.

Цитировать http://svn.apache.org/repos/asf/subversion/trunk/notes/repos_upgrade_HOWTO:

Anyone upgrading between versions of subversion that have different
repository schemas.  Schema versions are as follows:

    SUBVERSION VERSION NUMBER           SCHEMA VERSION
    -------------------------           --------------
    Up to and including 0.27            1
    0.28 - 0.33.1                       2
    0.34 - 1.3                          3
    (no released version used this)     4
    1.4 -                               5

If necessary you can see which schema version your repository is
currently using by looking at the format file in the repository.

It should be noted that these changes are extremely rare.  Now that
subversion has reached 1.0.0 our compatibility guarantees require
forward and backward compatible repository formats for all patch
releases and backward compatible for minor releases.  So until
2.0.0 comes out there will be no change that should require a 
dump for upgrading to newer versions.

While Subversion does create version 5 repositories by default as of
version 1.4, it still supports reading and writing version 3
repositories for backwards compatibility.  Additionally, a pre-1.3
client can communicate with a 1.4+ server accessing a version 5
repository.

Не путайте схему хранилища с рабочей копией. Файл формата в рабочей копии содержит «9» для текущих версий Subversion.

1 голос
/ 23 июня 2009

Помимо / format, теперь есть также файл / db / format, например в репо по умолчанию, созданном с 1.6.x, он имеет следующий контент:

4 макет осколок 1000

Для репо, обновленного до 1.5.5:

3 макет линейный

Для обычных репозиториев 1.4.2:

2

0 голосов
/ 14 мая 2009

Глядя на этот код, чтобы изменить формат рабочей копии Subversion

последние форматы

LATEST_FORMATS = { "1.4" : 8,
                   "1.5" : 9,
                   "1.6" : 10
...