2008-09-28 3 views
6

Hinweis in der unteren rechten Ecke dieser Seite hat es die SVN Revision ID? Ich nehme an, dass das dynamisch ist.Einfache Möglichkeit, Svn Revisionsnummer in PHP Seite einzubetten?

Ich würde gerne hinzufügen, dass einige meiner Websites, nur als ein Kommentar in der Quelle, um sicherzustellen, dass Code-Pushs durchlaufen werden.

HINWEIS: Sie können auch davon ausgehen, dass das Arbeitsverzeichnis der fraglichen Site ein Svn-Checkout des betreffenden Repos ist.

Bearbeiten: Ich bin auf der Suche nach der globalen Revisionsnummer, nicht die Revisionsnummer der Datei, die ich betrachte.

+0

Duplizieren: http://stackoverflow.com/questions/111436/how-can-i-get-the-svn-revision-number-in-php – Thomaschaaf

Antwort

9

Sie die svnversion CLI-Dienstprogramm kann eine spezifischere Blick auf die Revision zu bekommen, die höchste Zahl einschließlich. Sie könnten dann reguläre Ausdrücke verwenden, um dies zu analysieren.

Subversion hat kein Konzept einer globalen Revision; Stattdessen müssten Sie rekursiv die Arbeitskopie durchsehen, um die höchste Revisionsnummer zu finden. svnversion macht das für Sie.

5

Die Schlüsselwort-Substitutionsmethode ist nicht zuverlässig, weil sie die Revision der Datei bereitstellt und nicht die gesamte Codebasis, die Sie bereitstellen, was vermutlich Ihrer Meinung nach der Fall ist.

Normalerweise verwende ich ANT zur Bereitstellung aus Subversion, und im Buildskript würde ich die Ersetzungstask verwenden, um ein Revisions-Token in einer Layoutvorlage oder einer gemeinsamen Headerdatei durch die Versionsnummer der von mir bereitgestellten Codebasis zu ersetzen - siehe unten. Obwohl, wenn jemand eine bessere Methode hat, würde ich es gerne hören!

<svn username="${svn.username}" password="${svn.password}" javaHL="${svn.javahl}">  
    <status path="${dir.build}" revisionProperty="svn.status.revision" /> 
</svn> 

<replace dir="${dir.build}" token="%revision%" value="${svn.status.revision}"> 
    <include name="**/*.php" /> 
</replace> 
Verwandte Themen