2009-09-08 11 views

Antwort

15

Ich würde mir keine Sorgen über die Matlab-Source-Control-Integration machen. Es ist bequem, aber nicht notwendig.

Jedes moderne Quellcodeverwaltungssystem verfügt über eine oder mehrere GUIs, die in der Regel leistungsfähiger sind als die von Matlab bereitgestellten generischen Quellcode-Steuerelemente. Und die meisten verfügen über Befehlszeilenprogramme, die die volle Leistung des Systems bereitstellen. Sie können diese verwenden, indem Sie sie auf Ihren Systempfad holen und sie dann von Matlab aus mit "!" Aufrufen. Oder Sie können Ihre eigenen M-Code-Wrapper-Funktionen schreiben, die Ihre Source-Control-Utilities aufrufen. Zur Vereinfachung können diese Teilpfade unterstützen, indem Sie "which" verwenden.

function checkin(infile, comments) 
file = which(infile); 
if ~exist(file, 'file') 
    error('Not a file: %s (resolved to %s)', infile, file); 
end 
cmd = sprintf('cvs commit -m "%s" %s', comments, file); 

Für externe Tools, wenn sie Änderungen an Dateien oder Verzeichnisse zu machen und Matlab sieht sie nicht (zB wenn Sie auf einem Netzlaufwerk sind, die ihre Änderungsbenachrichtigung behandelt erschöpft ist), können Sie path(path) verwenden zu zwingen Matlab zum erneuten Scannen.

Wählen Sie also Ihr Quellcodeverwaltungssystem für sich aus (solange es seine Funktionalität in der Befehlszeile oder ActiveX-Steuerelemente verfügbar macht), und wickeln Sie es dann ein, wenn Matlab es nicht bereits integriert. Ich habe auf diese Weise mit CVS, ClearCase und AccuRev gearbeitet und die Tools zur Versionskontrolle immer direkt oder über benutzerdefinierte Wrapper anstelle der Matlab-Integration verwendet.

1

Wie wäre es mit Subversion? Es ist ziemlich gut und kostenlos und Open Source!

2

Oder Git - auch Open Source.

Sie haben Recht über VSS - nicht so gut.

2

Ich benutze TortoiseSVN/Subversion mit Matlab - es gibt keine Integration in die Matlab IDE (nicht einmal die Overlay-Symbole), aber dennoch ist es ziemlich einfach zu bedienen.

1

zu Andrew Punkt hinzuzufügen, hier ist ein voll funktionsfähige Wrapper Git aus der MATLAB-Eingabeaufforderung zu verwenden: http://raghavan.info/blog/2010/10/30/make-matlab-git-play-well-together/

+0

Der Link ist tot, so dass diese Antwort ist nicht sinnvoll nicht mehr.Könnten Sie bitte den Link aktualisieren, oder wenn der verlinkte Inhalt nicht mehr existiert, sollten Sie ihn löschen? – hbaderts

2

Ich finde es am nützlichsten mit Versionsinformationen automatisch generieren Diagramme oder Zahlen zu stempeln. Dafür verwende ich git und dieses Skript, das Matlab mit dem aktuellen Git Repository Zweig, Version Hash, und Informationen über seine entsprechende Remote-Repository bietet:

https://gist.github.com/1211669

Verwandte Themen