我想通过Java以编程方式访问SVN,CVS和Git的ChangeSets 。即我想要的数据显示在“Synchronize”-view 。
中我尝试了几种方法在代码中找到正确的用法,这里有一些我能找到的文档(但没有成功):
我设法通过TeamUI.getSynchronizeManager()
访问同步视图,但没有通过更改集访问。
我尝试的另一件事是通过FocusedTeamUiPlugin.getDefault().getContextChangeSetManagers()
获取cangesets(获取管理器,然后是我尝试获取ChangeSet的ChangeSetProvider) - 但它们总是为空(因为它们是在我先叫它)。
那么,如何在Eclipse(Mylyn)中访问ChangeSets(使用Java)? 最后,我需要提交次数和代码流失(loC添加/删除/编辑)。或者可能还有其他更好的方法吗?
非常感谢任何帮助!
答案 0 :(得分:3)
我认为Eclipse还没有将此功能作为公共API实现。但是,这些链接可能有所帮助:
内部变更集类和其他API:http://www.cct.lsu.edu/~rguidry/ecl31docs/api/index.html?org/eclipse/team/internal/core/subscribers/ChangeSet.html
一个功能增强请求,他们在谈论他们为什么还没有实现它(但它是在2008年,但是这个bug仍然是开放的?)https://bugs.eclipse.org/bugs/show_bug.cgi?id=116084
抱歉,我无法提供更多帮助!也许这会帮助你朝着正确的方向......
答案 1 :(得分:1)
你可以绕过Eclipse:
答案 2 :(得分:1)
我现在已经找了1个月了。 我试图为eclipse编写一个插件,它能够读取项目的变更集(存储库的“工作副本”)。
我现在所做的是一个丑陋的解决方法。
我使用Runtime.exec()运行cmd-command / Shell-命令。
如果安装svn-commandline客户端,则可以键入svn status -v -u
它为您提供了包含变更集信息的工作副本的所有文件的列表。
然后你可以解析列表以找到所有以“M”开头的行 - 对于“modified”来获取更改文件的路径。