c++ - 如何将 Mercurial 标签嵌入到我的 C/C++ 代码中?

标签 c++ c mercurial codeblocks

我想知道是否有办法将 Mercurial 标签嵌入到我的 C/C++ 代码中。

基本上,我希望标记字符串(最终将成为版本号 (major.minor.rev))作为静态字符串自动插入到我的 C 代码的确定位置。

总体目标是在使用“-v”命令行参数执行时可以查询应用程序的版本号。任何不涉及尝试嵌入 Mercurial 标签的替代方法也将作为答案受到欢迎。

我在 Linux 环境中使用 Code::Blocks,因此该解决方案不能依赖 Visual Studio 功能。

最佳答案

您将需要 keyword extension为了允许关键字条目的扩展,它与 mercurial 捆绑在一起。

例如,要获得对 $Id$ 的支持,您可以为您的 repo (.hg/hgrc) 编辑 hgrc 并添加:

[extensions]
keyword =

[keyword]
# Enable expansion for the specific files
myfile.cpp =
# Enable for all .h files
**.h =

然后运行

hg kwexpand

扩展相关文件的关键字,或者

hg kwshrink

缩小关键字。您甚至可以通过添加 [keywordmaps] 条目来创建自己的关键字,例如

[keywordmaps]
User = {author|user}

注意:这会禁用内置关键字

可以找到有关扩展的更多详细信息 in the wiki .

关于c++ - 如何将 Mercurial 标签嵌入到我的 C/C++ 代码中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2253953/

相关文章:

mercurial - 寻找错误方向的 merge

python - 如何为不同分支中的 Django ROOT_URLCONF 设置设置正确的值

c++ - 我想知道下面的指针等同是做什么的?

c# - 用c++或C#实时录制声音

c - 我想在文件中重定向 ls 的 execv,然后在管道中重定向,为什么不起作用?

c - 查找 table 距离的程序

c++ - 顶级或低级常量或两者都不是?

c++ - 哪种设计更好 : provide direct access to an owned object or give owning object forwarding methods to the owned object?

java - 如何在 JNI 中调用 String.getBytes()?我想在 JNI 中获取字节数组,但 CallByteMethod 只返回 jbyte 而不是 jbytearray

git - Mercurial 是否与 git lol 和 git lola 等效?