我正在 eclipse 中处理一个 java 项目。每次提交文件时,我都想查看该文件中所做的所有更改。在 Eclipse 中,很难分析哪些行被删除、添加、更改等。请就此提出您的建议。
4 回答
你没有说你正在使用什么版本控制系统,但它们中的大多数(我知道的 cvs、svn、git 和 perforce)都实现了 Team > Synchronize 功能。Synchronize 透视图提供传出和传入更改的预览;您可以轻松查看需要提交的更改以及尚未收到的存储库中的更改。右键单击项目(或任何其他版本控制资源选择)并选择Team > Synchronize。它与您在 Netbeans 中展示的内容几乎相同。
您还可以使用“比较”菜单和/或版本控制系统在“团队”菜单下为单个文件提供的任何选项。
比较视图中的颜色可以根据您的喜好自定义,通过首选项>常规>外观>颜色和字体(在树中查找文本比较)。
对于 Mercurial,MercurialEclipse 插件实现了这个 Synchronize 视图。
我来到这里是因为我正在寻找一种在外部合并编辑器 (KDIFF3) 中合并但从 eclipse 开始合并的方法。我对上面提供的答案不满意。所以这里是如何在 Eclipse 中将 kdiff3 配置为 SVN 的合并和差异编辑器:
转到Windows -> Preferences → Team -> SVN -> Diff Viewer 添加新配置(添加按钮):扩展名或 mimetype:* - 如果您希望可以为不同的编辑器指定不同的 mimetype,我不需要,因此阿尔昆特。
差异:程序路径 C:\Program Files\KDiff3\ kdiff3.exe(或任何你有合并编辑器的地方 - 对于 windows 路径,请随时在评论中添加 linux 版本或编辑此答案。)
论据:
${base} ${mine} ${theirs}
合并:程序路径 C:\Program Files\KDiff3\kdiff3.exe
论据:
${base} ${mine} ${theirs} -o ${merged}
这可能也适用于其他合并编辑器,但使用不同的参数语法(弄清楚让我们知道:))。
用法与往常一样(团队->编辑冲突)用于合并和比较-> foo 用于差异视图。
干杯
实际上 eclipse 有内置的比较工具。如果您需要与任何其他应用程序进行比较,请尝试使用此插件
此外,如果有人不必从 Eclipse 间接调用它(例如,我只是不喜欢在我的 Linux 上安装其他软件包,例如来自 Mohamed Jameel 答案的 externaldiff),您可以尝试从 SVN 调用外部差异查看器。
在 Linux 上,这篇文章对我很有帮助:SVN:如何将工作副本与存储库修订进行比较?.