Github 设置Weblate以创建拉取请求

Github 设置Weblate以创建拉取请求,github,weblate,Github,Weblate,我想使用Weblate来帮助在GitHub上开发的开源项目的本地化。我没有对维护人员的存储库的写访问权限,必须提交请求以改进我所做的工作。看起来好像迟到了,但我不能让它工作 到目前为止我所做的: 运行Weblate 3.4(在Docker容器中)并为GitHub访问设置SSH密钥 将Docker环境变量WEBLATE\u GITHUB\u USERNAME设置为my GITHUB USERNAME 在Docker容器中打开一个shell会话并运行hub clone octocat/Spoon K

我想使用Weblate来帮助在GitHub上开发的开源项目的本地化。我没有对维护人员的存储库的写访问权限,必须提交请求以改进我所做的工作。看起来好像迟到了,但我不能让它工作

到目前为止我所做的:

  • 运行Weblate 3.4(在Docker容器中)并为GitHub访问设置SSH密钥
  • 将Docker环境变量WEBLATE\u GITHUB\u USERNAME设置为my GITHUB USERNAME
  • 在Docker容器中打开一个shell会话并运行
    hub clone octocat/Spoon Knife
    (作为
    root
    weblate
    用户;这要求输入用户名和密码,并克隆存储库;重新启动Docker容器后,令牌仍在那里)
  • 设置Weblate项目
  • 在项目中设置组件。
    • 源代码存储库=上游GitHub repo(git@github.com:维修人员/回购)
    • 存储库分支=主
    • Repository push URL=my forked GitHub repo(git@github.com:我/回购)
    • 版本控制系统:GitHub(编辑:于2019年2月10日添加)
  • 编辑(2019年2月10日): 在发现创建组件时必须将“GitHub”指定为版本控制系统后,Weblate现在尝试将更改推送到fork并创建一个pull请求。集线器工具的身份验证不起作用。当我在存储库维护中单击“推送”时,我得到一个错误。堆栈跟踪中的某个位置存在以下错误:

    “github.com用户名:github.com的密码(从未存储):”
    '分叉存储库时出错:未经授权(HTTP 401)\n需要身份验证'
    


    我强烈怀疑Python无法打开
    ~/.config/hub
    。这个文件肯定存在。也许这与Python是如何解决的有关?

    我自己已经弄明白了:

    问题是当Weblate调用GitHub程序时,“~/.config/hub”被解析为“/root/.config/hub”。但是,用户Weblate按原样运行,因此它无法访问根目录的主目录


    我通过将“/home/weblate/.config/hub”硬编码为hub配置文件的位置,并确保在该位置创建配置文件,解决了这个问题。

    Hi!您能描述一下您是如何硬编码配置文件位置的吗?这是否涉及修改Weblate的某些方面?(编辑:我想我在这里看到了…)是的,您找到了正确的存储库。但是,不再需要该修补程序,因为Weblate 3.9在Docker容器中作为非root运行,因此从/home/Weblate/.config/hub读取hub配置。