Signatur
Beschreibung
svn_fs_node_created_rev() ist Teil der PECL-SVN-Erweiterung und ermöglicht den direkten Zugriff auf das Subversion-Dateisystem (FS). Die Funktion liefert die Revisionsnummer, in der ein Knoten (Datei oder Verzeichnis) innerhalb eines SVN-Repositorys erstmalig angelegt wurde.
Der Parameter fsroot ist ein Dateisystem-Wurzel-Handle, das typischerweise über svn_fs_revision_root() oder svn_fs_txn_root() beschafft wird. Mit dem path-Parameter wird der relative Pfad innerhalb des Repositorys angegeben, dessen Erstellungsrevision ermittelt werden soll.
Diese Funktion ist nützlich, wenn man bei der Analyse eines SVN-Repositorys nachvollziehen möchte, seit welcher Revision ein bestimmter Pfad existiert, beispielsweise für Audit-Zwecke, Log-Auswertungen oder zur Bestimmung der Herkunft einer Datei innerhalb eines Branching- oder Merge-Workflows.
Hinweis: Diese Funktion setzt die PECL-Erweiterung svn voraus, die separat installiert werden muss und nicht Bestandteil der Standard-PHP-Distribution ist.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $fsroot Pflicht | resource | Ein Dateisystem-Wurzel-Handle, das über svn_fs_revision_root() oder svn_fs_txn_root() erzeugt wurde. |
|
| $path Pflicht | string | Der relative Pfad zum Knoten (Datei oder Verzeichnis) innerhalb des SVN-Dateisystems, z. B. /trunk/src/index.php. |
Rückgabewert
Beispiele
Erstellungsrevision eines Pfades ermitteln
<?php
// Repository öffnen
$repos = svn_repos_open('/var/svn/myrepo');
// Dateisystem-Handle holen
$fs = svn_repos_fs($repos);
// Jüngste Revision ermitteln
$latestRev = svn_fs_youngest_rev($fs);
// Wurzel der jüngsten Revision holen
$fsroot = svn_fs_revision_root($fs, $latestRev);
// Erstellungsrevision eines bestimmten Pfades abrufen
$createdRev = svn_fs_node_created_rev($fsroot, '/trunk/src/index.php');
echo "Die Datei '/trunk/src/index.php' wurde in Revision $createdRev erstellt.\n";
Erstellungsrevision mehrerer Pfade vergleichen
<?php
$repos = svn_repos_open('/var/svn/myrepo');
$fs = svn_repos_fs($repos);
$latestRev = svn_fs_youngest_rev($fs);
$fsroot = svn_fs_revision_root($fs, $latestRev);
$paths = [
'/trunk/src/index.php',
'/trunk/src/config.php',
'/trunk/README.md',
];
foreach ($paths as $path) {
$rev = svn_fs_node_created_rev($fsroot, $path);
echo "$path => erstellt in Revision $rev\n";
}
// Wichtig · Fallstricke
Voraussetzung: Die PECL-Erweiterung svn muss installiert und in der php.ini aktiviert sein (extension=svn.so bzw. extension=svn.dll). Sie ist nicht Bestandteil der Standard-PHP-Distribution.
Falls der angegebene path im gegebenen fsroot nicht existiert, kann die Funktion einen Fehler oder einen undefinierten Rückgabewert liefern. Es empfiehlt sich, den Pfad vorher mit svn_fs_check_path() zu validieren.
Diese Funktion arbeitet direkt auf dem SVN-Dateisystem und umgeht damit den üblichen SVN-Client-Weg. Sie eignet sich daher für serverseitige Repository-Analysen und Administrations-Skripte, nicht jedoch für den Einsatz auf entfernten Repositorys.