How to find out Subversion repository version?

后端 未结 8 2307
深忆病人
深忆病人 2020-12-24 00:00

How can I determine current version of my repository to see if I need to upgrade it (svnadmin upgrade)?

In reality I\'m hosting SVN with 3rd party and I want to find

相关标签:
8条回答
  • 2020-12-24 00:35

    There is a difference between Subversion Repository Version / Schema (1), and Subversion Repository FSFS Version (2).

    FSFS, in contrast to Berkeley DB, or the developmental FSX, is a backend data storage method. FSFS is "a versioned filesystem implementation that uses the native OS filesystem directly".

    (1): The Subversion repository version / schema is found in the [REPO]/format file. The current versions from the Subversion repos_upgrade_HOWTO document are:

    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
    

    (2): The repository FSFS format however, is found in the [REPO]/db/format file. The current versions are in the libsvn_fs_fs FSFS Structure document, in the Filesystem formats section. They currently are:

    Format 1, understood by Subversion 1.1+
    Format 2, understood by Subversion 1.4+
    Format 3, understood by Subversion 1.5+
    Format 4, understood by Subversion 1.6+
    Format 5, understood by Subversion 1.7-dev, never released
    Format 6, understood by Subversion 1.8
    Format 7, understood by Subversion 1.9
    Format 8, understood by Subversion 1.10+
    

    Also, as of Subversion 1.9 you can now use the svnadmin info command to gain both the Subversion Repository Version / Schema, as well as the Subversion Repository FSFS Version (See: Subversion 1.9 Release Notes - FSFS Improvements as well as Subversion 1.9 Release Notes - svnadmin Changes and Improvements)

    0 讨论(0)
  • 2020-12-24 00:35

    If you use VisualSVN Server you can find out the format of the repository via the VisualSVN Server Manager console or via PowerShell. Read the article KB135: Understanding the Subversion repository types and formats for more information.

    VisualSVN Server Manager

    Follow these steps to find out the format of a repository:

    1. Start the VisualSVN Server Manager console.
    2. Right-click a repository and click Properties.
    3. Click the Details tab.

    PowerShell

    Follow these steps to find out the format of a repository via PowerShell:

    1. Start the PowerShell console.
    2. Execute the following command: Get-SvnRepository MyRepo | Format-List

    0 讨论(0)
  • 2020-12-24 00:36

    You can check the content of the file "format" under the "db" directory. If it shows 3 then it has been upgraded to 1.5 (that's the version of the updated fielsystem). If it is 2 then it is 1.4 or older.

    0 讨论(0)
  • 2020-12-24 00:45

    For VisualSVN Server, even it uses custom pages, you can still view the page source:)

    0 讨论(0)
  • 2020-12-24 00:50

    I would also suggest spoofing response headers because some server installations (VisualSVN Server comes to mind) uses custom pages which unfortunately doesn't show Subversion server version.

    You could use Fiddler2 to spoof request/response to the server. If You're using an HTTPS connection be sure to check "Decrypt HTTPS traffic" option in: Tools->Fiddler Options->HTTPS

    0 讨论(0)
  • 2020-12-24 00:53

    I think what you want is "svnlook youngest"

    0 讨论(0)
提交回复
热议问题