MATLAB函数获取svn-repo-rev#

MATLAB函数获取svn-repo-rev#,matlab,batch-file,svn,Matlab,Batch File,Svn,我想从MATLAB程序(.m文件)中查询subversion存储库的修订版本,以便将其包含在生成的输出文件中。我需要能够以编程的方式实现这一点,这样就没有需要点击来检索信息的GUI工具 我想我会创建一个像这样的批处理文件 @echo OFF svn info --show-item revision [url] 并使用命令从MATLAB程序中调用批处理文件 还有其他方法来完成这项任务吗?它们与我的想法相比如何?您可以从Mathworks下载一个GUI: 但老实说,我会照你说的做——编写一个对

我想从MATLAB程序(.m文件)中查询subversion存储库的修订版本,以便将其包含在生成的输出文件中。我需要能够以编程的方式实现这一点,这样就没有需要点击来检索信息的GUI工具

我想我会创建一个像这样的批处理文件

@echo OFF
svn info --show-item revision [url]
并使用命令从MATLAB程序中调用批处理文件


还有其他方法来完成这项任务吗?它们与我的想法相比如何?

您可以从Mathworks下载一个GUI:


但老实说,我会照你说的做——编写一个对本机svn的系统调用。

有一个GUI可以从Mathworks下载:



但老实说,我会照你说的做-编写一个对本机svn的系统调用。

要实现平台无关代码,可以使用切换到可以直接用于MATLAB代码的版本。

要实现平台无关代码,您可以使用切换到可以直接在MATLAB代码中使用的选项。

有什么错误或需要改进您当前的解决方案吗?@Daniel,最好将其全部放在代码中,而不必执行(依赖于平台的)系统调用。但这没什么大不了的,而且我绝对不想要求安装任何软件。您当前的解决方案有什么问题或需要改进吗?@Daniel,最好将其全部用代码编写,而不必进行(依赖于平台的)系统调用。但这没什么大不了的,而且我绝对不想要求安装任何软件。GUI使用系统命令:
eval(['[status,err]=system(sprintf('svn commit',regexprep(fullfile(handles.root,topDirList{dirNum}),'\\\','m',msg','newLines');]eek…它必须是自动化的。这将是生成生成文件的一个构建步骤。GUI在这方面不起作用。不要因为GUI而否决这个答案-在这个答案发布后,我用这个部分编辑了我的问题。GUI仍然使用系统命令:
eval([''[status,err]=system(sprintf('svn commit',regexprep(fullfile(handles.root,topDirList{dirNum}),'\\\','-m',msg,'''''''',newLines');]));eek…它必须是自动化的。这将是生成生成文件的一个构建步骤。GUI在这方面不起作用。不要因为GUI而否决这个答案-我在发布这个答案后用这个部分编辑了我的问题。这些工具中的任何一个都需要在运行程序的机器上进行单独的安装步骤吗?我想避免这种情况。java桥是每个Matlab安装的一部分,svnkit只是一个需要复制的java库。谢谢。这似乎正是我想要的那种东西。虽然我已经实现了这个问题的解决方案,它可能已经足够好了,但我会把它放在我的后口袋里。这些工具中的任何一个都需要在运行程序的机器上进行单独的安装步骤吗?我想避免这种情况。java桥是每个Matlab安装的一部分,svnkit只是一个需要复制的java库。谢谢。这似乎正是我想要的那种东西。虽然我已经实现了这个问题的解决方案,它可能已经足够好了,但我会把它放在我的口袋里。