Java 如何在Eclipse(Mylyn/Team)中访问变更集?
我想通过Java编程访问SVN、CVS和Git的变更集。即,我需要显示在“同步”视图中的数据 我尝试了几种方法来找到代码中的正确用法,下面是我能找到的少数文档(但没有成功):Java 如何在Eclipse(Mylyn/Team)中访问变更集?,java,version-control,mylyn,changeset,Java,Version Control,Mylyn,Changeset,我想通过Java编程访问SVN、CVS和Git的变更集。即,我需要显示在“同步”视图中的数据 我尝试了几种方法来找到代码中的正确用法,下面是我能找到的少数文档(但没有成功): 我设法通过TeamUI.getSynchronizeManager()访问了Synchronize视图,但没有访问变更集 我尝试的另一件事是通过FocusedTeamUiPlugin.getDefault().getContextChangeSetManagers()(获取了管理器,然后是我尝试获取变更集的变更集提供程序
- 我设法通过
访问了Synchronize视图,但没有访问变更集TeamUI.getSynchronizeManager()
- 我尝试的另一件事是通过
(获取了管理器,然后是我尝试获取变更集的变更集提供程序)获取cangeset,但它们总是空的(因为它们是在我第一次调用它时创建的)FocusedTeamUiPlugin.getDefault().getContextChangeSetManagers()
非常感谢您的帮助 我认为Eclipse还没有将此功能实现为公共API。但是,这些链接可能有助于: 内部变更集类和其他API: 一个功能增强请求,其中他们讨论了为什么他们还没有实现它(但是它是2008年的,但是bug仍然存在?)
对不起,我帮不上忙了!也许这将帮助您朝着正确的方向发展…您也许可以绕过Eclipse:
- 应用rsync从CVS服务器获取CVS“*,v”文件。它对我有用
- 将的“cvs2git”命令应用于CVS repos。它对我有用
- 将“git svn克隆”(记录在“git svn”下)应用于svn回购协议。我没有试过
- 最后,使用从所有repo获取变更集,此时这些变更集都是git repo。我认为您尤其需要这些:
- 类吉特
- 类文件解析程序
- 类基址连接
- 接口存储库
- 类checkout命令
- 类日志命令
- 类RevCommit
- 类DiffCommand
- 阶级差异
- 类扩散格式化程序
- 我已经找了一个月了。
我尝试为eclipse编写一个插件,它能够读取项目的变更集(“存储库的工作副本”)
我现在所做的是一件难看的工作
我使用Runtime.exec()运行cmd命令/Shell-command。
如果安装了svn命令行客户端,则可以键入
svn status-v-u
它为您提供了一个包含变更集信息的工作副本的所有文件的列表
然后,您可以解析列表,找到所有以“M”开头的行,表示“已修改”,以获得更改文件的路径。谢谢,我会看一看。谢谢,我会看一看。