在过去,使用mercurial和Visual Studio,我曾经在我的应用程序中添加mercurial changeset id,这样当用户执行Help About时,它会列出所有组件及其确切的 mercurial修订版.它还会在每次启动时将所有变更集ID记录到应用程序日志文件中.这个过程甚至允许我查看自上次提交以来是否修改了特定的工作副本(mercurial hg id指示通过在其报告的变更集ID的末尾添加+来表示脏工作副本).
这是非常有用的,因为这意味着任何时候用户报告的问题,我可以快速地建立正是他们正在使用的版本.我还可以告诉人们什么时候在快速黑客中偷偷摸摸解决问题,既没有做出改变也没有告诉我这件事.
我现在想在git托管的RCP应用程序中复制相同的工具.不幸的是,我对gitEclipse RCP应用程序开发都很陌生,所以我有点不清楚相同的技术是否会起作用.
特别是我一直无法弄清楚如何hg id使用git,如何让Eclipse构建系统调用git以创建.gitignore包含id 的d文件,以便可以将其编译到应用程序/插件中,或者如何将此信息导入"帮助">"关于"页面.
如果你已经完成了这个或类似的事情,我会喜欢你如何做到的一些指示.或者,我很乐意听到关于实现我所寻求的最终结果的替代方法的任何建议.
有点google-fu,阅读线条和实验,它看起来git rev-parse HEAD或者git rev-parse --short HEAD可能是最接近的hg id,唉,我找不到方法来表明工作副本不干净,所以看起来我会必须检查a的输出,git status --short如果它不为空,+则手动将a附加到提交哈希.
现在我只需要了解如何从Eclipse构建系统运行这些命令以及在何处注入此信息,以便它显示在About页面中.