我想使用 Weblate 来帮助对在 GitHub 上开发的开源项目进行本地化。我没有对维护者的存储库的写入权限,并且必须提交拉取请求以进行我所做的改进。看起来 Weblate支持创建拉取请求,但我无法让它工作。
到目前为止我所做的:
- 运行 Weblate 3.4(在 Docker 容器中)并设置 SSH 密钥以访问 GitHub。
- 将 Docker 环境变量 WEBLATE_GITHUB_USERNAME 设置为我的 GitHub 用户名。
- 在 Docker 容器中打开一个 shell 会话并运行
hub clone octocat/Spoon-Knife
(作为root
和weblate
用户;这要求用户名和密码并克隆存储库;在我重新启动 Docker 容器后令牌仍然存在) - 设置一个 Weblate 项目。
- 在项目中设置组件。
- 源代码存储库 = 上游 GitHub 存储库 (git@github.com:maintainer/repo)
- 存储库分支 = master
- 存储库推送 URL = 我的分叉 GitHub 存储库 (git@github.com:me/repo)
- 版本控制系统:GitHub (编辑:2019 年 2 月 10 日添加)
编辑(2019 年 2 月 10 日): 在发现您必须在创建组件时将“GitHub”指定为版本控制系统后,Weblate 现在尝试将更改推送到 fork 并创建拉取请求。集线器工具的身份验证不起作用。当我在存储库维护中单击“推送”时,出现错误。在堆栈跟踪的某处有此错误:
'github.com username: github.com password for (never stored): '
'Error forking repository: Unauthorized (HTTP 401)\nRequires authentication'
我强烈怀疑 Python 无法打开~/.config/hub
. 该文件肯定存在。也许这与Python如何解决〜有关?