2009-09-08 15 views

risposta

15

Non mi preoccuperei per l'integrazione del controllo del codice sorgente Matlab. È comodo, ma non necessario.

Ogni moderno sistema di controllo del codice sorgente dispone di una o più GUI, che di solito sono più potenti della GUI di controllo generico fornita da Matlab. E la maggior parte dispone di utility a riga di comando che espongono tutta la potenza del sistema. È possibile utilizzarli inserendoli nel percorso di sistema e chiamandoli da Matlab con "!". Oppure puoi scrivere le tue funzioni wrapper M-code che chiamano le tue utilità di controllo del codice sorgente. Per comodità, questi possono supportare percorsi parziali usando "which", in questo modo.

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); 

Per strumenti esterni, qualora essi apportino ai file o dirs e Matlab non li vede (per esempio, se siete su un'unità di rete che ha esaurito gestisce la sua notifica di modifica), è possibile utilizzare per forzare path(path) Matlab per eseguire nuovamente la scansione.

Quindi, selezionare il proprio sistema di controllo di origine in base ai propri meriti (purché esponga la sua funzionalità nella riga di comando o nei controlli ActiveX), quindi avvolgere se si avverte la necessità e Matlab non lo integra già. Ho lavorato con CVS, ClearCase e AccuRev in questo modo, e abbiamo sempre finito per utilizzare gli strumenti di controllo della versione direttamente o tramite wrapper personalizzati invece dell'integrazione Matlab.

1

Che ne dici di utilizzare Subversion? È abbastanza buono e gratuito e open source!

2

oppure Git - anche open source.

Hai ragione su VSS - non così buono.

2

Io uso TortoiseSVN/Subversion con Matlab - non c'è integrazione nel Matlab IDE (neppure le icone di sovrapposizione), ma comunque è abbastanza semplice da usare.

2

trovo più utile per timbrare i grafici generati automaticamente o figure con le informazioni sulla versione. Per questo io uso Git e questo script, che fornisce Matlab con il git attuale ramo repository, la versione di hash, e le informazioni sulla sua corrispondente repository remoto:

https://gist.github.com/1211669

Problemi correlati