Gibt es eine Methode, um die SVN-Revisionsnummer einer bestimmten Datei (.m) direkt aus dem Code (Matlab) zu erhalten?
Ich brauche so etwas wie eine Matlab-Funktion getSVNRevisionNumber(file.m)
Danke
Gibt es eine Methode, um die SVN-Revisionsnummer einer bestimmten Datei (.m) direkt aus dem Code (Matlab) zu erhalten?
Ich brauche so etwas wie eine Matlab-Funktion getSVNRevisionNumber(file.m)
Danke
Es gibt keine integrierte Befehl, um das zu tun. Der einfachste Weg, um diese Informationen zu erhalten, besteht wahrscheinlich darin, einen system
Befehl auszuführen und dessen Ausgabe zu analysieren:
function rev = getRev(mfile)
SVN_EXE= 'C:\Program Files\TortoiseSVN\bin\svn.exe';
command = sprintf('"%s" info "%s"', SVN_EXE, mfile);
[status,out] = system(command);
% Überprüfen, ob alles gut gelaufen ist:
assert( ~status );
% Revision aus der Ausgabe analysieren:
rev = regexp(out, 'Revision: (\d+)', 'tokens', 'once');
% Alternativ - je nachdem, welche Informationen Sie wirklich benötigen
% rev = regexp(out, 'Last Changed Rev: (\d+)', 'tokens', 'once');
rev = str2double(rev{1});
end
Dies funktioniert noch nicht für nicht versionierte Dateien und es könnte eine sicherere, umfassendere Funktion geben, die das erledigt, aber das ist ein Anfang...
Leider ist dies auch recht langsam - andererseits sind es nur wenige Zeilen Code. Wenn Sie keine Angst vor Java haben und bereit sind, Drittanbietersoftware zu verwenden, könnten Sie auch problemlos svnkit
innerhalb von MATLAB verwenden.
SVN unterstützt Schlüsselwörter, daher benötigen Sie so etwas wie:
x='$Rev$'
http://svnbook.red-bean.com/de/1.4/svn.advanced.props.special.keywords.html
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.