Start · Sprachen · PHP · Referenz · svn_fs_revision_prop

svn_fs_revision_prop

Funktion

Ruft den Wert einer benannten Eigenschaft einer bestimmten Revision aus einem Subversion-Dateisystem ab.

Kategorie: misc

Signatur

svn_fs_revision_prop(resource $fs, int $revnum, string $propname): string

Beschreibung

svn_fs_revision_prop() gibt den Wert einer einzelnen Revisions-Eigenschaft (sogenannte revision property) zurück, die in einem Subversion-Dateisystem gespeichert ist. Revisions-Eigenschaften sind Metadaten, die einer Revision als Ganzes zugeordnet sind – dazu zählen beispielsweise der Autor (svn:author), das Commit-Datum (svn:date) oder die Commit-Nachricht (svn:log).

Um diese Funktion nutzen zu können, muss zunächst ein Dateisystem-Handle über svn_repos_fs() oder eine verwandte Funktion geöffnet werden. Das zurückgegebene Ressourcen-Handle wird dann als erster Parameter übergeben.

Diese Funktion ist besonders nützlich, wenn man gezielt eine einzelne Eigenschaft einer Revision auslesen möchte, ohne alle Eigenschaften auf einmal abzurufen, wie es svn_fs_revision_proplist() tun würde.

Hinweis: Diese Funktion ist Teil der PECL-Erweiterung svn und setzt eine korrekt installierte und konfigurierte Subversion-Bibliothek voraus. Sie steht nur zur Verfügung, wenn PHP mit SVN-Unterstützung kompiliert wurde.

Parameter

Name Typ Default Beschreibung
$fs Pflicht resource Ein Dateisystem-Handle, das über svn_repos_fs() oder eine ähnliche Funktion geöffnet wurde.
$revnum Pflicht int Die Revisionsnummer, deren Eigenschaft abgerufen werden soll. Muss eine gültige, nicht-negative ganze Zahl sein.
$propname Pflicht string Der Name der abzurufenden Eigenschaft, z. B. svn:author, svn:date oder svn:log.

Rückgabewert

Typ
string
Beschreibung
Gibt den Wert der angegebenen Revisions-Eigenschaft als Zeichenkette zurück. Existiert die Eigenschaft nicht, wird ein leerer String zurückgegeben.

Beispiele

Commit-Nachricht einer bestimmten Revision auslesen

<?php
// Repository öffnen
$repos = svn_repos_open('/var/svn/myrepo');

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

// Commit-Nachricht (svn:log) der Revision 42 abrufen
$logMessage = svn_fs_revision_prop($fs, 42, 'svn:log');

echo "Commit-Nachricht von Revision 42: " . $logMessage . "\n";
?>
Commit-Nachricht von Revision 42: Bugfix: Null-Pointer-Exception in UserController behoben

Autor und Datum einer Revision ermitteln

<?php
// Repository und Dateisystem öffnen
$repos = svn_repos_open('/var/svn/myrepo');
$fs = svn_repos_fs($repos);

$revision = 100;

// Autor der Revision auslesen
$author = svn_fs_revision_prop($fs, $revision, 'svn:author');

// Datum der Revision auslesen
$date = svn_fs_revision_prop($fs, $revision, 'svn:date');

echo "Revision $revision wurde von '$author' am $date eingecheckt.\n";
?>
Revision 100 wurde von 'max.mustermann' am 2024-03-15T10:23:45.123456Z eingecheckt.

// Wichtig · Fallstricke

Voraussetzung: Die PECL-Erweiterung svn muss installiert und aktiviert sein. Unter Linux kann sie über pecl install svn installiert werden; das Paket hängt von den Subversion-Entwicklungsbibliotheken ab.

Fehlerbehandlung: Falls ein ungültiges Dateisystem-Handle oder eine nicht existierende Revisionsnummer übergeben wird, kann die Funktion eine PHP-Warnung ausgeben oder false zurückliefern. Es empfiehlt sich, die Eingaben vorab zu validieren.

Encoding: Die zurückgegebenen Werte sind UTF-8-kodiert, da Subversion intern UTF-8 verwendet. Das Datum wird im ISO-8601-Format zurückgegeben.