Wie finde ich die Version des Subversion-Repositorys heraus?

76

Wie kann ich die aktuelle Version meines Repositorys ermitteln, um festzustellen, ob ich ein Upgrade durchführen muss (svnadmin-Upgrade)?

In Wirklichkeit hoste ich SVN mit Drittanbietern und möchte herausfinden, ob ich sie bitten muss, meine Repos zu aktualisieren oder nicht.

Ich frage, da 1.5 Server die Repo-Version auf 1.4 halten wird, es sei denn, ich vermisse etwas?

Sumrak
quelle

Antworten:

46

Schau es dir an <REPO>/db/format. Nach dem Upgrade auf das Format 1.5 formatzeigt meine Datei Folgendes:

3
layout sharded 1000

Vorher war es:

2
bdumitriu
quelle
11
Es ist '4' für Subversion 1.6. Dies ist / wahrscheinlich / der beste Weg, um die Version des Repositorys zu bestimmen.
James Skemp
2
Wo sind diese Informationen? Ich bin an Fenstern und benutze Schildkröten.
Kugel
12
-1. Der Fragesteller hat angegeben, dass sich das Repo auf einem SVN-Host eines Drittanbieters befindet. Sie geben Ihnen keinen Zugriff auf das physische Repository. Der Fragesteller kann nicht direkt auf diese Datei zugreifen. Übrigens, kein Argument, dies ist der beste Weg, um die Version zu bestimmen, wenn Sie Zugriff darauf haben.
Ken Gentle
Ich habe meine Repo-URL und sehe Zweige, Tags, LKW-Ordner, aber keinen Datenbank- oder Formatordner? Wo finde ich diesen Db- oder db / format-Ordner? Ich habe keinen Zugriff auf höhere Ebenen der Repo-Verzeichnisstruktur.
Supernova
2
@supernova, du musst selbst zum Dateisystem gehen, in dem svn alle seine Dateien speichert. Den svn-Inhalt nicht über einen svn-Client anzeigen.
JackDev
27

Nehmen Sie den httpoder https-Link zu Ihrem Repository und schneiden Sie ihn aus und fügen Sie ihn in einen Browser ein. Die Version des Subversion- Repository- Servers wird standardmäßig in der Fußzeile angezeigt.

Powered by Subversion Version 1.4.5 (r25188).

Man würde annehmen, dass ein 1.4Server nicht gegen ein 1.5Repository läuft .

Weitere Informationen finden Sie in den Versionshinweisen zu Subversion 1.5

Danke an @Omus für die Korrektur.

Ken Gentle
quelle
5
Ich dachte, dies wäre die SVN-Server-Softwareversion, nicht die Repository-Version?
Sumrak
1
aber es könnte umgekehrt laufen, nein?
Sumrak
Hier kommt das "man würde annehmen" ins Spiel - möglich, macht aber nicht viel Sinn, oder?
Ken Gentle
11
"Der Subversion 1.5-Server funktioniert mit 1.4 und älteren Repositorys und aktualisiert solche Repositorys nicht auf 1.5, es sei denn, dies wird ausdrücklich über den Befehl svnadmin upgrade angefordert." - subversion.tigris.org/svn_1.5_releasenotes.html#repos-upgrades Also sollten Sie nicht annehmen :)
James Skemp
Dies funktioniert nicht für VisualSVN-Server - es scheint nicht die Versionsnummer anzugeben.
Richard Beier
6

Sie können den Inhalt der Datei "Format" im Verzeichnis "db" überprüfen. Wenn 3 angezeigt wird, wurde es auf 1.5 aktualisiert (dies ist die Version des aktualisierten Feldsystems). Wenn es 2 ist, ist es 1.4 oder älter.


quelle
5

Es gibt einen Unterschied zwischen der Version / dem Schema des Subversion Repository (1) und der FSFS-Version des Subversion Repository (2).

FSFS ist im Gegensatz zu Berkeley DB oder dem Entwicklungs-FSX eine Backend-Datenspeichermethode. FSFS ist "eine versionierte Dateisystemimplementierung, die das native Betriebssystem-Dateisystem direkt verwendet".

(1): Die Version / das Schema des Subversion-Repositorys befindet sich in der Datei [REPO] / format. Die aktuellen Versionen aus dem Dokument Subversion repos_upgrade_HOWTO sind:

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): Das Repository-FSFS-Format befindet sich jedoch in der Datei [REPO] / db / format. Die aktuellen Versionen befinden sich im Dokument libsvn_fs_fs FSFS Structure im Abschnitt Dateisystemformate . Sie sind derzeit:

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+

Ab Subversion 1.9 können Sie jetzt auch den Befehl svnadmin info verwenden , um sowohl die Version / das Schema des Subversion-Repositorys als auch die FSFS-Version des Subversion-Repositorys abzurufen (siehe: Versionshinweise zu Subversion 1.9 - FSFS-Verbesserungen sowie Versionshinweise zu Subversion 1.9 - Änderungen und Verbesserungen von svnadmin )

user7457877
quelle
4

Für VisualSVN Server können Sie die Seitenquelle auch dann anzeigen, wenn benutzerdefinierte Seiten verwendet werden :)

sken130
quelle
Ich konnte die Version des Repositorys ermitteln, die ich für diese Antwort verwenden muss. Gut durchdacht!
Bruno Finger
1

Ich würde auch vorschlagen, Antwortheader zu fälschen, da einige Serverinstallationen ( VisualSVN Server ) benutzerdefinierte Seiten verwenden, auf denen die Subversion-Serverversion leider nicht angezeigt wird .

Sie können Fiddler2 verwenden , um Anforderungen / Antworten an den Server zu fälschen . Wenn Sie eine HTTPS-Verbindung verwenden, aktivieren Sie die Option "HTTPS-Verkehr entschlüsseln" unter: Extras-> Geigeroptionen-> HTTPS

iacoware
quelle
0

Wenn Sie VisualSVN Server verwenden, können Sie das Format des Repositorys über die VisualSVN Server Manager-Konsole oder über PowerShell ermitteln. Weitere Informationen finden Sie im Artikel KB135: Grundlegendes zu den Subversion-Repository-Typen und -Formaten .

VisualSVN Server Manager

Führen Sie die folgenden Schritte aus, um das Format eines Repositorys zu ermitteln:

  1. Starten Sie die VisualSVN Server Manager- Konsole.
  2. Klicken Sie mit der rechten Maustaste auf ein Repository und klicken Sie auf Eigenschaften .
  3. Klicken Sie auf die Registerkarte Details .

Power Shell

Führen Sie die folgenden Schritte aus, um das Format eines Repositorys über PowerShell zu ermitteln:

  1. Starten Sie die PowerShell-Konsole .
  2. Führen Sie den folgenden Befehl aus: Get-SvnRepository MyRepo | Format-List

bahrep
quelle
-2

Ich denke, was Sie wollen, ist "svnlook jüngste"

Wangmao
quelle
es sucht auch nach der Datei "Format", die in meinem Repo nicht gefunden wird.
Steve K
3
svnlook jüngste zeigen nur die neueste Revisionsnummer im Repo. Nicht die Version der Repo-Datenbank.
8DH