gpt4 book ai didi

c - 如果启用了某个#define,如何防止SVN允许提交?

转载 作者:太空宇宙 更新时间:2023-11-04 02:48:28 25 4
gpt4 key购买 nike

我使用 #define 宏在我的代码中启用/禁用自动测试。例如,我可以使用以下行来启用自动化测试:

#define FEATURE_AUTOMATED_TEST

当我提交代码时,我希望禁用此测试,所以我只是将其注释掉:

//#define FEATURE_AUTOMATED_TEST

(通常我不在 C 代码中使用 C++ 风格的注释,但对于这些东西来说它非常方便。)

不幸的是,有时我(或其他人)不小心在 SVN 提交时启用了宏,需要随后的 SVN 提交才能解决问题。我知道我可以使用某种形式的 #warning 宏来帮助防止这种情况发生,但我正在寻找更好的解决方案。 SVN 会出现“嗯,见鬼,你不能那样 checkin 它,因为你启用了 FEATURE_AUTOMATED_TEST。笨蛋。”

有什么想法吗?我完全愿意改变我启用/禁用测试部分的方式......它不必使用 #define 但它必须在编译时排除任何禁用的测试代码。

最佳答案

您可以使用 a subversion pre-commit hook那:

grep -l '^#define.*FEATURE_AUTOMATED_TEST'

因为宏的存在。如果上述命令的退出代码不同于 0,您将中止提交。

关于c - 如果启用了某个#define,如何防止SVN允许提交?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24874530/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com