We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
由于目前 docs repo 存在一些除大小写外同名的文件,所以在大小写不敏感的文件系统上为 docs repo 做贡献时不免出现一些问题。一些问题也在 PaddlePaddle/Paddle#44671 进行了陈述。
最近在 docs 中的 Pull requests 中发现有很多贡献者都是使用大小写不敏感的文件系统的,因此也会有些文件始终处于修改状态,在这种情况下 pre-commit 是无法正常工作的,在正常安装 pre-commit 后,再进行 commit 会出现下述错误:
[WARNING] Stashed changes conflicted with hook auto-fixes... Rolling back fixes... An unexpected error has occurred: CalledProcessError: command: ('/opt/homebrew/bin/git', '-c', 'core.autocrlf=false', 'apply', '--whitespace=nowarn', '/Users/username/.cache/pre-commit/patch1660543009-36147') return code: 1 expected return code: 0 stdout: (none) stderr: error: 打补丁失败:docs/api/paddle/vision/models/AlexNet_cn.rst:1 error: docs/api/paddle/vision/models/AlexNet_cn.rst:补丁未应用 error: 打补丁失败:docs/api/paddle/vision/models/GoogLeNet_cn.rst:1 error: docs/api/paddle/vision/models/GoogLeNet_cn.rst:补丁未应用 Check the log at /Users/username/.cache/pre-commit/pre-commit.log
结果 pre-commit 的修复也是无法起作用的。
而 #4973 添加了一个自动在中英文之间添加空格的 hook,如果自己手动添加空格是非常麻烦的,很容易有所疏漏,因此贡献者如果不安装 pre-commit 就很容易被 CI 的代码风格检查卡住。而很多贡献者因为本地文件系统大小写不敏感,安装 pre-commit 后 commit 时会出错,不仅自动修复无法生效,而且连 commit 都不行……
正常安装并应用 pre-commit 有两步,第一步全局安装工具 pre-commit
pre-commit
pip install pre-commit==2.17.0
第二步是在相应项目里注册 git hook
pre-commit install
注意第二步是在每个 repo 里都要运行的,比如 Paddle repo 和 docs repo 第二步是都要各自运行一次的。
对于存在大小写不敏感文件系统导致的问题的贡献者,暂时不要在 docs repo 运行第二步,也就是不要在 docs repo 里注册 git hook,以免自动执行 pre-commit 导致的失败。取而代之的是手动逐个为所有有改动的文件运行 pre-commit:
pre-commit run --files <filename>
<filename> 替换成需要修复的文件路径即可
<filename>
Note 如果之前已经在 docs 项目里安装了 pre-commit(注册了 hook),那么只需要 pre-commit uninstall 即可移除注册的 hook
Note
如果之前已经在 docs 项目里安装了 pre-commit(注册了 hook),那么只需要 pre-commit uninstall 即可移除注册的 hook
pre-commit uninstall
本方法仅仅是一个临时解决方案,将来 PaddlePaddle/Paddle#44671 提到的问题解决后直接按照正常步骤安装 pre-commit 即可(就前面所说的第一步 + 第二步)
The text was updated successfully, but these errors were encountered:
应该已经被 #5174 解决,之后可直接按上述正常步骤使用 pre-commit 即可,无需手动执行
Sorry, something went wrong.
No branches or pull requests
ฅ 问题描述 ฅ
由于目前 docs repo 存在一些除大小写外同名的文件,所以在大小写不敏感的文件系统上为 docs repo 做贡献时不免出现一些问题。一些问题也在 PaddlePaddle/Paddle#44671 进行了陈述。
最近在 docs 中的 Pull requests 中发现有很多贡献者都是使用大小写不敏感的文件系统的,因此也会有些文件始终处于修改状态,在这种情况下 pre-commit 是无法正常工作的,在正常安装 pre-commit 后,再进行 commit 会出现下述错误:
结果 pre-commit 的修复也是无法起作用的。
而 #4973 添加了一个自动在中英文之间添加空格的 hook,如果自己手动添加空格是非常麻烦的,很容易有所疏漏,因此贡献者如果不安装 pre-commit 就很容易被 CI 的代码风格检查卡住。而很多贡献者因为本地文件系统大小写不敏感,安装 pre-commit 后 commit 时会出错,不仅自动修复无法生效,而且连 commit 都不行……
ฅ 解决方案 ฅ
正常安装并应用 pre-commit 有两步,第一步全局安装工具
pre-commit
第二步是在相应项目里注册 git hook
注意第二步是在每个 repo 里都要运行的,比如 Paddle repo 和 docs repo 第二步是都要各自运行一次的。
对于存在大小写不敏感文件系统导致的问题的贡献者,暂时不要在 docs repo 运行第二步,也就是不要在 docs repo 里注册 git hook,以免自动执行 pre-commit 导致的失败。取而代之的是手动逐个为所有有改动的文件运行 pre-commit:
<filename>
替换成需要修复的文件路径即可ฅ 其他 ฅ
本方法仅仅是一个临时解决方案,将来 PaddlePaddle/Paddle#44671 提到的问题解决后直接按照正常步骤安装 pre-commit 即可(就前面所说的第一步 + 第二步)
The text was updated successfully, but these errors were encountered: