我如何使用Eclipse重构工具并通过Subclipse保持与SVN同步?

12

我发现当我需要重命名Java类(因此需要重命名源文件)或需要更改包名称(因此需要移动源文件)时,我可以采取以下两种方式:

  1. 使用方便实用的Eclipse重构工具,这很棒,因为所有级联任务都为我完成。但是,我随后需要与Subversion艰难地复制更改到代码库。
  2. 我可以首先在Subversion中发出重命名/移动命令,然后更新本地,接着Eclipse中的重构工具就无法使用了。

有人能否建议一种更好的做法?

4个回答

10

自从 1.4.x 版本以来,Subclipse 处理得相当不错。如果您发现了任何问题,请报告给我们。在早期版本中,它可以处理某些情况,但有些情况则无法处理。这是由于 Subversion 的限制,这些限制在 SVN 1.5 中得到了修复。例如,在 SVN 1.5 之前,如果您重命名了一个文件夹,则不能同时重命名文件夹中的文件(直到提交文件夹)。这些都是非常常见的重构操作,而 SVN 会妨碍这些操作。

不过现在一切都运作得很顺畅。

Mark


4

我很不想说“你做错了”,但是由于你的主题提及Subclipse,Subclipse与Eclipse的重构工具进行了整合。Subversive也是如此。当你重命名一个类时,它会在后台执行“svn mv”操作。你永远不需要试图手动复制这些移动操作。

我想知道是否因为某些原因Subclipse没有连接到您的项目 - 如果它不知道您的项目是Subversion项目,那么显然它什么也不会做。

如果您还没有使用Subclipse/Subversive ... 那就开始吧。:)


我正在使用Subclipse,但出于某种原因,在我重构时它不会发出任何SVN命令。其他“团队”操作在执行时会显示在控制台中,但重构操作没有。也许这是一个旧版本,或者它被某种方式破坏了。感谢您的回复。 - Nicholas

3

你尝试过subversive吗?使用它进行重构似乎对我来说效果很好。

实际上,我也尝试过subclipse,至少在1.4.7版本中似乎可以处理得很好。我刚刚尝试了重命名一个包和一个类。Eclipse将旧的标记为已删除并添加了一个新的,计划添加到存储库中。


嘿,谢谢你。我正在使用1.2.x版本。我一直想升级,但总是感觉很麻烦。 - Nicholas

0

Subclipse会在Eclipse中重构时处理svn的移动/重命名。


2
他说它已经安装了,在问题的标题中。 - Stephen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接