Start · Sprachen · PHP · Referenz · svn_fs_youngest_rev

svn_fs_youngest_rev

Funktion

Gibt die Nummer der jüngsten (neuesten) Revision eines Subversion-Dateisystems zurück.

Kategorie: misc

Signatur

svn_fs_youngest_rev(resource $fs): int

Beschreibung

svn_fs_youngest_rev() fragt ein geöffnetes Subversion-Dateisystem-Handle nach der aktuell höchsten Revisionsnummer ab. Diese Revisionsnummer entspricht dem neuesten Commit, der im Repository vorhanden ist.

Die Funktion gehört zur svn-PECL-Extension und arbeitet direkt auf dem Dateisystem-Handle, das zuvor mit svn_repos_fs() aus einem Repository-Handle erzeugt wurde. Sie ermöglicht es, den aktuellen Stand des Repositories programmatisch zu ermitteln – etwa um Änderungen seit einer bekannten Revision festzustellen oder um Iterationen über alle Revisionen eines Repositories durchzuführen.

Typische Einsatzgebiete sind automatisierte Build-Systeme, Auditierung von Repository-Historien oder die Implementierung einfacher Monitoring-Skripte, die auf neue Commits reagieren sollen.

Parameter

Name Typ Default Beschreibung
$fs Pflicht resource Ein Dateisystem-Handle, das durch svn_repos_fs() aus einem geöffneten Repository-Handle erzeugt wurde.

Rückgabewert

Typ
int
Beschreibung
Gibt die Nummer der jüngsten Revision als Integer zurück. Bei einem leeren Repository (nur Revision 0 vorhanden) wird 0 zurückgegeben.

Beispiele

Jüngste Revision eines lokalen Repositories ermitteln

<?php
// Repository öffnen
$repos = svn_repos_open('/var/svn/myrepo');
if ($repos === false) {
    die('Repository konnte nicht geöffnet werden.');
}

// Dateisystem-Handle holen
$fs = svn_repos_fs($repos);

// Jüngste Revision abfragen
$youngestRev = svn_fs_youngest_rev($fs);

echo "Die jüngste Revision ist: r" . $youngestRev . PHP_EOL;
?>
Die jüngste Revision ist: r42

Alle Revisionen eines Repositories iterieren

<?php
$repos = svn_repos_open('/var/svn/myrepo');
$fs    = svn_repos_fs($repos);
$latest = svn_fs_youngest_rev($fs);

echo "Repository hat " . ($latest + 1) . " Revisionen (r0 bis r{$latest})." . PHP_EOL;

// Über alle Revisionen iterieren
for ($rev = 0; $rev <= $latest; $rev++) {
    // Hier könnten z. B. Commit-Eigenschaften abgefragt werden
    echo "Verarbeite Revision r{$rev}..." . PHP_EOL;
}
?>
Repository hat 43 Revisionen (r0 bis r42). Verarbeite Revision r0... Verarbeite Revision r1... ...

// Wichtig · Fallstricke

Wichtig: Diese Funktion ist Teil der PECL-svn-Extension, die separat installiert werden muss und nicht zum PHP-Kern gehört. Sie ist daher nicht in Standard-PHP-Installationen verfügbar.

Das übergebene $fs-Handle muss ein gültiges, durch svn_repos_fs() erzeugtes Resource-Handle sein. Ein ungültiges Handle führt zu einem Fehler. Die Funktion gibt keine Auskunft über den Inhalt der Revisionen selbst – dafür werden weitere Funktionen wie svn_fs_revision_root() oder svn_fs_revision_prop() benötigt.