Version control 什么源代码控制有MATLAB集成?

Version control 什么源代码控制有MATLAB集成?,version-control,matlab,Version Control,Matlab,我正在使用MatlabR2008A,我想知道什么源代码控制与之集成。 我听说视觉资源安全不是很好。Subversion与它集成了吗?如何使用?它非常好,免费,开源 或-也是开源的 您对VSS的看法是正确的-不太好。在Windows上(从您提到VSS的内容中猜出来),MATLAB与Microsoft源代码管理API集成 (我意识到这是一个R2009b文档链接,但我相信其功能与R2008a类似) 因此,您需要在MicrosoftAPI和您选择的源代码管理系统之间找到一个接口。比如说 我将Ortoi

我正在使用MatlabR2008A,我想知道什么源代码控制与之集成。 我听说视觉资源安全不是很好。Subversion与它集成了吗?

如何使用?它非常好,免费,开源

或-也是开源的

您对VSS的看法是正确的-不太好。

在Windows上(从您提到VSS的内容中猜出来),MATLAB与Microsoft源代码管理API集成

(我意识到这是一个R2009b文档链接,但我相信其功能与R2008a类似)

因此,您需要在MicrosoftAPI和您选择的源代码管理系统之间找到一个接口。比如说


我将OrtoiseSVN/Subversion与Matlab结合使用-Matlab IDE中没有集成(甚至没有覆盖图标),但它的使用非常简单。

我不会担心Matlab源代码管理集成。这很方便,但不是必需的

每个现代源代码管理系统都有一个或多个为其构建的GUI,通常比Matlab提供的通用源代码管理GUI更强大。而且大多数都有命令行实用程序,可以显示系统的全部功能。您可以通过将它们放在系统路径上,然后在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集成来使用它们。

为了补充Andrew的观点,这里有一个功能齐全的包装器,可以从Matlab命令提示符使用Git:

我发现在自动生成的图形或图形上添加版本信息最为有用。为此,我使用git和这个脚本,它为Matlab提供了当前git存储库分支、版本哈希以及有关其相应远程存储库的信息:


链接已失效,因此此答案不再有用。请更新链接,或者如果链接内容不存在,考虑删除它吗?