Ответ 1
Я бы не стал беспокоиться о интеграции контроля источника Matlab. Это удобно, но не обязательно.
Каждая современная система управления версиями имеет для нее один или несколько графических интерфейсов, которые обычно будут более мощными, чем общий графический интерфейс управления версиями, который предоставляет Matlab. И у большинства из них есть утилиты командной строки, которые раскрывают полную мощность системы. Вы можете использовать их, установив их на свой системный путь и затем называя их из Matlab "!". Или вы можете написать свои собственные функции оболочки M-кода, которые вызывают ваши утилиты управления версиями. Для удобства они могут поддерживать частичные пути, используя "which", например.
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);
Для внешних инструментов, если они вносят изменения в файлы или директории, и Matlab не видит их (например, если вы находитесь на сетевом диске, который исчерпал свои средства уведомлений об изменениях), вы можете использовать path(path)
, чтобы заставить Matlab отсканировать.
Итак, выберите свою систему управления версиями по существу (пока она раскрывает ее функциональность в командной строке или элементах управления ActiveX), а затем оберните ее, если вы почувствуете необходимость, и Matlab еще не интегрировал ее. Таким образом, я работал с CVS, ClearCase и AccuRev, и мы всегда использовали инструменты управления версиями напрямую или через пользовательские оболочки вместо интеграции Matlab.