首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Eclipse关键字扩展

Eclipse关键字扩展
EN

Stack Overflow用户
提问于 2012-05-03 06:44:38
回答 1查看 1.2K关注 0票数 4

每次我签出git-集线器服务器的源代码时,我都需要更新我的源代码修改关键字(@version、@date等)。

如你所知:

这在Git中的主要问题是您不能在提交之后修改包含提交信息的文件,因为Git首先对文件进行校验。

基本上,我想要实现的是我的源代码应该如下所示:

代码语言:javascript
复制
 * Git revision information:
 * 
 * @version $Revision: 1e7f611039399b32e9000ec454609a0641dde368 $
 * @author  $Author: Eugen Mihailescu <eugenmihailescux@gmail.com> $
 * @date    $Date:   Thu May 3 01:17:45 2012 +0200 $
 * 
 * $Id:  | Thu May 3 01:17:45 2012 +0200 | Eugen Mihailescu  $

这里这里您可以找到关于如何在Git中实现这一点的完整描述。

结果是,您可以编写自己的过滤器,以便在提交/签出时在文件中进行替换。这些是“干净”和“污迹”过滤器。在.gitattributes文件中,您可以为特定路径设置一个筛选器,然后设置脚本,在文件签出之前处理它们(请参见图7-2),并在提交文件之前进行处理。

所以我知道如何使用git命令。我测试过了,它只是起作用了!我真正的问题是,我希望通过使用Eclipse来实现同样的目标。在Eclipse中,我有Eclipse,它是一个基于JGit的Eclipse,它是Git版本控制系统的纯Java实现。

Eclipse EGit中没有这样的命令"git“,但是可以通过硬重置来完成(右键单击您的项目,然后选择Team -> reset -> Hard)。不幸的是,这将不会运行您的干净/污点过滤器,实际上,您将从git集线器获得源的纯副本,而不需要任何关键字扩展。

我希望我已详细描述了整个故事,因为我现在会问:

  • 这在使用EGit的Eclipse中是可能的吗?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-03 07:01:27

这个承诺(2010年8月)评论

在WorkingTreeIterator期间执行CRLF到LF的自动转换

WorkingTreeIterator现在可选地为文本文件执行CRLF到LF转换。 保留了一个基本框架,以支持基于gitattributes的启用(或禁用)此功能,并支持更通用的污点/干净筛选系统。 由于在gitattribute中还没有对JGit的支持,这是没有实现的,但是mightNeedCleaning()isBinary()filterClean()方法将为将来将其插入提供合理的位置。

我不认为gitattribute最新的JGit版本中是完全支持的,而且WorkingTreeIterator仍然有一个空的filterClean()函数。

因此,仅使用JGit可能不足以触发“筛选内容”驱动程序。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10426402

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档