Eclipse的Git的关键字扩展(Eclipse Git keyword expansion)

2019-07-29 05:59发布

我需要更新我的源代码修改关键字(@version,@date等)每次我检查出源的混帐中心服务器时间。

正如你可能知道:

与此Git中的主要问题是,你不能修改一个文件,你已经提交后提交信息,因为Git会先对该文件计算校验。

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

 * 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 IDE来实现同样的事情。 在Eclipse我有Eclipse中的Git,这是一种基于JGit,Git版本控制系统的一个纯Java实现一个Eclipse团队提供。

在Eclipse例如:It有没有这样的命令“混帐结帐”,但一个可以完成,通过硬复位(右键单击,然后你的项目选择团队 - >设置 - >硬盘)。 不幸的是,这将不会运行清洁/涂抹过滤器,其实你会得到你的源从Git的枢纽普通副本没有任何关键字扩展。

我希望我已详细原委描述,因为现在我会问:

  • 在Eclipse中使用例如:It这可能吗?

Answer 1:

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

执行自动CRLF WorkingTreeIterator期间LF转换

WorkingTreeIterator现在可以选择执行CRLF到LF转换为文本文件。
一个基本的框架,留在原地,支持启用(或禁用)基于此功能gitattributes ,并且还支持更通用的污迹/清洁过滤系统。
由于没有gitattribute支持但在JGit这是没有实现,但mightNeedCleaning() isBinary()filterClean()方法将提供合理的地方,把它插入到在未来。

我不认为gitattribute在完全支持最新的JGit的版本 ,以及最新版本WorkingTreeIterator仍具有空filterClean()函数。

因此,使用JGit单独可能不足以触发“过滤内容”的驱动程序。



文章来源: Eclipse Git keyword expansion