Github 个动作,gradle。 git 日志的漂亮=格式标志不起作用

Github actions, gradle. pretty=format flag for git log is not working

我在使用 Github 的操作时遇到了一个奇怪的问题。我有一个 Gradle 任务,可以将发行说明打印到文件中(它在本地工作得很好)。但是使用 GitHub 操作似乎我不能对 git log 使用 –pretty=format: 标志。由于未知原因,它不打印任何内容。当我删除此标志或将其设置为不带引号的内容时,它会起作用。也许是转义这些字符的问题?尽管如此,还是超级奇怪。

不,这不是 fetch-depth 的问题。设置为0,历史是正确的。

当我 运行 那样时(在 Gradle 任务之外):

    run: |-
      git log develop --no-merges --date=short --pretty=format:"%ad %an: %s" v1.0.0...HEAD

它也有效。它仅不适用于 Github 操作中的 Gradle 任务。

示例运行: https://github.com/JakubMosakowski/ItemistEvolved/actions/runs/350396754

有很多类似的运行,因为我正在尽一切努力检查问题出在哪里。

更准确地说。 Gradle 任务中的这个命令确实有效:

printf("git log develop --no-merges --date=short --pretty=oneline ${tag}...HEAD".execute().text.trim())

但事实并非如此:

printf("git log develop --no-merges --date=short --pretty=\"%ad %an: %s\" ${getNewestTag()}...HEAD".execute().text.trim())

将我的跑步者从 Linux 更改为 windows 后它开始工作(本地我使用 windows)。

我假设 Linux runnable 对转义字符的处理方式不同。当我在命令中放置 " 或 % 符号时,它可能会以错误结束。