3

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

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

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

4

2 回答 2

4

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

好吧,对不起,我读到你已经知道如何手动修补它,但我将其作为参考:

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

  1. 右键单击->打开方式->文本编辑器,
  2. 查找所有出现的 /home/user/projectfiles/project/ 并将其替换为空白...
  3. 请记住在“索引:”和文件名之间只留一个空格,例如“索引:.classpath”,否则您的补丁将无法在基于 Windows 的 Eclipse 中使用
于 2008-11-03T09:30:56.280 回答
3

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

于 2008-11-03T12:42:02.947 回答