Subclipse:有没有办法让Team> Create Patch使用相对路径?

时间:2008-11-03 01:38:32

标签: eclipse svn patch subclipse

我最近参与了一个Java项目:我们使用MyEclipse作为IDE,使用Subclipse进行源代码控制集成。由于我是该项目的新手,我目前正在提交我作为补丁进行的任何更改,以便其他团队成员更轻松地查看我的更改并决定是否将其提交到主干。但是,当我使用“团队”菜单中的“创建修补程序”选项创建修补程序时,生成的修补程序包含已更改的文件的绝对路径。由于我希望能够将这些补丁通过电子邮件发送给其他团队成员并让他们将补丁应用到他们自己的工作文件夹中,我想生成仅包含相对文件路径的补丁(我在Ubuntu上运行,目前我的工作副本在我的主文件夹中,所以绝对路径特别烦人。)

有没有办法配置Eclipse / Subclipse来执行此操作?我搜索了Eclipse Preferences并点击了Create Patch向导几次,但我找不到任何看起来会这样做的东西。目前,我正在使用文本编辑器手动编辑补丁文件,以将绝对文件路径转换为相对路径。如果Subclipse不能这样做,我会接受其他建议。

编辑:我知道当你从Eclipse中应用补丁时,可以选择忽略文件名路径中的一定数量的段,但我很好奇是否有办法避免这种情况减少应用补丁所涉及的步骤数。通过手动编辑路径使它们相对于项目的根文件夹,最终用户只需确保在根项目文件夹级别应用修补程序。我想要简单,无需手动编辑补丁文件。

2 个答案:

答案 0 :(得分:4)

最新版本的subclipse能够做到你说的话。可能我有相同的版本,因为1.2.4(我的版本)默认使用文件系统作为补丁根,而版本1.5.2允许您在创建补丁文件之前选择补丁根(在项目,工作区或选择之间)。

嗯,对不起,我读过之后你已经知道如何手动修补它,但我将其作为参考:

在升级之前,您可以手动打开补丁文件并进行编辑:

  1. 右键单击 - >打开 - >文字编辑器,
  2. 使用空白查找并替换/ home / user / projectfiles / project /的所有实例...
  3. 记得在“Index:”和文件名之间只留下一个空格,比如“Index:.classpath”,否则你的补丁将无法在基于Windows的Eclipse中使用

答案 1 :(得分:3)

Subversion API在1.5中得到了增强,允许将相对路径位置传递给API。如果您安装Subclipse 1.4.x(使用Subversion 1.5),那么补丁将具有相对路径。还有许多与补丁相关的增强功能,包括多项目补丁以及选择补丁中包含哪些文件的功能。