windows – 如何获取工作目录哈希确认所有未提交的更改?
发布时间:2020-12-14 04:30:21 所属栏目:Windows 来源:网络整理
导读:我的软件构建过程的一部分包括将工作目录parent的哈希值转换为C字符串以包含在“version”输出中.这是通过使用hg identify -i来获取全局修订版ID,并将此输出复制到.h文件中以进行包含来完成的.我在 Windows批处理文件中执行此操作: setlocal enabledelayede
我的软件构建过程的一部分包括将工作目录parent的哈希值转换为C字符串以包含在“version”输出中.这是通过使用hg identify -i来获取全局修订版ID,并将此输出复制到.h文件中以进行包含来完成的.我在
Windows批处理文件中执行此操作:
setlocal enabledelayedexpansion for /f "tokens=1 delims=;=" %%a in ('hg identify -i') do ( echo const std::string revision^(_T^("%%a"^)^); > rev.h ) 这将输出这样的东西到文件中: const std::string revision(_T("3b746fd492c6")); 如果工作目录有任何未提交的更改,则哈希值会附加,使字符串“3b746fd492c6”.这使我可以轻松检查我构建的软件版本是否受控 – 如果字符串包含a,则软件无法从存储库中重现. 但是,hg标识添加了一个表示未提交的更改,但它无法识别未跟踪的文件.如果我提交所有更改但忘记添加那些非常重要的“do stuff”类,hg标识将不会指出这一点. 所以我的问题是:我如何获得所需的功能? 理想情况下,我不想使用扩展,但会将它们视为一种选择. 更新 继Oben Sonne建议使用hg st和hg id -r的组合之后.我提出了以下批处理文件,它产生了相当不错的结果: @echo off set REPOMODS= for /F %%a IN ('hg st -n') DO set REPOMODS=+ for /f "tokens=1 delims=;=" %%a in ('hg identify -i -r .') do ( echo const std::string revision^(_T^("%%a%REPOMODS%"^)^); > rev.h ) %REPOMODS%为空,除非hg st的输出中有任何内容,在这种情况下它是.我做了一些测试,似乎工作. 是否有另一种解决方案需要在批处理文件中减少麻烦?或者这是我能得到的最好的? 解决方法
如何简单地检查hg st的输出是否为空?如果没有,请将自己添加到版本中(如果尚未由hg id给出).
更新:为了防止双重问题,你可以运行hg id -r.,它永远不会给你一个尾随. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- windows-phone-7 – Windows Phone 7中的推送通知问题
- microsoft-office-365 – 是否可以在Office 365上查看登录历
- Microsoft Media Foundation官方文档翻译(9、10)《Media
- Windows Perl行编辑器具有可编辑的默认值?
- windows-server-2008 – HP Proliant DL380 G4 – 这款服务
- active-directory – 如何在Server 2012上删除孤立的子域
- windows – 域名时间问题
- windows – 使用Batch命令检查可用磁盘空间
- windows-server-2008 – 在Windows 2008上的卷之间复制大量
- 在Windows 7上运行Varnish
推荐文章
站长推荐
- windows-server-2012-r2 – 如何从Windows Serve
- windows – “区域可以在”不断增加之后被清除
- ionic2 – 在Windows Phone 10上运行Ionic 2应用
- Windows 8.1上的Java控制面板
- 单元测试 – 如何在.NET中伪造Azure表存储单元测
- windows下为qt msvc版本配置调试器
- windows – 使批处理文件FOR命令工作没有通配符?
- .net – 在Windows CE 6.0和Windows Mobile 6.1下
- windows-server-2008 – Windows客户端:Windows
- Windows Phone 7 – SkyDrive的编程访问
热点阅读