git - 如何将 git 哈希添加到我的 Eclipse RCP 应用程序“关于”页面?

标签 git eclipse-rcp

过去,在 Visual Studio 中使用 mercurial,我习惯于 add mercurial changeset ids to my application因此,当用户执行“帮助”时,它会列出所有组件及其精确 mercurial 修订版。它还会在每次启动时将所有变更集 ID 记录到应用程序日志文件中。这个过程甚至允许我查看自上次提交以来是否修改了特定的工作副本(mercurial 的 hg id 通过在它报告的变更集 id 的末尾添加 + 来指示脏工作副本)。

这非常有用,因为这意味着每当用户报告问题时,我都可以快速构建完全他们正在使用的修订版。我还可以分辨出人们什么时候偷偷通过快速黑客来解决问题并且既没有提交更改也没有告诉我。

我现在想在我的 git 托管的 RCP 应用程序中复制相同的功能。不幸的是,我对 git 和 Eclipse RCP 应用程序开发都很陌生,所以我不太清楚相同的技术是否有效。

特别是我一直无法弄清楚如何用 git 做等同于 hg id 的事情,如何让 Eclipse 构建系统调用 git 创建一个包含 id 的 .gitignored 文件,以便它可以被编译到应用程序/插件中,或者如何将这些信息获取到帮助>关于页面中。

如果您已经这样做或类似的事情,我希望您能提供一些关于您是如何做到的建议。或者,我很乐意听到有关实现我寻求的最终结果的替代方法的任何建议。


用一点 google-fu,阅读背后的内容和实验,看起来 git rev-parse HEADgit rev-parse --short HEAD 可能是最接近 hg id,可惜我找不到指示工作副本不干净的方法,所以看起来我将不得不检查 git 的输出status --short 如果它不为空,则手动将 + 附加到提交哈希。

现在我只需要了解如何让这些命令从 Eclipse 构建系统运行,以及将这些信息注入(inject)到哪里,以便它显示在“关于”页面中。

最佳答案

我不能谈论这个问题的 git 部分,但我可以在某种程度上谈论 RCP 部分。也就是说,您已经提到您不喜欢关键字替换。我对此表示赞赏,但据我所知,这是整个 RCP 构建框架中非常普遍的做法!

可以使用 about.properties、about.mappings 和 about.ini 文件控制“关于”对话框。 Rich Client Platform Book谈论这个。

我要做的是让您的构建生成带有您的 git 标签的 about.mappings 文件。

关于git - 如何将 git 哈希添加到我的 Eclipse RCP 应用程序“关于”页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9926186/

相关文章:

Xcode 复制我的存储库并将其位置重命名为小写

git - 解决 VS Code 中不显示的 merge 冲突工具栏

java - 将 IUndoableOperation 添加到我的 EditorPart 时出现上下文问题

java - 在 Eclipse RCP 应用程序中读取输入

java - Viewpart Eclipse RCP 调整大小

git - 如果分支不存在,如何在没有错误消息的情况下删除分支?

c++ - 作为子目录添加时,CMake 不构建库

linux - GIT 忽略 commit-msg 钩子(Hook)

java - 在 Eclipse RCP 中实现水平行编号

java - 进度条仅在 Debug模式下显示。作业加异步显示