Java 如何在Eclipse(Mylyn/Team)中访问变更集?

Java 如何在Eclipse(Mylyn/Team)中访问变更集?,java,version-control,mylyn,changeset,Java,Version Control,Mylyn,Changeset,我想通过Java编程访问SVN、CVS和Git的变更集。即,我需要显示在“同步”视图中的数据 我尝试了几种方法来找到代码中的正确用法,下面是我能找到的少数文档(但没有成功): 我设法通过TeamUI.getSynchronizeManager()访问了Synchronize视图,但没有访问变更集 我尝试的另一件事是通过FocusedTeamUiPlugin.getDefault().getContextChangeSetManagers()(获取了管理器,然后是我尝试获取变更集的变更集提供程序

我想通过Java编程访问SVN、CVS和Git的变更集。即,我需要显示在“同步”视图中的数据

我尝试了几种方法来找到代码中的正确用法,下面是我能找到的少数文档(但没有成功):

  • 我设法通过
    TeamUI.getSynchronizeManager()
    访问了Synchronize视图,但没有访问变更集

  • 我尝试的另一件事是通过
    FocusedTeamUiPlugin.getDefault().getContextChangeSetManagers()
    (获取了管理器,然后是我尝试获取变更集的变更集提供程序)获取cangeset,但它们总是空的(因为它们是在我第一次调用它时创建的)

那么,如何在Eclipse(Mylyn)中访问变更集(使用Java)最后,我需要提交和代码转换的数量(loC添加/删除/编辑)。或者有没有其他更好的方法


非常感谢您的帮助

我认为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”开头的行,表示“已修改”,以获得更改文件的路径。

      谢谢,我会看一看。谢谢,我会看一看。