跳转到主要内容

检查未提交的Git更改以在持续集成过程中识别过时的生成内容

项目描述

PyPI Python Versions Build Status License

check_uncommitted_git_changes

check_uncommitted_git_changes 是一个命令行工具,用于检查未提交的Git更改,以在持续集成过程中识别过时的生成内容。

问题

虽然生成的代码通常不应该提交,但在某些情况下是有意义的,例如包含从源代码派生出的翻译的 *.po 文件。

开发者可能会更改底层源代码,但忘记生成从它派生出的文件。这会给下一个想要在实现单独任务时翻译消息的开发者带来麻烦,他们不得不以某种方式处理过时的内容。

解决方案

如果您的项目使用持续集成,您可以使用它来运行代码生成器。理想情况下,它们将生成已提交到存储库的相同代码。

然而,如果开发人员忘记提交最新的生成代码,代码生成器将生成略微不同的代码,例如可以使用以下方式查看

git status

在生成器运行后调用 check_uncommitted_git_changes 可以检查此类更改。如果没有发现更改,其退出代码为 0,持续集成可以继续。如果找到更改,则退出代码为 1,持续集成失败。

用法

根据您如何管理 Python 包,使用相应命令将 check_uncommitted_git_changes 添加到您的项目中。

对于 poetry,运行

poetry add --dev check_uncommitted_git_changes

对于 setuptools,运行

pip install --upgrade check_uncommitted_git_changes

或将其添加到您的 *requirements.txt 中。

以下示例概述了一个 GitHub 动作 步骤,首先收集 Django 项目的所有已翻译消息,然后检查它们是否与存储库中找到的版本不同

...
jobs:
  build:
    ...
    steps:
      ...
      - name: Check that translations are up to date
        run: |
          python manage.py makemessages --all --ignore venv --no-location --no-obsolete
          check_uncommitted_git_changes

相同的原理可以应用于 其他持续集成平台

许可协议

Check_uncommitted_git_changes 是开源的,并遵循 BSD 许可证。源代码可在 https://github.com/roskakori/check_uncommitted_git_changes 获取。

变更历史

请参阅 "CHANGES"。

开发和贡献

有关如何构建项目以及如何贡献的信息,请参阅 "CONTRIBUTING"。

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。

源代码发行版

check_uncommitted_git_changes-1.0.1.tar.gz (4.8 kB 查看哈希)

上传时间 源代码

构建发行版

check_uncommitted_git_changes-1.0.1-py3-none-any.whl (5.1 kB 查看哈希)

上传时间 Python 3

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面