python - 命令 '['git', 'rev-parse', 'HEAD^1']' 返回非零退出状态 128
问题描述
我是嵌入式编程的初学者,并试图建立一个工作流程,将代码大小自动放入数据库并与以前的版本进行比较。Github 上的初学者显然也是如此。我正在尝试一个由 Github Action 调用的 python 脚本。
所以这里是行动:
- name: Stamp revision
working-directory: cobrax
continue-on-error: True
run: |
pip install psycopg2-binary
pip install click
pip install prettytable
python3 codesizes.py stamp build/zephyr/zephyr.elf
这是python代码中有问题的行,我正在尝试获取父版本:
revision = subprocess.check_output(
["git", "rev-parse", "{}".format(revision)], encoding="UTF-8"
).strip()
parent_revision = subprocess.check_output(
["git", "rev-parse", "{}^1".format(revision)], encoding="UTF-8"
).strip()
现在,对于完美工作的修订。但是,仅仅因为父版本的“^1”,我不断从 github 操作中收到以下错误消息:
subprocess.CalledProcessError: Command '...' returned non-zero exit status 128
所以,我尝试了一些事情,特别是:
["git", "rev-parse", "{}^".format(revision)], encoding="UTF-8"
).strip()
["git", "rev-list", "--parents", "-n", "1", revision, "|", "cut", "-d'", "'", "-f2-"], encoding="UTF-8"
但是,错误来自其他地方。由于我是初学者,我希望有人能向我解释一下,因为这显然是 github 操作的虚拟环境,因为在我的 ubuntu VM 上我没有这个问题。
谢谢您的帮助。
解决方案
经过一些研究,事实证明我使用的操作/checkout@v2 默认为浅的 --depth=1 克隆。这允许我使用 HEAD 但不是HEAD^
我的工作流程配置如下:
- name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 2
一切正常!
推荐阅读
- filter - Lua在表格中添加和过滤项目
- spring - ClassCastException:GenericApplicationContext 不能转换为 org.springframework.web.context.WebApplicationContext
- ruby-on-rails - 无效的命令乘客解析文档根目录中的符号链接
- node.js - Socket.io:2 个 RN 客户端只能以一种方式聊天
- javascript - 使用包含数组信息的传单添加折线
- javascript - scrollIntoView 在 IOS 中不起作用 - javascript
- python - 如何在 Python 中合并多个具有不同表格列的 Excel 工作表?
- spring-webflux - Spring webflux过滤器:查询执行后如何获取reactor上下文?
- macos - 无法在 Spring 工具套件中添加 Pivotal Server
- linux - 链接多个 epoll 实例